毕总结一下自己的技术路线:
[ubuntu]:
2007年,在学校大四的的时候,开始接触Linux. 那时想装Redhat, 在网上查找linux版本时,看到大家都在介绍ubuntu, 于是下载了一份ISO文件,刻盘,在自已的电脑上装上了双系统;但是那时只是为了新鲜,没有什么特定目的。这一用就是6年。从不习惯,到爱不释手,到得心应手;
[shell]:
装上Linux系统,也没有什么特别的事情可以做。于是就开始鼓捣shell. 学着写一些脚本。但是因为没有特别的实际需求,也就是写过一些简单的脚本。太复杂的也没有写过。对于shell的水平,只能用初级来形容;
[python]:
python的学习,纯粹是为了工作中,为了简化一些重复的工作才学习的。那时候,客户的状态报表同我负责整理。成天在word/excel中复制,粘贴。为了不再让这种工作折磨我,于是尝试研究了python对于word,excel的访问。做了一个初步版本,将word中的内容提取出来,并按照一定顺序排列。简化了不少工作。不过,后来,我也没有负责整理状态了,于是也就没有什么改善了。同时,python的学习也就中断了一段时间。不过,现在又捡起来了,最近也一直在重新学习。主要是想体会一下面向对象的编程思想;
[嵌入式]:
openBISO,busybox, uboot,vlc等开源项目的学习。因为都跟工作比较相关,所以进行了一些研究。对于整个嵌入式开发有了整体的了解!其中对于vlc的学习是一直想深入的,其中的audio/vedio部分是跟工作特别相关的。但是总没有很深入下去。这可能是因为一个人学习总是很难一直坚持下去的原因吧!
[UML]:
因为一直想成为技术大牛,虽然工作中没有用到,但是我还是特别想学习一下UML。一是为了项目管理方便,一是为了提高自已的系统设计能力。所在的公司,整个系统源码接近1G,如果没有整体的了解,没有框架的帮助,想要熟悉系统将是一件非常艰难的事情。但是想到用上UML,也不是那么好上手的。我尝试着将PVR模块用UML类图表现出来,结果却又因为太复杂,对于UML也是一知半解,最后不了了知。真不知道是否还要继续学习下去。公司也没有人跟我一起讨论;
[C, OOC]:
这是我的工作语言。所以,算是所有知识结构中掌握最多的了。在嵌入式系统中你可以见证C的强大。但是软件并不是你对语言本身熟悉就可以写好的,业务流程也很重要。整体架构能力也不可或缺。于是OOC,也是我想深入了解的。正好,同时在学习的python,本身底层也是用C实现的,并且有cpython的模块。正好有个相互参考。思想是最重要的,语言是你的工具,两者的结合才能写出好的程序;
[ Makefile]:
这个是在看公司的代码时学习的。对于shell及linux command的学习相辅相成。对于整个Makefile的理解还是比较深入的。读懂一个项目的Makefile是完全没有问题的,但是说要手动构建一个,并且高效的makefile来说,还是一件困难的事情。
[DVB, SI/PSI, Nimdrv, PVR]:
我所在的公司是做数字媒体广播的,所以对于DVB,SI/PSI, 前端,PVR等接触是最多的。这是属于行业的专业知识。所以,不多介绍。必须掌握的,不然,不用混了。研究VLC,也是因为这个工作的原因;
[datastruct]:
让我一直耿耿于怀的是,在大学里没有体系的学过数据结构,编译原理。导致现在基础不牢,提高不快。但是现在,看着枯燥的书,完全没有感觉。于是这部分一直是我的短板。我想要补上去,还是需要一番努力的。相信我是可以的; 同时,<程序员的自我修养>也在慢慢学习中;
[杂项]:
有时候学的很迷茫,想找到志同道合者,于是便经常去逛chinaunix fourm, csdn, cnblog这些论坛或博客网站。看到很多高手,同时也学到很多东西。 国内的网站,有时候解决不了的,就上国外的。经常去的问答网站overstack是个不错的地方,好多问题都可以解决了。
经常在网上,看到很多少吐槽,说什么程序员没有前途,吃青春饭。不可否认,国内浮躁的行业环境对于程序员的成长是一个很不好的影响。但是也要看到,还是有很多高手的,没有见过他们常在人面前抱怨什么。其实,技术这东西,只要你踏踏实实学,没有什么不可解决的问题的。反倒是技术之外的东西是比较难处理的。所以,在此自勉,希望自已能够深入下去,运用之妙,存乎一心。 要享受这种乐趣!