开篇词
好书就是有漫卷诗书喜欲狂的感觉。
根据我的个人体验,好书就是能把事情说清楚的书,而且说的还很简单,直击要点、一剑封喉。甚至于有一种美感在,为啥呢,核心就是简单,哈哈,谁不喜欢简单呢。
以下是我学习过程中比较推崇的书,还有一些是待看的书,主要是后端开发者要了解的领域:操作系统、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
点评:待跟,大概是最好的学习分布式系统的课程了,今年重点学习的内容