1. Architecture & Design
1.1《代码整洁之道》
Fundamental
行文简洁易懂,抽点时间就能过完一章。虽然看起来不艰难,但内容实则相当重要,毕竟总免不了维护别人的代码和留下一堆代码给别人维护,代码可读性差就不能愉快地相处了。结合《重构》一书,改了一堆别人和自己以前的代码,维护省心,阅读方便,谁用谁知道。
1.2《大型分布式网站架构设计与实践》
SOA,基础设施(缓存,持久化,MQ,Lucene等),安全架构,监控与分析
Medium
有较详细的示例与讲解,内容较多,当然每个主题都不可能深入探讨,作为入门的书籍方便有个全局的了解。
1.3《Effective Java(第2版)英文版》
Advanced
国内出版的英文版本,穷人的最爱。就算没有看过书的,肯定也听说过里面的某些Item,Code Review的时候扔一条出来杀伤力最强,当然正途还是指导平日的设计和开发,看源码的时候想一想为什么要这样设计。作者本人也表示不需要从头往后看,找自己感兴趣的主题跳着看就行。虽然有些交叉引用,不过并没有明显的顺序和上下文要求。然而懒癌患者还是按计划每天看上一条,毕竟TODO List是第二生产力嘛。
2. Methodology
2.1《大数据:互联网大规模数据挖掘与分布式处理》
数据挖掘的概念、算法,MapReduce,相似项,数据流分析,PageRank
Advanced
虽说看英文原版是最好的,但是原版实在太贵了。这本还算翻译得可以的了。侧重理论与算法,讲解由浅入深。奈何已经离开学校太久了,看到数学和算法就脑仁疼,有些地方只能可耻地跳掉了。
3. Coding Practice
3.1《Java程序性能优化》
Java编程与JVM最佳实践
Medium
写了两年Java(大半时间浑浑噩噩)再看这种最佳实践类的书,很多地方都能找到共鸣,当然其中很多概念都已经接触过了,再看一遍全当系统地巩固一下。刚入门的时候看看能少走好多弯路也说不定,可惜那个时候都没啥啃书修炼的意识。不过相关主题都有对应的更为深入的书,比如Java并发编程实战,深入理解JVM等等。
3.2《深入理解Java虚拟机:JVM高级特性与最佳实践》
JVM内存管理、监控、调优,类加载,执行引擎
Advanced
图书馆里借了第一版,没看完到期归还,然后自己买了第二版的,从JDK6升级到JDK7,另外补充了一部分内容。内容较为深入,侧重原理和底层细节。一开始以为是翻译的外文,然后才发现是国内的书,很是惊喜。当然把官方的Java Language Specification和JVM Specification看一遍效果只会更好,不然啃这本书也是不错的。如果能附上相关术语的英文原文就更好了,便于与官方文档相互参照。
3.3《Java并发编程实战》
Advanced
Java并发方面的经典书籍,不看不能愉快地做同事系列,如果你维护过带坑的多线程代码就知道不好好学习强行并发的酸爽了。
4. Linux and OS
4.1《循序渐进Linux 第2版 基础知识 服务器搭建 系统管理 性能调优 虚拟化与集群应用》
Fundamental
手把手教你搭建服务器系列,入门一类的。优点是比较新,用的CentOS7。
4.2《鸟哥的Linux私房菜:基础学习篇(第3版)》
Linux系统的基本知识,命令和脚本,另有部分硬件和操作系统的基本知识
Medium
鸟哥系列声名远扬,早看早超生系列。说是基础学习真的会跟你讲很基础的东西。里面示例详细,文风有如亲临唠嗑教学现场。缺点是技术和概念都比较老了(2010年),新出的第四版目前只有台版。不怵繁体的同学也可以去网站上看更新:http://linux.vbird.org/。
4.3《深入Linux内核架构》
Advanced
看过概述部分就觉得往下越来越艰难了,果断弃坑。如果不是急切需要掌握的东西,啃不动就先扔开,过个一年半载再捡起来好了,毕竟时间和精力都是有限的。
PS:分类参考了下ThoughtWorks的读书雷达,准备根据它推荐的书再列个2017年的书单。
总结
【2016读书总结】1. 书非借不能读也,图书馆里的看得倒是相对及时,自己买的反而在书架上吃灰。果然Deadline才是第一生产力。
2. 之前准备了十张书签作为信号量,实际发现每本书都看一点,三五天才能继续上次的节点,非常浪费。可见并发啃多本书并没有好处,不如专攻一到两本,主题互有参照更佳,理论结合实践最好。
3. 以前的学习方式是代码中遇上什么问题再去解决、深挖,最后了解到的只是零散的点,只有在别处碰到的时候才会:“哦,这个我之前遇到过”。而真正能让人提升的却是知识架构的丰富,学了一堆却不能及时回想、融会贯通的知识点好比没有索引的数据库,实际并没有多大作用。所以后来微信和零散博客都看得少了,重心放在书和官方文档上。看过的东西会慢慢织成一张网,无论是联想已有记忆还是了解新知识,有如开挂。