7. 没有覆盖到的内容

最后更新于:2022-04-01 04:36:54

数据库如MySQL,我们DBA太专业,自己没机会搞。 欢迎大家在评论里补充。 文章持续修订,转载请保留原链接: [http://calvin1978.blogcn.com/articles/bookshelf.html](http://calvin1978.blogcn.com/articles/bookshelf.html) [![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-10-29_5631c0388583f.jpg)](http://files.blogcn.com/wp02/M00/08/78/CpAZrVVAKWcAAAAAAAf04HDmFog174.jpg)
';

6. 程序员的自我修养

最后更新于:2022-04-01 04:36:51

PS. 最近没买什么新书,随便说点旧书: [《程序员修炼之道-从小工到专家》](http://book.douban.com/subject/1152111/),Pragmatic Programmer-注重实效的程序员开山之作,翻译的马达维文笔也和熊节一样好。 [《代码整洁之道》](http://book.douban.com/subject/4199741/)和 [《程序员的职业素养》](http://book.douban.com/subject/11614538/),英文名是很相近的《Clean Code》和 《Clean Coder》,应该接替[《代码大全2》](http://book.douban.com/subject/1951158/)成为必看的系列,因为后者太厚了,而且也有不少过时的东西,要自己去过滤。 [《重构》](http://book.douban.com/subject/4262627/)很厚,但最有价值就是前面几章的洗脑篇,具体实作不如薄薄的[《重构手册》](http://book.douban.com/subject/1173730/)。 关于敏捷的书,最开始的那本[《解析极限编程--拥抱变化》](http://book.douban.com/subject/1790225/)就很好,再随便找本Scrum的流程看看就够了,[《敏捷开发的艺术》](http://book.douban.com/subject/4037534/)也不错。 [《布道之道 - Driving Technical Change:Why People on Your Team Don't Act on Good Ideas,and How to Convince Them They Should》](http://book.douban.com/subject/6990284/),经常在组织里推行新技术的同学可以看下,七种怀疑论者模式,脑海中一幅幅熟悉的面孔。 PS. 温伯格的书网上很推崇,《成为技术领导者》之类的,但我觉得年代太远,读起来其实没多大意思,一两个鸡汤观点还要自己从书里慢慢淘,有那功夫不如看点别的。
';

5. 具体技术的书

最后更新于:2022-04-01 04:36:49

[《Docker: 容器与容器云》](http://book.douban.com/subject/26593175/) 这本书叫Docker一本就够了,的确够了,在那些Docker操作指南书之上,不想着改Docker代码的看它就够了,别想着什么《Docker源码分析》。 [《Redis设计与实现》](http://book.douban.com/subject/25900156/) 用Redis的工程师桌面必备吧,不用再多说了。 [《从Paxos到Zookeeper》](http://book.douban.com/subject/26292004/) Zookeeper的书,淘宝出品。 [《Spark技术内幕》](http://book.douban.com/subject/26649141/) 深度与厚度之间,选了这本200页的薄书,一样有很多的原理与代码解释,但不会像有的书那样贴20行代码只写一行字。 [《Netty权威指南 第2版》](http://book.douban.com/subject/26373138/) 虽然网上的吐槽较多,但Netty 快速入门也只有这一本了。
';

4. 语言的书

最后更新于:2022-04-01 04:36:47

[《Java并发编程实战》](http://book.douban.com/subject/10484692/) 人手一本不用多说了。 [《深入理解 Java 虚拟机 第2版》](http://book.douban.com/subject/24722612/) 深入理解虚拟机并不是那么难,Java程序员都该看看,很多知识其实是必须的。另外还有几本类似主题的,忽然一下子都出来了。 [《Java性能优化权威指南》](http://book.douban.com/subject/25828043/) 虽然后面的章节好像用处不大,前面有些部分还是值得看,不过Gosling说圣经有点过了。 [《写给大忙人看的Java SE 8》](http://book.douban.com/subject/26274206/) 事实上,为了保持兼容性,很多项目还保持在JDK5/6上,这本书一次过将JDK7/JDK8的更新讲了,虽然讲得还不全。 [《函数式编程思维》](http://book.douban.com/subject/26587213/) Java8终于有函数式的影子了,不要落后太多,开始尝试跟上节奏。这本书是TW的Neal Ford面向Java程序员写的薄书。 [《七周七语言》](http://book.douban.com/subject/10555435/) 《七周七X》系列的开山之作,可能也是最好的一本。 PS. [《Effective Java》](http://book.douban.com/subject/3360807/)外界一致推崇,但有点太过誉了。另外[《Thinking in Java》](http://book.douban.com/subject/2130190/)有点旧了,而且作者思路随意,译者语言晦涩,新程序员还是建议同时再看两卷[《Java核心技术 - Core Java》](http://book.douban.com/subject/3146174/)。
';

3. 架构设计的书

最后更新于:2022-04-01 04:36:45

[《恰如其分的软件架构 - 风险驱动的设计方法》](http://book.douban.com/subject/24872314/) 由于人类与生俱来的惰性,计算机原本科学的、精准的设计方式,有了敏捷的借口之后就很难再维持了。本书就是在这种背景下,提出由风险来决定设计的度,当然,这个风险是广义的。除了开始的风险驱动部分,其余部分就是规规矩矩标标准准的架构师教科书。 [《软件系统架构:使用视点和视角与利益相关者合作 第2版》](http://book.douban.com/subject/24530471/) 也是教科书,最难得的是,这本老书在十年后的去年升级了第二版。 [《程序员必读之软件架构 - Software Architecture for Developers》](http://book.douban.com/subject/26248182/) 作者维护着[codingthearchitecture.com](http://codingthearchitecture.com/) 。不过中文书名叫“必读”有点过。薄书里的两部分内容: 1\. 编码的架构师:一直是我的职业模板,[我记的笔记](http://calvin1978.blogcn.com/articles/software-architecture-for-developers.html)。 2\. 架构的表达: 当年我觉得RUP的4+1 UML视图不足以表达系统时,Simon Brown的模板给了很好的过渡范例。 [《发布!软件的设计与部署 - Release It!: Design and Deploy Production-Ready Software 》](http://book.douban.com/subject/26304417/) 关于高可靠性的软件,学校里不会教,出来社会却要面对的那部分,英文的原标题更清晰。 [《大型网站技术架构:核心原理与案例分析》](http://book.douban.com/subject/25723064/) 淘宝出品,大型互联网站的科普入门书。 [《大规模分布式存储系统》](http://book.douban.com/subject/25723658/) 继续淘宝出品,分布式文件系统与数据库的科普入门书。 [《大数据日知录》](http://book.douban.com/subject/25984046/) 前几年参加各种技术会议,CAP,最终一致性,RWN,向量时钟,Paxos,一致性哈希,Gossip什么的能灌你一耳朵。而现在,你只要在家安安静静的看书就够了。不过这个领域发展太快,期望它可以持续出新版。 PS. 关于设计模式,我以前曾经有过很多很多本,GOF23啦,企业应用架构模式啦,EIP啦, POSA 5卷本啦,反模式啦,JavaEE/SOA/Restful的模式啦。但现在觉得对新人来说,一本Java写的[《Head First 设计模式》](http://book.douban.com/subject/2243615/),知道什么叫设计模式就够了。
';

2. 算法的书

最后更新于:2022-04-01 04:36:42

[《数据结构与算法分析-Java语言描述 第2版》](http://book.douban.com/subject/3351237/) 够薄,数据结构与算法分析的点基本都涵盖了,而且示例代码还是Java写的。 [《算法 第4版》](http://book.douban.com/subject/10432347/) 可与上一本对比着读,厚一些,也多些图,但知识点没上面的全,也是Java的。 [《算法设计与分析基础 第3版》](http://book.douban.com/subject/26337727/) 数学系偏爱无比枯燥很多公式的[《算法导论》](http://book.douban.com/subject/20432061),计算机系喜欢这本实用主义的典型。翻开就看到一段很文艺很贴心的话:“效率能用数学的严密性进行精确定义,而简单性就像“美”一样,很大程度取决于审视者的眼光。简单的算法更容易理解和实现,因而相应的程序也往往更少的Bug。当然对于简单性的美学诉求也是让人无法抗拒的。” PS. [《数学之美》](http://book.douban.com/subject/26163454/)、[《编程珠玑》](http://book.douban.com/subject/26302533/),都是专栏文章,讲得并不系统,可以当兴趣读物来看。
';

1. 操作系统与网络的书

最后更新于:2022-04-01 04:36:40

[《Linux内核设计与实现 - Linux Kernel Development 第3版》](http://book.douban.com/subject/6097773/) Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了,比[《深入理解Linux内核》](http://book.douban.com/subject/2287506/),[《深入Linux内核架构》](http://book.douban.com/subject/4843567/)之类厚厚的全是代码的,不是专门的内核程序员看这本足够了。 [《Linux系统编程 第2版》](http://book.douban.com/subject/25828773/) 继续是Robert Love,比起APUE也是以薄见长,专门针对重要的系统调用讲解。 [《性能之巅》](http://book.douban.com/subject/26586598/) 操作系统的性能调优、监控、工具和方法论,看这本就够了,足够厚。还有本薄一点的,东抄西编格调没那么高的叫[《Linux性能优化大师》](http://book.douban.com/subject/26577870/)。 [《TCP/IP详解 卷1:协议》](http://book.douban.com/subject/1088054/) 这么多年过去了,TCP的书好像还是只有这一本,有点旧了,看了也还是半懂不懂。后人在2011年写了[第二版](http://book.douban.com/subject/10742272/),看目录清晰明了与时俱进了很多,机械工业正在翻译。 [《现代操作系统 第3版》](http://book.douban.com/subject/3852290/) 如果看LKD未尽兴,可以回头看看这本基础概念,感觉比那本枯燥的[《操作系统概念》](http://book.douban.com/subject/4289836/)(恐龙书)读起来舒服。 PS. [《UNIX环境高级编程》](http://book.douban.com/subject/25900403/)和[《UNIX网络编程》](http://book.douban.com/subject/1500149/),APUE和UNP更多作为一本超厚工具书存在。[《Unix 编程艺术》](http://book.douban.com/subject/1467587/),扯的都是闲篇,厚厚的一本其实略读一下就行。
';

前言

最后更新于:2022-04-01 04:36:38

> 原文出处:http://calvin1978.blogcn.com/articles/2015/10 --小学生作文的开头:光阴似箭,日月如梭.....半年过去了,床底下又多了不少书,更新一个2.0版。 自从技术书的书架设定为”床底下“之后,又多了很多买书的空间。中国什么都贵,就是书便宜。 很多书没有全部看完,看一部分觉得值得推荐就放上来了,但在碎片化的阅读下难免错评,不定期更新修正。 书架主要针对Java后端开发。 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录。
';