语言类

python源码剖析

这本书讲解了python2.5版本的cpython实现,大致分为3个部分,分别讲解了python中基本对象python虚拟机和python的runtime的实现和原理。个人感觉这本书可以帮助你理解python执行时候的行为,为什么代码会有这样的表现,比如python的LGB规则,python的垃圾回收,从源码实现上来看python,就会理解的更加深刻,而且从这本书你可以看到很多trick的C语言实现。

但这本书对应的python版本较低,python3的源码实现和2还是有很多不同的,建议参考着下面 python3的源码实现一起看。

zpoint/CPython-Internals​github.com

数据库

数据库系统实现

在多抓鱼上买的二手书数据库有没有类似现代操作系统的好书?​www.zhihu.com

实习了一阵子之后,发现自己好像不知道以后要做什么方向的工作了,偶尔间发现了pingcap的talent-plan瞬间被这家公司圈粉,开始做他们的线上教程,其中week2的作业需要阅读 数据库系统概念 可是这本书贼jb厚,而且每页的内容也很多,给人一种阅读恐惧感,后来发现了 数据库系统实现这本书,页数不多,而且内容精简。

yangsoon:Talent Plan-TiDB 实验报告​zhuanlan.zhihu.com

这本书不适合数据库初学者,前部分内容主要讲解数据库的底层实现,前半部分讲解数据库索引实现,join算法,数据库如何从物理层和逻辑层做执行优化。后半部分讲解数据库如何做容错和并发控制。

当然这本书的一些知识点也比较老了,没有讲解工业界数据库Mysql或者PostgreSQL的实现,所以下面推荐这本书。

MySQL技术内幕

图书馆借阅

这本书讲解Innodb存储引擎的实现,因为知识点有重复再加上在图书馆借的,我就只看了Innodb锁和事务的实现部分。填补了自己知识空缺的同时也惊叹于mysql的巧妙设计。

Innodb如何解决死锁问题

其实阅读这本的时候,我是在看极客时间的mysql45讲。

极客时间​time.geekbang.org

说实话,我其实挺反感网上一些付费教程,但是这个专栏,我真的是吹爆,阅读文章的时候给人一种停不下来的感觉,对于我这种菜鸟,就感觉知识在源源不断的流进我的大脑。专栏里的文章图文并茂,作者大大实力爆表,文章思路清晰易懂。绝对值得反复阅读,因为注册用户可以免费阅读4篇文章,所以我希望大家阅读一下 03 08 20 关于事务和幻读的讲解,尤其是幻读网上的一些博客一些作者都没搞清楚就写,简直误人子弟。还有就是第 21 节关于加锁原则的讲解,强烈安利大家阅读一下。感觉这个专栏可以配合着MySQL技术内幕一起阅读。

redo log相关的笔记关于加锁原则的笔记

Redis设计与实现

这本书还没看完

这本书还没有看完,主要看了redis一些基本数据结构以及实现,这本书感觉是面试必看,看起来内容很多,但是主要是因为书中图片比较多,所以你会发现看起来很快,目前看到了RDB和AOF部分,之后会慢慢看下去,但是同样的是书籍对应的redis版本比较老,缺少很多新特性相关的分析。所以就买了下面这本书。

Redis 深度历险:核心原理与应用实践

Redis 深度历险:核心原理与应用实践​book.douban.com

这本书弥补了Redis设计与实现很多欠缺的地方,这本书讲了redis的HyperLogLog和GeoHash等新特性,而且注重实战,包括很多代码示例,教你如何进行客户端编程,而且最重要的是,文中还对比了redis cluster和codis的架构设计,讲解了如何使用redis实现分布式锁等等,简直就是面试宝典。书籍页数不多,但都是精华。

这里插一句话,网上关于redis实现分布式锁的文章良莠不齐,能找到一篇好文章实在不容易。

下面我就贴一个讲解关于redis分布式锁实现的文章,这篇文章分为上下两篇,主要是通过redis作者和DDIA作者关于reids分布式锁实现的争论来写的,很有意思。

基于Redis的分布式锁到底安全吗(上)? - 铁蕾的个人博客​zhangtielei.com

分布式系统

数据密集型应用系统设计

DDIA

DDIA神书,关键是读起来很爽,停不下来,感觉读书就喜欢这种感觉(可能是我太菜,知识点欠缺很多)其实关于数据库的事务部分我是看了这本书才真正理解的,这本书就像一个指南针一样,在这里你会看到一些你只知道名字的分布式相关的术语,而这本书会帮你把这些知识串起来,让你对分布式系统有个整体的概念。据小伙伴说这本书配合着6.824食用更佳,因为我只做了lab1,就不方便评价了,所以也推荐大家边阅读边写代码。希望所以接触后端开发的同学都能够读一遍。

6.824 Home Page: Spring 2020​pdos.csail.mit.edu

操作系统

操作系统导论

和DDIA一样的神书

建议大家看一下这位大佬的书评。

尼不要逗了:荐书:Operating Systems: Three Easy Pieces​zhuanlan.zhihu.com

这本书的中文译名不是很好,不过翻译质量其实还可以,和我一样英语水平有限的同学可以买本中文版看一看,但是中文版有几个图画错了,感觉编辑也太不上心了,明明和原版的图画的很不一样。第366和367页的图都画错了,大家可以对照着英文版看一下。

http://pages.cs.wisc.edu/~remzi/OSTEP/​pages.cs.wisc.edu

作者很贴心的给出了书籍的pdf和课后作业以及代码。

在读这篇文章的时候和读DDIA一样,就一个字爽,书中的讲解通俗易懂,脉络清晰很适合用来回忆操作系统的知识点。在阅读这本书的时候,我也受启发写了一篇文章。

yangs:从头到尾理解有栈协程实现原理​zhuanlan.zhihu.com

Docker容器与容器云

这本书刚开始看,讲解关于docker的实现原理,docker如何使用namespace cgroup实现一个容器,以及docker还存在的问题,之前一直以为会用就可以,但实际上如果搞懂了原理,会很好的帮助你使用。