这里汇总了本人阅读过的一些书籍,大多数都是一些比较经典的书籍。随着技术的发展,其中一些仍然适合阅读,但另外一些可能就显得有些过时。这里根据本人的阅读体会,给出书籍的阅读建议,希望帮助大家排坑,避免花费不必要的时间和精力;比较推荐的书籍名称会加粗处理。
编程语言
C++ 部分
书籍名称 |
简要描述 |
建议 |
C++ Primer |
C++ 初学必看书籍,重量级作品 |
纸质书阅读 |
Effective C++ |
C++ 语言中的一些 trick |
不建议买书,一些内容比较老旧,可以在网络查阅电子书 |
More Effective C++ |
C++ 语言中的一些 trick |
不建议买书,一些内容比较老旧,可以在网络查阅电子书 |
C++ 并发编程实践 |
C++ 多线程编程必看书籍,重量级作品 |
必读,并发编程的基础,部分内容较难可以跳过 |
Linux 多线程服务端编程 |
C++ 网络编程,Reactor 模式 |
需要上手仿写 muduo 网络库,C++网络必学 |
Redis 设计与实现 |
数据结构、网络 |
redis 的数据结构以及架构还是值得学习的 |
Glang 部分
书籍名称 |
简要描述 |
建议 |
Go 语言圣经 |
Golang 入门 |
Golang 入门的选择之一 |
Go 语言编程之旅 |
Golang 项目:博客、grpc、进程内缓存等 |
不建议买书,网络上有内容可以跟做,内容深度不够,章节顺序对初学者来说难以理解 |
Docker 源码分析 |
Docker 源码以及架构介绍 |
不建议,内容非常浅显,只介绍了几个模块,对理解 Docker、Golang 帮助都不大 |
数据库
redis
书籍名称 |
简要描述 |
建议 |
Redis 设计与实现 |
redis 全面剖析 |
redis 经典书籍,但缺少 redis 新版本内容 |
Redis深度历险:核心原理和应用实践 |
redis 应用及原理 |
一般,内容比较全面,但介绍不深入,可以作为学习大纲 |
深入分布式缓存 从原理到实践 |
缓存类应用综述 |
redis 部分比较简略 |
MySQL
书籍名称 |
简要描述 |
建议 |
MySQL 必知必会 |
MySQL 入门书籍 |
入门之选,可以搭配牛客网题目练习 |
MySQL 技术内幕:InnoDB 存储引擎 |
MySQL 架构与原理剖析 |
非常全面地介绍了 InnoDB 中的一些特性和读写优化,进阶必读,但缺少比较新的特性 |
SQL 学习指南 |
SQL 入门书籍 |
加强版的 MySQL 必知必会 |
SQL 经典实例 |
SQL 经典场景 |
搭配 Leetcode 题库一起学习 |
MongoDB
MongoDB 中应用了一些较新的技术优化点,非常值得学习。
MongoDB 的书籍还是比较少的,并且由于 MongoDB 早期使用的是 MMAP 引擎而非 WiredTiger,有一些学习资料中的内容已经不适用了。MongoDB 最好的学习方式还是网络博客,例如 MongoDB 官方博客、知乎、腾讯云、阿里云的栏目中都有一些很好的文章。
书籍名称 |
简要描述 |
建议 |
MongoDB 权威指南 |
MongoDB 一本通 |
PDF,可以经常查阅 |
MongoDB 核心原理与实践 |
对 MongoDB 架构和原理比较深入的一本书 |
书中讲述了一些原理,但不够深入,可以搭配网络上的博客一起学习 |
etcd
etcd 作为 Golang 经典项目,书籍也是比较少的,更多的还是从网络博客上学习。
书籍名称 |
简要描述 |
建议 |
etcd 工作笔记:架构分析、优化与最佳实践 |
etcd 架构、原理剖析 |
etcd 中比较好的书籍,建议阅读,但书比较老,与新版本 etcd 有一定出入,注意甄别 |
云原生分布式存储基石:etcd深入解析 |
更加综合的,但深度一般 |
在 etcd 工作笔记之中选择一本即可 |
计算机网络
书籍名称 |
简要描述 |
建议 |
Unix 网络编程 1 ( UNP ) |
unix 网络编程 |
必读书籍,重点在前几章 |
Unix 网络编程 2:进程间通信 |
unix 进程通信 |
不建议阅读,进程通信还是用 socket 比较多,可以看看信号部分的内容 |
计算机网络自顶向下方法 |
计算机网络概念 |
不清楚计算机网络概念可以读 |
图解 HTTP |
HTTP 介绍 |
基于 HTTP1.1,初学 HTTP 可以读 |
Wireshark 数据包分析实战 |
抓包分析 |
抓包实战时可以查阅 |
分布式
书籍名称 |
简要描述 |
建议 |
深入分布式缓存 从原理到实践 |
未看完 |
|
分布式系统模式 |
分布式系统各原理和基础概念介绍 |
可以比较全面地学习分布式系统 |
Linux
书籍名称 |
简要描述 |
建议 |
Linux 内核设计与实现 |
Linux 内核入门级别 |
内容比较全面,根据需要阅读 |