程序员书单

后端好书阅读与推荐(续)

2017-09-08  本文已影响144人  MageekChiu

续前文 后端好书阅读与推荐 - Mageek`s Wonderland ,几十天过去了,又看了两本好书(还有以前看过的书),这里依然把它们总结归纳一下,加入一些自己的看法、有用的链接和可能的延伸阅读,并推荐给需要的同学。

深入理解Java虚拟机

深入理解Java虚拟机 (豆瓣) https://book.douban.com/subject/6522893/

Java怎么用,是一个问题;怎么用好是一个大问题;这么用是为什么,是一个更大的问题。搞懂这三个问题应该是每一个搞Java的人都要追求的目标,读完本书,就能把这个更大的问题搞懂了。

本书亮点:

这本书是基于jdk1.7的,如果要追踪最新的Java和JVM规范,可以看这里
另外,上面提到的第一个问题可以参阅Java核心技术,第二个问题可以参阅Java编程思想Effective Java,第三个问题还可以参阅HotSpot实战。这几本书我都浏览过,部分有细读,都是相当经典的。

高性能MySQL

高性能MySQL (豆瓣) https://book.douban.com/subject/23008813/

这本书可谓是MySQL领域的权威之作,从架构到测试,从性能分析到查询优化,从软件配置优化到服务器硬件优化,从单实例到主从复制、负载均衡,从底层数据库优化到应用层优化......本书真可谓是面面俱到,同时又很有深度,绝非浅尝辄止。

本书亮点:

亮点太多,列不完了,需要大家自己去寻找。另外,这本书不适宜一次性的精读完毕(太厚,内容太多),可以快速浏览一遍,大概了解,以后遇上问题就可以把这本书当作一本问题解答手册来查询解决方案,或者找找灵感。

Redis实战

Redis实战 (豆瓣) https://book.douban.com/subject/26612779/

本书对redis的介绍是相当全面了,从基本用法讲起,然后讲了许多应用场景,包括购物车、数据库缓存等,然后讲了一些常见问题的解决办法,比如内存占用过高,自定义扩展来丰富redis的用法等等,看完一本书过后就能很好的使用redis了(还有本好书:redis设计与实现,我大致浏览了一下,这本书主要讲了redis的实现原理,这两本书加起来就能既懂原理又会使用,把redis搞个透彻)。

本书亮点:

时效性问题,本书没有一些最新特性 比如 geohash 解决了地理坐标问题,键的异步释放使得我们可以放心删除而不必担心大量数据的删除使得redis短暂不可用。总之,要更好的利用redis还是要追踪redis的最新变化,以便更简洁、更靠谱的解决问题。

深入剖析Nginx

深入剖析Nginx (豆瓣) https://book.douban.com/subject/23759678/

本书从源码入手,依次讲解了进程模型、模块、响应处理机制、过滤、负载均衡等相关原理,极大的满足了我的好奇心,因为之前一直就对nginx高并发处理能力有一丢丢了解(比如nginx采用事件驱动机制而非apache的进程、线程每请求方式),自己也用过nginx,但是对他的原理还不是特别的明白,本书算是填补了我的这个空白。

本书亮点:

这本书主要从应用及其原理方面来介绍nginx,对于后端程序员应该是够用了(我也忽略了许多源码,因为只是想了解一下原理)。但是对于要想自己深入、进行模块编写的读者应该还不够用,可以再参考一下这本书 深入理解Nginx(第2版)(我大概浏览了一下,本书会指导读者编写具体的模块及其底层原理,比我们今天介绍的书更深入一些)。

第一本Docker书

第一本Docker书 修订版 (豆瓣) https://book.douban.com/subject/26780404/

书如其名,这就是真正的第一本docker书。docker是什么、怎么安装、如何使用、测试集成、构建服务等都有介绍。之前就久仰docker大名,也试着试用了一下,但是直到这本书读完我才对docker有了一个完整的认知。另外,不出意料,本书的推荐序也很精彩。

本书亮点:

时效性原因,书中一些例子已经过时(如Docker1.12开始内置编排机制,Docker1.13正式支持docker stack),需要结合最新版本来使用。
另外,想要深入理解docker可以阅读这本书 Docker——容器与容器云。我大致浏览了下,这本书不仅讲了docker如何使用,还深入讲解了docker的核心原理如namespace资源隔离、cgroups资源限制、libcontainer原理和一些高级实践技巧。此外,还讲了对容器、容器云的思考,包括如何构建自己的容器云,以及Kubernetes实现一切皆容器的“大同理想”。

UNIX/Linux 系统管理技术手册

UNIX/Linux 系统管理技术手册 (豆瓣) https://book.douban.com/subject/10747453/

又是一本进千页的大部头,但是不怕,这本书如其名,是一本手册性质的书,非常大而全,包括基本管理技术、网络管理技术和其他补充管理技术,几乎包揽了所有我们可能用到的功能(小到一行代码整么写,大到数据中心怎么建),对于宏观把握整个Linux生态系统有很大作用。我的应对策略是跳跃式阅读(不错,就像上面那本MySQL),留下整体映像,等遇上问题时再来具体的查询相关部分的内容。也就是说,大脑相当于内存,书本相当于硬盘数据库,我们首次阅读就是在内存中建立索引,便于提升以后的查找速度:-D。

本书亮点:

本书教会了我们怎么使用Linux,这对于我们后端开发人员是足够受用了。而这本书Linux内核设计与实现(原书第3版)就会告诉我们Linux是如何实现它这么多这么强大的功能的内在原理,精力有限,我只是浏览了一下没有细读,等以后真的用得上Linux的深入知识时,或者遇上了什么解决不了的问题,我会再来求助于这本书的。

代码整洁之道

代码整洁之道 (豆瓣) https://book.douban.com/subject/4199741/

本书提出一个观点就是:代码质量与整洁度成正比,围绕提高整洁度,作者展开了方方面面的阐述,从命名的方法到函数的定义,从注释的使用到格式的目的,还介绍了对象,错误处理等等等等。看完后的感觉就是:写好代码,从本书开始。虽然我现在写的代码还比较“乱”,但是今后的代码中会努力践行书中的原则,争取写出整洁的代码。

本书亮点:

这本书里面的良心建议实在是太多了,无法一一列举,真的得自己看一遍才能有收获。

重构-改善既有代码的设计

重构 (豆瓣) https://book.douban.com/subject/4262627/

上一本书教会我们怎样书写整洁的代码,那么面对不整洁的代码,我们怎么办呢?这本书就手把手教我们怎么重构,改善现有的代码。从一个实例入手,讲了重构的理由、原则、技巧、步骤与时机。我读完过后感觉心里就有了些烙印,无论是写代码还是改代码,基本都会不自主的向这本书靠拢,很有收获。

本书亮点:

感觉本书最大的问题就是太老了(1999年),有些工具或者方法在如今技术进步的情况下显得有些多余,比如现在的IDE如Eclipse或者IDEA都有很强大的功能,书里提到的一些技巧完全用不着。不过经典终究是经典,里面的绝大部分思想我们如今都还是可以借鉴的,尤其是对于重复代码的观点——应该坚决消灭重复。

2017.9.8 后记

花费了几个月来看书,又花了几天来整理,希望对我们都有所帮助:-D。欢迎拍砖,我的主页Mageek`s Wonderland
查看原文

上一篇 下一篇

猜你喜欢

热点阅读