读书计划

工作两年了有余,越发越感觉CS基础知识太重要,必须花时间啃一下,计划花半年到一年时间把CSAPP CLRS SICP 这三本书啃一遍,CSAPP已经读了1/4:)。这些基础的东西现在不读以后真没机会去读了,希望能坚持下去。

2017年5月14日

时隔半年,记录一下这半年来读过的书吧:

从最基本二进制对数据类型的表示开始讲述,到操作系统的VM,IO等相关的知识,可以对计算机系统有个大体的认识。当进入一个新的技术领域,我认为首先从宏观的角度理解比较重要,所有的系统原理都离不开它,以防一开始就陷入的细节的泥潭,导致见树不见林。
之前读的是第二版pdf,目前书已经出到了第三版,打算买一本再读一遍。

这本书是C语言之父写的,对于学习与加深理解从C语言衍生的其他计算机语言都很有帮助,翻译也很棒,内容非常精炼,必须要逐句地去读,尽可能理解每一句话,在讲解C语言的同时还包含了一些算法,操作系统的相关知识。第一遍读的囫囵吞枣,已经在用逐句的方式来读第二遍了,阿门。技术书籍都能像这本书一样言简意赅,那该多美好!

Java并发库concurrent包的作者也参与了这本书,所以这本书应该有一定的权威吧。对于日常开发多线程的项目,理解里面的大部分内容,应该能够少掉坑。

对于没接触过TCP/IP的同学,这本书是极佳的入门书,可以大致了解TCP/IP协议都做了些什么,如果你的好奇心很强,里面有的地方讲得确实有点含糊,那么你就应该去读下一本书了

Stevens大神的TCP三卷之一,其中TCP的部分我认为是这本书最经典的一部分,从TCP的连接开始,到交互数据流,块数据流,再对通过TCP几个定时器讲解TCP里面的技术要点:重传,快速重传,拥塞,慢启动,keepalive等等。对设计应用层的协议会有很好的帮助,或者想基于UDP设计可靠的应用层协议。后面讲解的一些协议如Telnet,FTP,SMTP还没有看完~

对以前开发涉及HTTP协议算是做了一下回顾,里面也涉及到了TCP的相关知识,主要是一些优化的内容。如果理解了TCP/IP基本的相关知识,这本书里面的内容都很好理解,HTTP本质就是基于TCP协议的请求响应模型字符串协议。我想正是由于它比较简单,所以在统治了整个Web吧。后面三四章实在没办法看下去了,略过~

对于涉及日常开发的密码学知识够用了,里面的讲解通俗易懂,并且没有涉及到代码。由于之前做的项目涉及一些授权认证,加密相关的,可以对其进行了一个很好的梳理。

一点也不权威呐,这本书原来的名字不是这个,被出版社修改了,原来叫<< Bulletproof SSL and TLS >> (坚不可摧的TLS和SSL),对于理解SSL在做什么还是有一定帮助,以及PKI的那一套东西。 SSL/TLS相关的书籍太少了,要想真正理解,还是得看rfc。

相见恨晚的一本书,对垃圾回收的概念,Class文件格式,以及类加载等有了一个直观的认识,之前直接读虚拟机规范,看得一头雾水。

必备技能,里面有一些很实用的小技巧,可以看一下。

后记

看的书也不算多,很多看完一段时间之后里面的内容就很模糊了,特别是以前项目如果没有接触过,那就直接记不得了,所以还是需要用实践来强化这些从书本上学到的知识。所以就需要在看书与写代码之间要有一个权衡才行,一味的看书或者一味地写代码都会得不偿失。并且,CS经典的数据是需要反复认读的,也算终于明白有一些大牛是不写博客的,一方面是太忙没时间,另一方面这些东西经典的书上都有,写出来只不过复述一遍而已,还有就是一些设计项目的细节,由于公司信息安全方面的规定,不太好分享出来。

当然,看的书也不止这些技术书籍,期间也还看了海贼王,龙珠Z,算是对小时候没看过的弥补吧~

年中打算换工作,目前项目进入维护阶段事情就比较少,由于每天基本不用加班,所以这半年才有点时间看书。工作上的事早已没有挑战性,流程太重,难免想踏实干活的人们多少会有些厌烦。 生活过得太安逸真的不是好事,需要东西来驱动自己进步,至少对于像我这种危机感很强并且能力又不是特别突出的猿们。Best Wish!