转载原因: 罕见的好东西,但作者网站被墙了,所以转载一下出处:https://www.zhihu.com/questio…最后附上我自己的书单,所有五星的都值得一读:Reading List可能部分地区被墙了,对此我也很苦恼 -_-书单评分说明评分说明★★★★★经典,强烈推荐★★★★推荐,看了不后悔★★★一般,建议看之前再找找有没有替代品★★慎看,这书有有硬伤★翔,好好珍惜自己的生命☆没看过,其他人的评分?未知语言、框架与库书名收录时间评分语言、框架与库 《the c programming language》2010★★★★★C 语言经典书籍,看了都说好 《C++ Primer Plus》2010★★★★★C++ 经典书籍之一,深入浅出,推荐。 《C++ 标准程序库》2010★★★★关于 STL 的很不错的教程,很久不玩 C++ 了也不知道这书过时了没有。 《UNIX 环境高级编程(APUE)》2012★★★★★Linux 编程不得不看的书。 《Programming in Lua》2010★★★★没看到 Lua 有很多基础书籍,只看过这本。 《Effective C++》2011★★★★★C++ 提高经典书籍之一,看过一次肯定会有收获。 《Thinking in Java》2011★★★★★Java 入门经典书籍之一 《Head first C#》2011★★★讲的内容实在是太浅了,如果有一定的基础就别看这本书。 《The little schemer》2014★★★★★Lisp 经典教程,提问式的内容也挺有新意的。 《Programming Ruby》2014★★★虽然书的内容中规中矩,不过受限于 Ruby 这门语言,即使看完了这本书也会有种不知道能干啥的感觉⋯⋯ 《Erlang 程序设计》2016★★★整本书的顺序安排似乎有点问题,示例代码选的并不是很友好,翻译水平仅能勉强可以让人忍着读下去,但是绝对说不上有趣。作者对 erlang 应该是真爱,但是看完之后感觉最大的收获就是明白了为什么 erlang 是门小众语言…… 《ruby on rails3:totourial》2014★★★要学 ruby 还不如直接看 ror,否则学会了也不知道能做些什么。以项目构建为主线,实用的多部分多一些。 工具相关书名收录时间评分《鸟哥的 Linux 私房菜》2011★★★★★应该都听说过,Linux 操作相关只要看这个就够了 《Maven 实战》2013★★★对 maven 的方方面面都做了介绍,但是对于入门来说又内容有些太丰富了,很容易就会被带进 Maven 复杂性的泥潭里⋯⋯ 《Maven 权威指南》2013★★★如果只是想在日常使用 maven 的话,或许我会更推荐这本书,因为这本书的章节分布能让人更简单的把没用的信息排除掉⋯⋯ 桌面应用相关书名收录时间评分《Eclipse swt/Jface 核心编程》实例很实用,解决了我当时很多实际的问题,美中不足的是理论略弱。2009★★★★《深入浅出 MFC》2010★★★★虽然最近已经没多少人关心 MFC 了,但是这本书确实是我心目中对 “深入浅出” 诠释的最好的书籍。 《C++ GUI QT4 编程》2011★★★很多地方讲的不是那么很明白,不过关于 QT 的书似乎没多少⋯⋯ 前端相关书名收录时间评分《CSS 权威指南》2011★★★姑且算是一门语言吧⋯⋯这本书我是拿来当字典用的。 《JavaScript 权威指南》2012☆☆☆中文翻译极烂,不过据说英文版是经典。 《HTML5:Up and Running》2013?不少人推荐过,一直没时间读,就这么在书单里躺了好几年⋯⋯ 后端及大数据相关书名收录时间评分《构建高性能 web 站点》2013★★★★内容覆盖了高性能站点的各个方面,非常适合作为高性能方向的入门书。 《Redis 设计与实现》2014★★★★国内难得的良心作者,对 redis 源代码做了非常完整的分析,美中不足的是基础理论部分略弱。随书开源的图片集也是学习 graphviz 的很好的教程。 《HBase The Definitive Guide》2014★★★★中规中矩的 Hbase 教程,中文版翻译也不错。 《Learning Storm》2015★★★关于 storm 的使用说明和在一些场景下的实践。虽然这本书是我的 Storm 入门教程,但是总觉着看完之后还是有种不清不楚的感觉⋯⋯ 《Storm 源码分析》2015★★★在面对 storm 这类重型框架的时候如果完全不了解框架本身的话会用的很痛苦,而 storm 这玩意偏偏又是 clojure 这么个邪门语言写的⋯⋯书里基本上是代码 + 注释结构,不过对于挣扎在 storm 一线的开发者来说也只有这么一本讲 storm 原理的书了⋯⋯ 《大数据日知录》2015☆☆☆☆扫了一眼目录,比较适合提升大数据方向的视野广度 《Docker——容器与容器云》2015★★★这本书对 Docker 及相关技术做了不错的说明,既有理论也有实践,给三星只不过介绍框架的这类书籍都有一个特点:时效性太强了。 《Docker 源码分析》2015★★这本书里对内容没有更深入的梳理,导致各个方向都跟代码混杂在一起,理解起来不是那么流畅。前面的章节比较拖沓,中后几章还不错。 《图解服务器端网络架构》2016★★★★如果你负责互联网后端开发,恰好网络天天抖动影响服务,恰好负责网络的同事不怎么关心你的反馈,恰好服务器网络对你是一个黑盒,恰好这个过程持续了几个月,那么你大概和我一样需要这本书慰藉心灵。这本书能帮你了解一些基本概念,完美的诠释了 “一图胜千言”。 《SRE Google 运维解密》2016★★★★书中的学术理论不多,大部分内容都属于最佳实践,值得一读。从技术上来说,绝大部分做法的出发点和思路跟我们几乎一样,但成熟度上还是有明显的区别。读完后印象最深的是 google 的人员素质和技术主导的思维方式,表面工夫容易借鉴,一些促成项目创立和成长的深层因素却很难模仿。翻译质量只能说一般,大部分可以读懂,但有个别地方甚至完全不懂作者和译者想要表达什么。 《Mesos 实战》2017★★书里并没有比官方文档或者各种教程多出什么印象深刻的内容,叫《mesos 上手指南》或许更合适些,离我期待的最佳实践还差了很远。个人认为如果是跟我一样运费凑到可以买一本翻翻,否则自己下个 demo 再瞅两眼官方文档看几篇热门教程就完事了。 《Web API 的设计与开发》2017★★★☆互联网服务后端开发的工作里我最不想做的事情的就是设计 API,因为要斟酌的地方实在太多:新功能的扩展、旧功能的适配、沟通的成本、实现的复杂度,等等等等,甚至可以说每设计出一个 API 都注定是在给未来挖坑。究其原因,主要还是业界没有像面向对象设计模式那样抽象出统一的最佳实践,API 的设计和使用者都在用自己的办法为对方填坑。这本书如果能像 GOF 一样给出 API 的设计模式,我会毫不犹豫的给出五星好评,可惜并没有。不过书中对设计 API 时可能遇到的问题和常见应对手段进行了统一梳理,也算是向着理想乡迈出了一大步。现在讲这个话题的资料实在是太少,以至于我都没有办法做横向对比。三星给内容,半星给选题,200 页的书基本上一下午就能读完,推荐互联网后端开发工程师看看。 游戏相关书名收录时间评分《Windows 游戏编程大师技巧》2010★★★★建议对游戏有兴趣并且时间不是很紧张的人都读一下这本书。对理论和实践的阐述都很完美,唯一的缺点是 - 太老了。 《Real-Time Rendering 3rd》2011★★★★★对实时渲染讲述的既深入又全面,好评! 《Direct3D9 初级教程》2011★★★作为 0 基础入门 DX 的新手教程很不错,简单易懂,想理解游戏引擎实现原理的同学可以看看。 《Game Engine Architecture》2011★★★关于游戏引擎设计的内容非常全面,但是我没能看完,原因是 pdf 扫描实在是质量太差了⋯⋯ 《三维游戏引擎设计与实现》2011★★从一个游戏的设计文档里拷了点东西,拷了点代码又拷了些概念于是拼出了一本书,挂在这里警示后人。 网络相关书名收录时间评分《TCP/IP 详解 卷 1: 协议》2012★★★★同样是无数人推荐过的经典书籍,不过能不能看懂真的要看造化⋯⋯ 《Unix 网络编程》2012★★★★★原理和实践都很棒,入门和提高都可以。 《Wireshark 网络分析就这么简单》《Wireshark 网络分析的艺术》2016★★★★两本书其实合成一本更合适,wireshark 本身并不复杂,书中更多的是利用工具对网络进行分析和问题排查的过程。内容既条理清晰,又十分有趣,作者对待问题的态度、思路和幽默感都值得学习,一天读完两本,十分过瘾 内核 / 操作系统相关书名收录时间评分《Operating System Concepts》2012★★★★著名的恐龙书,已经有无数人推荐过了,涵盖了操作系统相关的方方面面,不过如果已经学过了《操作系统》这门课程,如果不是很闲就没必要再看一次了。 《Linux Kernel Development》2012★★★★以实际代码为线索介绍内核架构,中文翻译质量一般。 《现代体系结构上的 Unix 系统 - 内核程序员的 SMP 和 Caching 技术》2014?主要介绍高速缓存与并行处理,对我来说又是放在 todo 里很久也没有看的书⋯⋯ 《自己动手写操作系统》2012★★必须有足够的汇编功底才能看下去,前几章和后面的难度跳跃非常大,完全跟不上作者的思路,让人有种 easy 跳地狱模式的感觉,挂在这里提醒后人。 《从零开始写一个简单的操作系统》2014★★★★看过上面这本书两年之后发现了这本书,我当时就哭了,为什么这本书没早出。。。 编译器 / 解释器 / 虚拟机相关书名收录时间评分《flex and bison》2011★★★★介绍编译工具使用的同时也兼顾了一些原理,帮你利用这些神奇的工具实现一个编程语言,看之前最好有编译原理课程基础。 《linker and loader》2012★★★★解开了我多年关于 “编译完的程序是怎么运行的” 的疑惑,就凭这一条就值得推荐。 《程序员的自我修养 - 链接、装载与库》2012★★★相对于《linkers and loaders》,这本书细节更多,但脉络就没那么清晰,有种 “你说的我都懂,那么这到底是啥” 的感觉,也有国内技术书 “理论不够代码凑” 的通病。理解链接和装载方面的书第一推荐还是 linkers,这本书可以作为补充。 《Game Scripting Mastery》2011★★★★虽然挂着游戏的名号,不过主要内容是实现一个脚本语言的解释器。可以作为脚本语言解释器的实践指导书。 《The Garbage Collection Handbook:The Art of Automatic Memory Management》2014?关于垃圾回收的原理,可惜一直没有时间读⋯⋯ 《深入理解 Java 虚拟机:JVM 高级特性与最佳实践》2014★★★★关于 jvm 虚拟机的原理和实践,搞 java 的都应该看看。 《HotSpot 实战》2016★★★内容基于代码,但当代码导读噪音太多,想深入原理内容又不够,整本书内容没有融汇,更没有贯通,读起来十分痛苦。思来想去,勉强三星,能不能看懂看造化吧。 性能调优书名收录时间评分《Linux perf tools》2014★★★★★这不是一本书而是 ppt,不过内容非常丰富,介绍了 linux 下性能调优可以用到的非常多的工具。 《System performance》2015★★★★写 DTrace 的那哥们写的关于系统性能的方方面面。推荐。 《Linux Performance and tuning Guidelines》2014★★★Linux 下性能调优的理论和实践指导,IBM 出品。 《Web 性能权威指南》2017★★★★我比较喜欢作者写书的思路:书中涉及的内容范围比较广,但内容都是围绕性能这条线持续深入(除了最后几章有些突兀),达到了一个刚刚好的状态:范围广但不是泛泛而谈,内容深也不会不明觉厉。翻译的很流畅,推荐给后端工程师看一下拓展视野。 编码 / 设计 / 架构书名收录时间评分《算法导论》2011★★★★关于算法的经典书籍,读一遍感觉收获还是挺大的,但是往往也仅限于感觉了⋯⋯ 《设计模式_可复用面向对象软件的基础》2013★★★★前半部分写的不知所云,后面部分的总结很好,可以当设计模式的字典。中文翻译的一般般,能看英文还是看英文。 《修改代码的艺术》2014★★★★当你接手了一坨屎一样的代码并且感觉无从下手时,应该看看这本书。书中给出了很多日常工作中遇到垃圾代码时应该如何解决的思路。 《重构 - 改善既有代码的设计》2015★★★★关于如何做高效、可靠的进行代码重构,介绍了一些常用的重构模式和有可能遇到的问题的解决办法,和上一本书看哪本都可以。 《代码大全 2》2012★★★★★完美!关于编程的一切。工作一年以后再读这本书会感动的泪流满面。唯一的缺点是实在太厚了,很多人都没有耐心读完⋯⋯ 《代码整洁之道》2015★★★★如何编写高质量的代码,有助于维护你作为程序员的尊严,不要写出那么多烂代码。 《发布!软件的设计与部署》2015★★★本来应该是入门程序员必读书,介绍了线上系统可用性的各个方面,但是烂到极致的翻译把这本书变成了鸡肋。译者显然既不精通翻译,也不精通 it,否则也不会出现 “如果一点点好,那么很多一定会更好”,或者“资源隔板” 之类匪夷所思的词句了。如果程序员入行不久,并且英文有基础,推荐看英文版,中文版要在工作几年的基础之上才能猜到译者说的是什么。 《算法技术手册》2011☆☆☆☆可以作为数据结构及算法的代码模版。 《七周七并发模型》2016★★★★这本书是在实际例子的基础上介绍概念,这能让人对概念理解更加直观,但要理解内容实在太依赖语言或者框架知识。在读这本书前最好能了解:Java、Clojure、Elixir、Erlang、GPGPU、OpenGL、Hadoop、Storm…… 我只漏了一个 Clojure,它就成了最近几年我读的最辛苦的几本书之一。 《程序员必读之软件架构》2016★★★整本书虽然偶尔有一些有启发的内容,但是大部分时间都是在列标题、堆砌概念和贴图。128 页书竟然分了 68 章,这让整本书的阅读体验非常割裂,作为读者我根本不知道这一章到底要讲什么,大段大段的提问和固定格式的内容也让人读起来有些不舒服。 《微服务设计》2017★★★★微服务为我们带来了很多收益,但也有诸多挑战,难点并不是某个技术,而是如何打通所有环节:微服务架构要同时改变设计,编码,打包,测试,部署,监控方式,甚至于组织架构和人的观念,为此,好的领导和有追求的同伴必不可少。书中的很多内容读起来感同身受,推荐给对架构设计有追求,想尝试新思路的架构师们。美中不足的是部分章节翻译明显扯了后腿,要把中文翻译回英文才能猜出意思 敏捷开发与项目管理书名收录时间评分《人月神话》2011★★★★虽然都称其为经典,不过我确实没看出那么神乎⋯⋯ 《Agile Software Development:Principles,Patterns and Practices》2013☆☆☆☆关于敏捷开发的经典书籍,可惜一直没抽时间读。 《持续续交付 - 发布可靠软件的系统方法》2014★★★书中对持续交付的理论和实践都做了很详细的描述,甚至有些详细过头了,有些的时候有些让人理不清思路⋯⋯ 《布道之道:引领团队拥抱技术创新》2015★★★★对于喜欢折腾的人来说,在推广新技术的时候几乎都会碰到各种问题,在经历了无数次挫折后再来看看这本书,真是让人唏嘘不已…… 《构建之法 - 现代软件工程》2015★★★粗略的看了一遍,刚毕业或者还在上学的同学们可以读一读,能了解到一些近些年关于软件工程的新姿势。但是感觉主题不是很清晰,并不像是 “法”,更像是随笔或者心得。 《高效团队开发 - 工具与方法》2015★★★比较系统的介绍了技术团队会用到的工具和这些工具实际应用的场景,看完之后有一些启发。但是工具这种东西变化实在是太快,这种介绍工具为主的书过两年应该就要换代了。 《开放式组织》2016★★★这是一本 CEO 写的书,所以对我这种闷头搞技术的人来说最多只能参考思路而不是做法,同时最大的收获就是学到了 “混序” 这个词。书中介绍的红帽公司运作方式让人向往,但一些做法也过于理想化,在我看来甚至有些 “何不食肉糜” 的感觉了。 面试与考试书名收录时间评分《careercup_4th》2013★★★★★非常值得一看,无论是建议和题目都很好。 《the google resume》2013★★★★很不错的关于简历和面试的指导书。 《剑指 offer 名企面试官精讲典型编程题》2013★★★定位没有前两本那么高,而且似乎影响力也不是很大,但优点是中文的。 《编程之美》2013★★★有些题目实在是超出能力了,时间紧张的话不适合看,还是闲暇时给提升逼格比较合适。 《系统集成项目管理工程师考试试题分类精解与题型分析》2012★★★★如果要考系统集成项目管理工程师的话这本书既有考点又有题目,推荐。千万不要看那本指定教材,就是一坨翔。 杂项书名收录时间评分《[奥本海姆] 信号与系统》2012★★★为了学习 dsp 相关原理硬啃的,非专业学生看起来非常吃力,一个公式要倒腾一天⋯⋯ 《调试九法:软硬件错误的排查之道》2015★★★★没有想象中看完就大彻大悟的感觉,大部分原则在日常工作中已经被使用到了,不过好在只有一百多页,帮助梳理一下思路还是不错的。另外翻译质量一般。 《计算机程序设计艺术》2012?据说是上帝看的书? 《给大家看的设计书》2012★★★★★如果让我给程序员挑一本投入 / 产出比最大的书,那么我还是推荐这本。几个小时就能读完,但对写文档简历 ppt 之类的排版能力帮助巨大。 《程序员修炼之道–从小工到专家》2015★★★★★全书一直在强调 “注重时效的程序员”,并把这个理念从编程的各个角度阐述了一遍,翻译的也非常不错。虽然已经出版很久了,还是值得一看,看了之后应该会有强烈的共鸣,当然,没有共鸣的人也不会想看这本书。 《黑客与画家》2015★★★★★虽然是十多年前出版的书,却能给我很多关于黑客,设计,编程语言等等很多事情思考了很多,作者对事物本质的描述实在精彩。另外,翻译水准非常棒,甚至有种超越了中文书的感觉。 网站自从天天刷微博,固定网站就逛的越来越少了⋯⋯Tim’s blog:tim 的博客,后端相关,对于架构的思考很有启发Coolshell:酷壳,文章都很有技术含量花钱的年华:江南白衣的博客,后端相关,一线工程师的纯干货开发者头条:每天扫一眼新鲜事