Linux平台开发技术指南
以下技术和工具是Linux平台下工作的基础,熟练掌握:
C++
工作语言,重要性不言而喻;
入门:
《C++ Primer》http://book.douban.com/subject/1767741/
《Effective C++》http://book.douban.com/subject/1842426/
本部门主要还是应用开发,对技术的要求不是很高,熟练掌握C++,可应对日常工作。
若有兴趣在C++方向有所收获,有所沉淀,还是有很多好书等待阅读:
提高:
《STL源码剖析》http://book.douban.com/subject/1110934/
《Effective STL》http://book.douban.com/subject/1456960/
我们的代码中,STL用得不少,容器方面主要是vector和map,算法方面比较琐碎
《设计模式精解》http://book.douban.com/subject/1219912/
我的设计模式之路是从这本书入门的,几个实例就解释模式的用法,以及为什么要用模式(这个可能更重要),不过全书也就讲了10来个模式,意犹未尽。对设计模式感兴趣、初学者推荐;
《设计模式》http://book.douban.com/subject/2111801/
这本应该是该领域的圣经了,没有全部看完。虽说经典,但一页一页的翻完,还真要点耐性。不像老外写书的风格,这本书看的很累(个人观点)。我认为在对大部分模式都有一定的了解后再来看这本书,会找到很多兴趣点。
Vim
Unix系统人气最高的编辑器之一;平时工作都是远程ssh登录到服务器操作;文本编辑工作必不可少,可根据个人喜好在Vi或Emacs中选择一个熟练应用;
Vi入门:推荐 #VIM入门教程
makefile
在windows平台,我们不必关心每个文件之间的编译顺序、链接关系等,但到了Unix系统下,就不得不亲自动手来做这些事。掌握makefile显得非常必要。
学习makefile文章推荐:【百度搜索】跟我学习Makefile
Unix/Linux系统
作为在这一环境下工作的同学们,熟练掌握系统的重要性是不言而喻的,以下给出几本推荐读物,供参:
《鸟哥的Linux私房菜 基础学习篇》http://book.douban.com/subject/2208530/
评语 : 对于从未接触过Linux提供的同学来说,本书算是一个福音,以轻松诙谐的语言说清了常用的系统命令用法及语境; 对Linux零基础的同学,推荐
《Linux程序设计》http://book.douban.com/subject/2073826/
评语 : 写的中规中矩,算是linux下编码一本入门参考书,没有太大吸引力,如果是要在linux上深入发展的,可直接阅读《unix环境高级编程》
《UNIX编程艺术》http://book.douban.com/subject/1467587/
评语 : 个人认为最精彩的是前3章,将Unix的历史和渊源完美展现在读者眼前;本书从头到尾就是在宣传Unix的文化,阐明我们常用工具的历史及设计思想;当你在vi和emacs的选择上困惑时,在python和perl间的选择困惑时,可以参考本书,你会得到一个中肯的建议。
《UNIX环境高级编程》http://book.douban.com/subject/1788421/
评语 : 对于巨著,我一向神往,国外的作者一般都能把理论和概念讲得透彻而生动;对于本书,我的观点是:想说爱你不容易;确为经典好书,但那密密麻麻的排版格式,那一行行艰深的文字,让我一次次裹足不前。每当有技术难点,却都能在Stevens系列中找到答案。是该静下心来,好好读完它,然后常驻案边;
《UNIX网络编程 卷2》http://book.douban.com/subject/4118577/
评语 : 该书的另一名称:Unix系统IPC编程圣经
在工作中,需要用到进程间通信,以及想掌握IPC知识的,本书不可或缺;
CPPUnit
目前项目组所使用的单元测试工具;目前及今后的单元测试代码都是在CPPunit框架上构建的;
学习CPPUnix,网上搜篇介绍看下,然后查看项目组的单元测试代码实践即可。