我的后端开发书架2015版
原文出处: 江南白衣(@江南白衣Calvin) 小学生作文的开头:光阴似箭,日月如梭…..半年过去了,床底下又多了不少书,更新一个2.0版。 自从技术书的书架设定为”床底下“之后,又多了很多买书的空间。中国什么都贵,就是书便宜。 很多书没有全部看完,看一部分觉得值得推荐就放上来了,但在碎片化的阅读下难免错评,不定期更新修正。 书架主要针对Java后端开发。 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录。 操作系统与网络的书 《Linux内核设计与实现 – Linux Kernel Development 第3版》 Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了,比《深入理解Linux内核》,《深入Linux内核架构》之类厚厚的全是代码的,不是专门的内核程序员看这本足够了。 《Linux系统编程 第2版》 继续是Robert Love,比起APUE也是以薄见长,专门针对重要的系统调用讲解。 《性能之巅》 操作系统的性能调优、监控、工具和方法论,看这本就够了,足够厚。还有本薄一点的,东抄西编格调没那么高的叫《Linux性能优化大师》。 《TCP/IP详解 卷1:协议》 这么多年过去了,TCP的书好像还是只有这一本,有点旧了,看了也还是半懂不懂。后人在2011年写了第二版,看目录清晰明了与时俱进了很多,机械工业正在翻译。 《现代操作系统 第3版》 如果看LKD未尽兴,可以回头看看这本基础概念,感觉比那本枯燥的《操作系统概念》(恐龙书)读起来舒服。 PS. 《UNIX环境高级编程》和《UNIX网络编程》,APUE和UNP更多作为一本超厚工具书存在。《Unix 编程艺术》,扯的都是闲篇,厚厚的一本其实略读一下就行。 算法的书 《数据结构与算法分析-Java语言描述 第2版》 够薄,数据结构与算法分析的点基本都涵盖了,而且示例代码还是Java写的。 《算法 第4版》 可与上一本对比着读,厚一些,也多些图,但知识点没上面的全,也是Java的。 《算法设计与分析基础 第3版》 数学系偏爱无比枯燥很多公式的《算法导论》, 计算机系喜欢这本实用主义的典型。翻开就看到一段很文艺很贴心的话:“效率能用数学的严密性进行精确定义,而简单性就像“美”一样,很大程度取决于审视者 的眼光。简单的算法更容易理解和实现,因而相应的程序也往往更少的Bug。当然对于简单性的美学诉求也是让人无法抗拒的。” PS. 《数学之美》、《编程珠玑》,都是专栏文章,讲得并不系统,可以当兴趣读物来看。 架构设计的书 《恰如其分的软件架构 – 风险驱动的设计方法》 由于人类与生俱来的惰性,计算机原本科学的、精准的设计方式,有了敏捷的借口之后就很难再维持了。本书就是在这种背景下,提出由风险来决定设计的度,当然,这个风险是广义的。除了开始的风险驱动部分,其余部分就是规规矩矩标标准准的架构师教科书。 《软件系统架构:使用视点和视角与利益相关者合作 第2版》 也是教科书,最难得的是,这本老书在十年后的去年升级了第二版。 《程序员必读之软件架构 – Software Architecture for Developers》 作者维护着codingthearchitecture.com 。不过中文书名叫“必读”有点过。薄书里的两部分内容: 编码的架构师:一直是我的职业模板,我记的笔记。 架构的表达: 当年我觉得RUP的4+1 UML视图不足以表达系统时,Simon Brown的模板给了很好的过渡范例。 《发布!软件的设计与部署 – Release It!: Design and Deploy Production-Ready Software 》 关于高可靠性的软件,学校里不会教,出来社会却要面对的那部分,英文的原标题更清晰。 ...