Bootstrap

2021年我读过的52本书

2021年6月我开始接触微信读书,一使用,立马就被迷住了。在微信读书里,可以看到其他读者做的笔记,写的书评,可以与其他读者一起交流。主要的是,可以认识一波大佬。从6月到12月底,我在微信读书上花费400多个小时,阅读了约50本书吧。现在将这50本书带大致罗列一下,对于优秀的书籍做一下推荐。

(这里显示55本,实际是52本,有几本是中英文都有,都标记了读完)

以下的推荐指数5为最高。

因为我主要的编程语言是C++,所以书籍列表中会有大量C++相关的书籍。

在文章的最后会有一个推荐书籍列表,如果时间不够,可以直接翻到最后查看列表。

书籍列表

1. 人类简史:从动物到上帝

书如其名,这本书就是介绍了人类从出现到进化到如今的阶段这个漫长的过程中,一系列的影响因素是如何决定人类发展方向的。对于人类历史感兴趣的,可以阅读一下。

推荐指数:3

2. 给孩子讲量子力学

这本书用比较通俗的语言,用简单的例子阐述了量子力学中的一些深奥概念。可以建立起对量子力学的初步认识。

推荐指数:3

3. 窗边的小豆豆(独家定制版)

本书讲述了作者童年在巴学园受教育的故事。有温暖,有感动。更多的是对小孩教育的启迪。推荐每一位家长都阅读一下。

推荐指数:5

4. Docker:容器与容器云(第2版)

这本书从底层原理讲解了Docker容器中磁盘内存网络等各种资源的配置、限制、管理方法。后面还介绍了一些更高层的工具使用方法。讲述了k8s中个种概念、原理等内容。这本书中写的一些工具,目前可能有一些已经过时了,或者其使用方式发生变化和书中已经不符了。但是这本书中讲述的原理的内容是非常有价值的,建议对docker容器有兴趣的读者可以阅读一下。

推荐指数:4

5. 未来简史:从智人到智神

本书分析了人类当下以及未来可能的发展方向,无非是以长生不死为主要目标。也讲解了当下的条件以及未来可能出现的一些条件。对于人类未来的发展方向有深刻的理解。

推荐指数:3

6. 奔跑吧Linux内核(第一版)

本文介绍了Linux内核各种模块的实现,有一定的难度,需要一定的内核基础知识,阅读的时候也建议结合网上的一些文章来一起理解。

推荐指数:4

7. 社会工程:安全体系中的人性漏洞

本文主要讲的是计算机系统的入侵,但是不是从计算机角度去入侵,而是从人的角度的考虑,从物理工具的角度去考虑(本书甚至介绍了开锁技巧)。

推荐指数:3

8. 算法图解

用一些比较生动的例子来介绍数据结构和算法,比较基础,适合用来做算法入门。

推荐指数:4

9. 深入浅出5G移动通信

这本书,怎么说呢,实在是没看懂,但是这应该不是书的问题,是我的通信知识太浅薄了。

推荐指数:2

10. 算法之美

强烈推荐的一本书,不要被这本书的名字迷惑,这本书不是讲解计算机算法的,而是讲解算法在生活中的应用的,用算法来使你的人生遗憾最少,很有意思的一本书。

推荐指数:5

11. 庄子(中华经典藏书·升级版)

想要躺平的同学可以看看这本书,如何才能躺的心安理得,躺的更舒服。

推荐指数:2

12. Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理

这本书以linux早期1.0的版本为分析对象,详细讲解了从引导到整个系统启动的每个阶段,包括其内存的实际分布情况,代码运行情况都有详细讲解。虽然与现在的内核差别比较大,但是作为初学者入门Linux内核还是很有帮助的。

推荐指数:5

13. 秒懂设计模式

这本书用生动的语言讲解了23个设计模式,并且都有例子分析。几个容易混淆的设计模式之间的区别也有讲解。

推荐指数:4

14. 穿越计算机的迷雾(第2版)

一本难得的好书,这本书不是从计算机开始讲起,而是从电开始讲起,从硅开始讲起。电子管的原理是什么?二极管的原理是什么?触发器的原理是什么?如何制作存储器?这些才是计算机的真正原理。

推荐指数:5

15. 深入理解C++11:C++11新特性的解析与应用

本书对C++11的一些特性做了深入的讲解,包括一些很细的细节。如果想详细了解C++11的话,可以深入看一下。

推荐指数:4

16.卡片笔记写作法:如何实现从阅读到写作

卡片笔记并不是适合所有人,本书对于经常写文章的人可能会很有用。

推荐指数:2

17. 领域驱动设计:软件核心复杂度应对之道

