看书原则:

  • 力求理解本质:可以不求甚解,必须反复研读。
  • 苦下笔头:认真做笔记,悟道了,赶紧记下来。
  • 举一反三,融会贯通:很多书其实存在一定的同质化,所以广泛涉猎,形成自己的方法论。
  • 发散思维:有意识的培养与锻炼计算机思维。

操作系统

这个系列的都是神书,值得反复研读。但因为都是厚本书,所以我一般都是在特定时期查看特定章节。

  • 《深入理解计算机系统》:☆☆☆☆
  • 《程序员的自我修养 - 链接、装载与库》:☆☆☆☆
  • 《现代操作系统》:☆☆☆

计算机网络

计算机网络特别是 TCP 协议,是 web 开发程序员必备素养之一,

  • 《计算机网络-自顶向下方法》:☆☆☆☆☆

国外经典教材,深度与广度俱佳,重点关注的 tcp 部分,循循善诱谆谆教导,较为详细的介绍了 tcp 各种原理和技术细节等。常读常新,

  • 《图解 TCP/IP》:☆☆☆

图例较多,相当于一个概览,较通俗且简浅。

c

以下 c 相关的书都是历经千锤百炼的远古大神们的杰作,

  • 《UNIX 环境高级编程》:☆☆☆☆☆

大名鼎鼎的 APUE,可以当做工具书看,大量的基础知识和容易被忽视的知识点,比网上搜索答案更直接客观。

  • 《C 和指针》:☆☆☆☆☆

  • 《C 程序设计语言》:☆☆☆☆☆

学好 c,这俩本大体就够了。

go

go 相关书籍,看得较多且杂,本身 go 语法较简单,但是底层原理,如 goroutineMPG 模型GC 等,看起来还是会比较吃力。

下面这些书都挺不错,语法 + 示例 都较全面。

  • 《go 趣学指南》:☆☆☆

大量的编程实例撑起来的一本书,也较为详细的介绍了相关语法,可作为入门级

  • 《go web编程》:☆☆☆

主要是结合 web 开发来学习,可以深入了解一个项目构建的完整过程。

  • 《go 语言实战》:☆☆☆

初学者其实不建议读这本书,有些地方还是较混沌和啰嗦,有些则是一笔带过,但基本涵盖了主要的特性。

  • 《go 语言学习笔记》:☆☆☆☆

真的是一个 笔记,雨痕大神涉猎太广,除了逐个介绍相关特性外,还有一些 trickyhack 的介绍。后面还从 汇编 级别来介绍底层原理。

也许真的是 笔记 ,稍显散乱,但主脉络清晰。

  • 《go 并发编程实战》:☆☆☆☆

不多的详细介绍了 MPG 模型 的书,很多原理性的介绍,有些枯燥,但值得细读和反复阅读。

  • 《go 语言编程之旅》:☆☆☆☆

实战类书籍,很有参考价值。

  • 《自动动手实现 Lua》

还没仔细看,作者是用 go 来实现 lua 的虚拟机,应该比较有趣。

php

php 看到都是源码相关的书籍,php程序员必看。

  • 《PHP 7 内核剖析》:☆☆☆☆
  • 《PHP 7 底层设计与源码实现》 :☆☆☆☆

这本和下面的 《Redis 5设计与源码分支》 都是 滴滴 一个团队合作编写的。

Redis

  • 《Redis 设计与实现》:☆☆☆☆

国内第一本(?)源码级介绍 Redis 的书籍了,但 Redis 已经到 6 了,变化较大,但仍值得一看。

  • 《Redis 5设计与源码分析》:☆☆☆☆

介绍了 Redis 5 的实现,这个组的同学都是各自认领一些任务来编写,所以相对会比较细致。

  • 《Redis 使用手册》:☆☆☆

参考书

MySQL

  • 《MySQL 技术内幕 - InnoDB 存储引擎》:☆☆☆

较少的能全面介绍 innodb 相关知识的书籍。

  • 《MySQL DBA 工作笔记》:☆☆☆

笔记类书籍,可以当做笔记来看,也即遇到问题可参考查阅等。

  • 《高性能 MySQL》:☆☆☆☆☆

很多人都看过的科普书籍。

数据结构与算法

  • 《数据结构与算法 - python实现》:☆☆☆☆☆

更偏向理论,很多证明,可以当做工具书来翻阅了。

  • 《编程之美》:☆☆☆☆
  • 《剑指 offer》:☆☆☆☆

一创算法大热的两本书,瑕疵在于很多算法没有证明。相比较而言,《剑指 offer》更好。

  • 《算法图解》:☆☆☆☆

  • 《漫画算法 - 小灰的算法之旅》:☆☆☆☆

这两本书,在算算法相关书籍算是通俗易懂的,介绍了常见的算法以及图示的解法,强烈推荐。

其他

  • 《性能之巅》:☆☆☆☆☆

  • 《深入理解 Kafka 核心设计与实践原理》:☆☆☆☆

  • 《Kubernetes 源码剖析》:☆☆☆☆