书单

评分 说明
★★★★★ 经典,强烈推荐
★★★★ 推荐,看了不后悔
★★★ 一般,建议看之前再找找有没有替代品
★★ 慎看,这书有有硬伤
翔,好好珍惜自己的生命
没看过,其他人的评分
未知
书名 收录时间 评分
语言、框架与库
《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:酷壳,文章都很有技术含量
花钱的年华:江南白衣的博客,后端相关,一线工程师的纯干货
开发者头条:每天扫一眼新鲜事