DDD的权威书籍,对领域驱动设计里面的一些概念作了深刻解析。专业性较强,实践的例子比较抽象。

推荐指数:4

18. 记忆宫殿:成为记忆高手的秘诀

本书系统地介绍了记忆宫殿的方法原理,经过我亲自实验,效果还不错。但是我对记忆的要求没有那么高,所以本书对我没有那么大的作用。

推荐指数:3

19. 快速阅读

在这个信息爆炸的时代,快速阅读是一种必备的技能。本书介绍了一些阅读的方法和技巧,对快速阅读是有一定帮助的(不太适合阅读专业性较强的书籍)。

推荐指数:3

20. 实现领域驱动设计

DDD的另一本权威书籍,补充了前面《领域驱动设计:软件核心复杂度应对之道》缺少的实践示例。并且对一些不易理解的概念,做了更深层次的讲解。

推荐指数:5

21. 奔跑吧Linux内核(入门篇)

这是《奔跑吧Linux内核》第2版的其中一本,主要从实践的角度去理解Linux内核。书中大量的实践任务,教你如何调试内核。

推荐指数:4

22. Linux内核深度解析

本书比《奔跑吧Linux内核》讲解的更深入更具体。但是大体的内容是相似的,可以作为一个补充。

推荐指数:4

23. Rust编程之道

本书读完感觉不如网上说的那么好,把一些概念讲的云里雾里(与Rust自身的复杂度也有关系),让我这个初学者对Rust更加望而却步了。

推荐指数:2

24. 改变世界的九大算法

这本书很不错,对于这9个算法的基本原理讲解的很透彻,对他们如何改变世界有深入的理解。

推荐指数:5

25. 程序员的呐喊

本书是谷歌的一个工程师对种种现象的一个吐槽。很有意思,值得一读。

推荐指数:5

26. 复杂软件设计之道:领域驱动设计全面解析与实战

作为前面两本DDD书籍的补充,本书的例子更加具体。可以对照阅读一下。

推荐指数:4

27. Redis设计与实现

本书讲解了redis实现的重要数据结构与流程,对源码的理解做得很透彻。分析 Redis源码必看的一本书。

推荐指数:5

28. 老“码”识途

本书涉及的方面非常广泛,从底层原理到软件设计到编程语言,编译器,操作系统等都有涉及。是一本难得的原理解析的书。

推荐指数:5

29. 中华人民共和国刑法(最新修订版)

做事前先查查刑法,看会不会被弄进去,哈哈。

推荐指数:2

30. 贝叶斯的博弈:数学、思维与人工智能

本书讲解了贝叶斯理论在各个方面的应用和拓展,可以认识一个更完整更全面的贝叶斯,但是难度比较大,其中的推导也比较困难,如果不是特别感兴趣,不建议阅读。

推荐指数:2

31. 微积分的历程:从牛顿到勒贝格

本书讲解了微积分的历史,中间涉及到了一些数学推导,但是不是特别的复杂。读完本书可以感受到那些数学大佬们心思之巧妙。感兴趣的话可以阅读一番。

推荐指数:3

32. Effective C++:改善程序与设计的55个具体做法

这本书也是一个经典老书了,有一些条款可能现在不太适用了,但是大多数条款还是有深刻意义的,建议写C++的同学都过一遍。

推荐指数:4

33. 程序员的自我修养:链接、装载与库

本书也是计算机经典书籍之一。讲述了编译器链接器的原理,程序的加载过程。对于深入理解程序运行原理的同学来说,本书是必读书籍之一。

推荐指数:5

34. Go语言底层原理剖析

本书讲解了Go语言实现的方方面面,但是内容比较浅,关键内容不够深入。推荐看网上另一本电子书:

推荐指数:3

35. More Effective C++:35个改善编程与设计的有效方法

本书是《Effective C++》的续集,对《Effective C++》做了一些补充。也是一本难得的好书。

推荐指数:4

36. 100个gdb小技巧

本书对于gdb的一些常用操作进行说明与演示,让你熟练掌握gdb。

推荐指数:5

37. Effective Modern C++

本书对现代C++的一些最佳实践做了梳理与总结。 使用C++开发的必读书籍之一。

推荐指数:5

38. 深度探索C++对象模型

经典书籍,本书讲述了C++中一些关键概念的实现与内存布局,虽然与现代编译器可能有出入,但是仍不失为是一个很优秀的了解实现原理的书。但是更建议看英文原版。中文翻译比较拉胯,对于一些需要翻译的名词没有翻译,不需要翻译的内容也翻译的词不达意。

推荐指数:3(英文原版推荐指数:5)

39. Exceptiona C++:47个C++工程难题、编程问题和解决方案

