转自: http://calvin1978.blogcn.com/articles/bookshelf16.htmlhtml
更新记录:4.0 版把第五部份-具体技术的书整块拿掉了。《TCP/IP 详解 卷 1: 协议》出到了第二版,增长《SRE:Google 运维解密》,《Java 8 实战》。程序员
更偏心那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录。
面试
《Linux 内核设计与实现 第 3 版》
Robert Love 用最薄的篇幅,顺畅的文字将 Linux 内核主要的算法讲清楚了,《深刻理解 Linux 内核》,《深刻 Linux 内核架构》之类厚厚的全是代码,不是专门的内核程序员看这本足够了。算法
《Linux 系统编程 第 2 版》
继续是 Robert Love,比起 APUE 也是以薄见长,专门针对重要的系统调用讲解。编程
《性能之巅》
操做系统的性能调优、监控、工具和方法论,看这本就够了,已经足够厚,多是书单里最厚的一本。后端
《TCP/IP 详解 卷 1: 协议》
这么多年过去了,TCP 的书好像主要仍是只有这一本,有点旧了,看了也仍是半懂不懂的。后人在 2011 年写了第二版。设计模式
《WireShark 网络分析就这么简单》和 《WireShark 网络分析的艺术》
多少人,是看了这两本轻松又实战的书,才真正理解 TCP 的细节。网络
PS:《UNIX 环境高级编程》和《UNIX 网络编程》,APUE 和 UNP 更多做为一本超厚工具书存在。《Unix 编程艺术》,扯的都是闲篇,厚厚的一本其实略读一下就行。 《现代操做系统 第 3 版》若是看 LKD 未尽兴,能够回头看看这本基础概念,感受比那本枯燥的《操做系统概念》(恐龙书)读起来舒服。数据结构
《TCP/IP 指南》 前面 wireshark 书做者的推荐,网上有英文免费版,而后有中文版的卷 1和卷 2,但可能那么多章节那么厚你只关心 TCP 和 HTTP 两部分。《HTTP 权威指南》,一样是本身从厚厚的目录里挑选感兴趣的章节来看。架构
另外,那些日本韩国人写的《图解 XXX》感受都不喜欢。
《数据结构与算法分析 - Java 语言描述 第 3 版》
够薄,数据结构与算法分析的点基本都涵盖了,并且喜欢它的示例代码是 Java 写的,新出了第 3 版。
《算法 第 4 版》
可与上一本对比着读,厚一些,也多些图,但知识点没上面的全,也是 Java 的。
PS: 《数学之美》、《编程珠玑》,都是专栏文章,讲得并不系统,能够当兴趣读物来看。
数学系偏心无比枯燥不少公式的《算法导论》, 计算机系喜欢这本实用主义的《算法设计与分析基础 第 3 版》。
《软件系统架构:使用视点和视角与利益相关者合做 第 2 版》
也是教科书,最可贵的是,这本老书在十年后的去年升级了第二版,因此感受鲜活了好多,也许是最鲜活的一本架构书。
《恰如其分的软件架构 - 风险驱动的设计方法》
因为人类与生俱来的惰性,计算机本来科学的、精准的设计方式,有了敏捷的借口以后就很难再维持了。本书就是在这种背景下,提出由风险来决定设计的度。除了开始的风险驱动部分,其他部分就是规规矩矩标标准准的架构师教科书。
《SRE:Google 运维解密》
广告词是 “地球上有这么一个团队,将运维推向极限高度”,稍嫌标题党,不少值得翻的东西。
《发布!软件的设计与部署》
关于高可靠性的软件,学校里不会教,出来社会却要面对的那部分,英文的原标题更清晰。
《大型网站技术架构: 核心原理与案例分析》
淘宝出品,大型互联网站的科普入门书。
《高扩展性网站的 50 条原则》
同是入门级读物,若是还有个高可用 50 条原则,那就齐了。
《微服务设计》
那么多微服务的书,仍是这本比较不像赚快钱的。
《大数据日知录》
前几年参加各类技术会议,CAP,最终一致性,RWN,向量时钟,Paxos,一致性哈希,Gossip 什么的能灌你一耳朵。而如今,你只要在家安安静静的看书就够了。不过这个领域发展太快,又一年过去了,指望它能够持续出新版。
PS: 关于设计模式,我之前曾经有过不少不少本,GOF 23 啦,企业应用架构模式啦,EIP 啦, POSA 5 卷本啦,反模式啦, JavaEE / SOA / Restful 的模式啦。但如今以为对新人来讲,一本 Java 写的《Head First 设计模式》,知道什么叫设计模式就够了。
《程序员必读之软件架构》做者维护着 codingthearchitecture.com 。不过中文书名叫“必读”有点过。
《Java 并发编程实战》
Java 并发经典,人手一本不用多说了。
《实战 Java 高并发程序设计》
国人新做,流畅易读,内容也比上面一原本得新。
《Java 8 实战》
Java 8 的新特性讲得最全最仔细的。
《深刻理解 Java 虚拟机 第 2 版》
理解虚拟机并非那么难,Java 程序员来讲,不少知识实际上是必须的。另外还有几本相似主题的书,突然一会儿都出来了。
《Java 性能权威指南》
比起多年前那部调优圣经,讲得更加深刻,也更加贴近如今的 JDK。能够从里面挑些知识点来,作 Java 调优的面试题。
《有效的单元测试》
不一样于那些动辄 BDD 的高深书籍,专一于如何写“好”的,可维护的单元测试,拿来给团队看,能省不少口水。
PS:《Effective Java》外界一致推崇,但有点太过誉了。另外《Thinking in Java》有点旧了,并且做者思路随意,译者语言晦涩,新程序员仍是建议同时再看两卷《Java 核心技术 - Core Java》。
PS. 最近没买什么新书,随便说点旧书:
《程序员修炼之道-从小工到专家》,Pragmatic Programmer - 注重实效的程序员开山之做,翻译的马达维文笔也和熊节同样好。
《代码整洁之道》和 《程序员的职业素养》,英文名是很相近的《Clean Code》和 《Clean Coder》,应该接替《代码大全 2》成为必看的系列,由于后者太厚了,并且也有很多过期的东西,要本身去过滤。
《重构》很厚,但最有价值就是前面几章的洗脑篇,具体实做不如薄薄的《重构手册》。
关于敏捷的书,最开始的那本《解析极限编程--拥抱变化》就很好,再随便找本 Scrum 的流程看看就够了,《敏捷开发的艺术》也不错。
《布道之道》,常常在组织里推行新技术的同窗能够看下,七种怀疑论者模式,脑海中一幅幅熟悉的面孔。
PS. 温伯格的书网上很推崇,《成为技术领导者》之类的,但我以为年代太远,读起来其实没多大意思,一两个鸡汤观点还要本身从书里慢慢淘,有那功夫不如看点别的。
新公众号"春天的旁边"开张,欢迎查找订阅。或手机扫描下面的二维码:
文章持续修订,转载请保留原连接: http://calvin1978.blogcn.com/articles/bookshelf16.html