学习新东西,该怎么办?
来源:互联网 发布:淘宝买家好评率查询 编辑:程序博客网 时间:2024/06/08 03:31
各行各业,尤其是IT行业,需要不断学习掌握新技术,新方法,保持竞争力,逆水行舟,不进则退。
是否存在某些方法、技巧、规律,可以使学习更有效。
- 多数的东西,已经有很多人做过,上网查一些文章,请教有经验的同事,掌握大概过程,大概方向,避免走弯路。
- 比较法,手头有一个好用的版本,出什么问题了,对比,找区别。
- 正面突破,不明白的地方,一个一个整明白。看代码,从代码入口开始看,过一遍相关的代码,一点一点理解。比较耗时,会明白很多不需要明白的细节。
- 总结,记流程图,记blog,记各种。好记性不如烂笔头。总结过程也是提高过程。总结好,东西才能积累住不丢。
- 由点到面,从几个log入手,找到点,再找出它们的调用关系,连成线,最后连成面。这是一种切入的方法。
也不是很好的几个例子:
nand驱动bug,项目用的2416核心板,使用了新的nand flash芯片,头修改了id,pagesize等,读写还是ECC失败。
因为对nand不了解,我采取了正面突破的方法。nand芯片手册翻了好几遍,CPU手册上的flash controller也看了几遍,代码也一个函数一个函数抠。默默唧唧两周还没什么进展。了解了nand驱动初始化,读写一些流程。有7年工作经验的同事,则采用了上网查nand驱动移植相关修改的方法。迅速定位到因为page增大,ecc layout中的ecc字节数需要增加一倍。一两天就解决了。我的正面突破策略没有方向,是没有进展的原因之一。
烧写uboot,详见“用uboot烧写uboot”,“调查uboot”。当时以为没有办法烧写了,以学习为目的,上网找了uboot资料,然后从代码入口一点一点看,正面突破。结果发现一个小问题,很容易就烧写了uboot。
升级内核,详见“移植linux kernel”,头让我来升级内核,我对比着修改config,好几天,控制台也没有成功输出,头着急,自己出手了,很快搞定。我问头都改啥,头说要改的我也改了,为啥我改的就不行呢?后来我自己用比较法试了三天,终于发现,原来是串口驱动没有选对,内核已经可以执行了,就是控制台看不到。之前照着改好几天没成功,用的是撞大运法,瞅着应该改的地方就改改,运气不好就卡在那了,彻底的比较法能保证解决问题。
调查ppp-2.4.5,本来对PPP协议不了解,无从下手。但是工作中遇到了这个问题,而且运行pppd还有一点log。正好先看看这些log都是哪里打印出来的,这是切入点,然后找到它们的调用关系。渐渐就对ppp-2.4.5有一点了解,无从下手的感觉好多了。
- 学习新东西,该怎么办?
- 该学习的东西
- 学习新的东西
- 新东西的学习
- 如何学习一个新东西
- 学习新东西前奏篇
- 学习了一种新东西
- 学习新东西的动力
- 每天学习一点新东西
- 该怎么办
- 该怎么办?
- 一个程序员该学习的东西
- Android开发该学习哪些东西?
- IT的2017,面临数字生态系统新挑战,该怎么办?
- Ansible配置100个新IP节点该怎么办?
- C++11新东西学习(持续更新)
- 学习新东西的基本套路
- 学习新东西的4步
- 毕设-02.16 搭建Eclipse开发环境,建立vlc源码的工程
- Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=
- 多种查看网页http header信息的方法
- C# 命名规则(匈牙利命名法)
- sizeof strlen() char * char []
- 学习新东西,该怎么办?
- CAS-条件接收系统
- Scoket API介绍
- java jsp+servlet实现登录网页设计
- Mysql 创建用户并只访问指定数据库
- python对XML文档的良构性和有效性验证
- 后缀数组
- 跟我一起学摄影
- Android音量调节的实现(RingtoneManager和RingerVolumePreference)