学习新东西,该怎么办?

来源:互联网 发布:淘宝买家好评率查询 编辑:程序博客网 时间: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有一点了解,无从下手的感觉好多了。

 

原创粉丝点击