本书也是C++必读书籍之一。书中以大量的经典实践和案例阐述一些问题的解决方法。通过阅读本书,你可以了解到很多的编码技巧,特别是对异常安全的处理。

推荐指数:5

40. 逆向工程入门指南

这本书整体来说偏向于手册,讲述了C/C++各种语法元素在汇编语言中的翻译与表示。对于想了解二进制可执行文件的读者来说,不失为一本好书。

推荐指数:4

41. 成为可怕的自律人

本书主要是讲如何自律,如何克服生活中影响自律的因素。对于个人成长还是有很大帮助的。

推荐指数:4

42. C++ Prime中文版 第5版 + C++程序设计语言

这两本书是C++入门必看书籍,确实比较厚,对于初学者来说也确实比较难。但是,这是学习C++语言必须跨越的一个门槛。

推荐指数:5

43. C程序设计语言(原书第2版·新版)

C语言之父编写的 C语言权威入门书籍,推荐阅读。

推荐指数:5

44. UNIX编程艺术

本书讲解的Unix(Linux)操作系统中的一些设计上的哲学思考,为什么要这样设计,为什么会变成今天这个样子,在本书中都能找到答案。对现在的软件工程设计有很大的启迪意义。

推荐指数:5

45. 深入理解计算机系统(原书第3版)

本书讲解了计算机系统的方方面面,理解计算机系统的必读书籍。

推荐指数:5

46. 算法导论(原书第2版)

本书讲解了大量算法的原理、分析以及证明。是学习算法的必读书籍之一。

推荐指数:5

47. Vim实用技巧

本书罗列了Vim编辑器中各种操作的方法。对于初学Vim编辑器的 同学来说可以作为手册查阅。

推荐指数:3

48. 现代C++语言核心特性解析

目前阅读过的最好的现代C++的语法书,对于现代C++的常用特性的每一个细节都讲得很清楚,强烈推荐。

推荐指数:5

49. 心理罪密档

一本悬疑推理小说,有一点小惊悚。前面的推理非常精彩,人物关系错综复杂。可惜后面脑洞开得太大圆不回来了,有点烂尾。阅读的整体感觉就是“惊悚→推理→灵异→科幻”

推荐指数:3

50. More Exceptional C++:40个新的工程难题、编程疑问及解决方法

本书是《Exceptional C++》的补充,对编写异常安全程序有很多优秀的最佳实践,强烈推荐。

推荐指数:5

51.受用一生的高效笔记术

本书讲解的各种笔记的做法,帮助你规划与梳理人生,认清自己,提高自己。对个人成长有很大的帮助。各位读者能看到这篇总结,本书功不可没。

推荐指数:5

52. Effective STL中文版:50条有效使用STL的经验

本书对STL中个种容易踩的坑作了整理,同时对如何正确高效的使用STL,提出了很多最佳实践。推荐使用STL的同学阅读。

推荐指数:4

值得读

这里按照分类罗列一下上面推荐指数超过4的书籍:

教育

  • 窗边的小豆豆(独家定制版)

底层实现与原理

  • Docker:容器与容器云(第2版)

  • 奔跑吧Linux内核(第一版)

  • 穿越计算机的迷雾(第2版)

  • Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理

  • 奔跑吧Linux内核(入门篇)

  • Linux内核深度解析

  • Redis设计与实现

  • 程序员的自我修养:链接、装载与库

  • 老“码”识途

  • 深度探索C++对象模型(英文原版)

  • 逆向工程入门指南

  • 深入理解计算机系统(原书第3版)

  • UNIX编程艺术

算法与设计模式

  • 算法图解

  • 秒懂设计模式

  • 改变世界的九大算法

  • 算法导论(原书第2版)

编程语言及其分析

  • 深入理解C++11:C++11新特性的解析与应用

  • 现代C++语言核心特性解析

  • C++ Prime中文版 第5版 + C++程序设计语言

  • C程序设计语言(原书第2版·新版)

DDD

  • 领域驱动设计:软件核心复杂度应对之道

  • 实现领域驱动设计

  • 复杂软件设计之道:领域驱动设计全面解析与实战

技巧与最佳实践

  • Effective C++:改善程序与设计的55个具体做法

  • More Effective C++:35个改善编程与设计的有效方法

  • Effective Modern C++

  • Exceptiona C++:47个C++工程难题、编程问题和解决方案

  • More Exceptional C++:40个新的工程难题、编程疑问及解决方法

  • Effective STL中文版:50条有效使用STL的经验

  • 100个gdb小技巧

个人成长

  • 算法之美(这个分类没有问题)

  • 程序员的呐喊

  • 成为可怕的自律人

  • 受用一生的高效笔记术