后端书单

开篇词

好书就是有漫卷诗书喜欲狂的感觉。

根据我的个人体验,好书就是能把事情说清楚的书,而且说的还很简单,直击要点、一剑封喉。甚至于有一种美感在,为啥呢,核心就是简单,哈哈,谁不喜欢简单呢。

以下是我学习过程中比较推崇的书,还有一些是待看的书,主要是后端开发者要了解的领域:操作系统、Linux、网络、数据结构和算法、数据库(Mysql)、缓存(Redis)、消息队列、系统设计与架构。

当然,这远远不够,不光要看书,还要思考:为什么这么设计,还有什么其他的方式,各种做法优缺点是什么,适合什么样的场景, 刻意进行这种左右手互搏的训练。最好还是能实践,在实践中发现和解决问题。

学会在学习中进行思辨,才是真正的把书读进去了,要不然就只是别人思想的跑马场。

借用生物学上的生产者、消费者和分解者的概念,写书的、创造开源项目的这种创造性的活动,人家是生产者,我们读书的是消费者,写博客对知识进行阐述加上一些自己的见解的,算是分解者。

也希望自己在不停不停的输入之后,能够有所积累,也做一个生产者。

哦,扯远了,就是列个书单的,不过,要有梦想嘛。做成一件事,靠的不止是最初的热情,还有之后的纪律,与你共勉。

操作系统

深入理解计算机系统

点评:看了重点章节,程序员必看,神书,强推

OSTEP(操作系统导论)

点评:看了感兴趣的章节,待继续看完,阅读体验超级顺滑,神书,强推

现代操作系统

点评:看了重点章节,比较正统的书

操作系统精髓与设计原理

点评:看了部分章节,如果有概念在一本书介绍的没太懂,可以多本书对照着来读

APUE(Unix环境高级编程)

点评:待看,各类API的详细介绍,系统编程的大词典,适合快速浏览然后按需查看

总结

深入理解计算机系统和OSTEP必看,APUE必看,现代操作系统和操作系统精髓与设计原理二者看一个。

网络

图解TCP/IP

点评:看过,比较适合初学,快速入门,基础不错可以不看

TCP/IP详解

点评:看过,强推,进阶看这个,里面详细介绍了Linux和Windows系统下的网络编程API,可以跳过Windows的了,所以看起来也很快

UNIX网络编程卷1:套接字联网API

点评:没看完,挑选重点章节来看,总结的Unix五种IO模型要了解

总结

TCP/IP详解这本书不错,必看,UNIX网络编程作为加深理解,选择重点章节来看。

Mysql

高性能mysql

点评:看过,必看,经典

数据库索引设计与优化

点评:索引相关的进阶,不过可替代,太多博客和文章写过这一块了

MySQL技术内幕InnoDB存储引擎

点评:看过,强推,看完这本书对于innodb存储引擎的细节就把握的比较好了

总结

高性能mysql和MySQL技术内幕InnoDB存储引擎都看了吧,都是好书。

Redis

Redis设计与实现

点评:看了感兴趣的章节,强推

Redis运维与开发

点评:看了重点章节,作为补充

总结

就两本,都看了吧,当然,有选择的看一些章节

消息队列

RabbitMQ实战指南

点评:看过,学习Rabbitmq的话不能错过

Kafka权威指南

点评:还没看

深入理解Kafka:核心设计与实践原理

点评:还没看

Linux

Linux高性能服务器编程

点评:看过重点章节,还不错

Linux内核设计与实现

点评:在看,阅读体验很好,强推

深入理解linux内核

点评:待看

算法

剑指offer

点评:必看,没啥可说的,许多高频的算法题

数据结构与算法之美(极客时间专栏)

点评:专栏写的不错,对于系统学习数据结构和算法算是一个不错的资源

Leetcode

点评:做了前300道中免费的吧,算法还是靠练习,强推

总结

理论知识可以靠数据结构与算法之美,实践的话,时间仓促就剑指offer过一遍,有时间就leetcode

系统设计

从零开始学架构

点评:快速看了一遍,不错,推荐

数据密集型应用系统设计

点评:在看,正好都是我感兴趣的话题,强推

总结

都看, 都特别好

分布式系统

mit 6.824

点评:待跟,大概是最好的学习分布式系统的课程了,今年重点学习的内容