查看原文
其他

答读者问,飞哥能否给推荐几本硬核技术书?

张彦飞allen 开发内功修炼 2022-06-12

点击上方蓝字"开发内功修炼",关注并设为星标

了解你的每一比特,用好你的每一纳秒

经常收到后台读者发过来同样的问题,看完「开发内功修炼」以后觉得写的不错,问可否帮推荐几本书更系统地学习一下。

经典计算机图书的价值非常巨大,比普通的书的质量要好百倍。所以要看就要看经典,否则会浪费很多时间。其中很多好书不单单是要看一遍,而且在工作中遇到问题的时候随时要拿出来查。

我以前就一直推荐大家最好是拥有纸质版,因为当你想去查的时候,纸质的要比电子的更容易定位。正好今天天时地利都具备了,当当网在搞自营图书每满 100 就减 50 的活动。另外我还和当当网要到了两种特殊叠加优惠码。

  • 1.满 100 减 50 之后满 199 还能再减 30 !!!相当于用 170 元买 400 元的书
  • 2.满 100 减 50 之后满 99 元还能减 10!!!相当于用 90 元买 200 元的书

机会难得,大家可以趁机开始屯书了。这个活动当当所有的自营图书都参与。为了减少大家的选择困难,我再次给大家推荐一些我个人比较喜欢的硬核技术书!

如果自己早就准备好了要囤的书,那就可以跳过我推荐的书单,直接拉到文末领取 30 元 和 10 元的特殊优惠码使用即可,注意活动截止到 3 月 25 号

一、计算机系统

1. 《现代操作系统(第3版)》

这本书是操作系统领域的经典之作。把操作系统的经典概念都基本讨论全了:进程、线程、存储管理、文件系统、I/O、死锁等等。不过该书过于全面,也过于理论,适合入门。

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

这本书我本人真的是非常喜欢,经常会回头去翻一翻,上次直播抽奖送的也是这本。它对于想理解你写出来的程序是怎么跑起来的同学真是的太合适了。里面推荐价值比较高的几块。一是存储器层次结构,这块内容对于理解CPU的缓存非常有好处。二是虚拟内存,看完这块能帮助理解开发手中用的内存地址是怎么转化到物理内存地址的。你也将彻底弄清楚页表、TLB缓存等概念。程序执行原理你都清楚了,还愁优化不了性能吗?

3.《计算机组成与设计:硬件/软件接口(原书第5版·RISC-V版)》

如果不满足于内核层面的内功,还想了解了解硬件方面是怎么运行的,那这本书非常适合你。他是 图灵奖得主 Patterson 和 Hennessy 一起写,计算机体系结构领域的经典书籍,读完它你将能更深刻地理解 CPU 是怎么工作的。

4.《现代操作系统:原理与实现》

这本书将击碎你对国人写的书就是差的刻板印象,豆瓣 9.2 分能证明他的质量。区别于其它的操作系统类书,它搭配了 ChCore课程实验,我觉得非常难得。另外它还介绍了 CPU 虚拟化,内存虚拟化、IO 虚拟化和中断虚拟化原理。

5. 《编译原理(原书第2版)》

如果你好奇于你写的代码如何编译成计算机可运行的代码的,那么你需要了解编译原理。这本是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”的最新版本。

二、Linux 系统

1. Linux 源码

是的,我第一个要推荐的并不是书,而是 Linux 的源代码。个人觉得它是最重要的学习资料,你可以到这里去下载。

地址:https://mirrors.edge.kernel.org/pub/linux/kernel

2.《Linux环境编程:从应用到内核》

这本书是一位读者推荐给我的,我读完以后确实感觉大有收获。对于我来说,我更想理解 Linux 环境编程及其背后的工作机制。这本书从应用出发,深入内核源码,研究 Linux 各接口的工作机制和原理,让读者不仅知其然,还知其所以然。市场上唯一一本将Linux应用态与内核态相结合的技术图书,让你有种通透的感觉。

3.《Linux 高性能服务器编程》

性能是服务器相关开发运维都必须要关注的重点问题。这本书先对Linux服务器编程的核心基础——TCP/IP 协议进行了深入的解读。接着又对高性能服务器编程的核心要素进行了全面深入的剖析,包含Linux网络编程API、高级I/O函数、I/O复用、信号、定时器、高性能 I/O 框架库Libevent、进程池和线程池等等。

注意:这本书不在当当自营里,所以无法参加满减活动

4. 《Linux 内核设计与实现(原书第3版)》

飞哥最喜欢分析内核,所以专门分析内核的书一定少不了。这本书全面介绍了 Linux 的进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS等主题。唯一的缺点就是基于的内核版本有点老,不过鱼和熊掌无法全得。

5. 《深入理解 Linux 内核(第三版)》

这本书也是我参考的比较多的,同样基于 Linux 2.6 的内核。

6. 《性能之巅》

服务器端工程师的一大能力体现就是对性能的把握,重视性能的你怎么能少的了性能之巅。

7.《BPF之巅》

BPF 是近年来 Linux 系统技术领域的一个巨大创新。从 2017 年开始,它出现的频率越来越高,目前已经有互联网巨头公司开始将它应用于生产环境。这本书和性能之巅是同一个作者,是一本全面介绍 BPF 技术的图书。

三、计算机网络

1. 《计算机网络:自顶向下方法》

这本书从应用层的协议出发,一步步往底层走,很符合正常开发的思维。而且还搭配了 wireshark 实验。如果你只能选一本网络方向的书的话,那么必须选它!

2、《TCP/IP详解 卷1:协议(原书第2版)》

这是一本完整而详细的 TCP/IP 协议指南,把 arp、ip、tcp、udp 都介绍的透透的。也介绍了 Linux 上可用的 ping、traceroute 等网络分析工具。也是非常值得通读的一本。

四、开发语言类

1、《C程序设计语言(第2版·新版)典藏版》

由于内核的源码都是 C 语言实现的,所以如果你对 C 理解起来有困难的话,那么你可能需要它来帮助你。国内的很多 C 语言相关的教材都是参考的它。

2、《Go程序设计语言》

Golang 目前越来越流行了,各大互联网公司也都开始了应用。所以这里选本黑皮书推荐给大家。

3、《Go语言高级编程》

不仅仅只介绍基础的语法,还涵盖了 gRPC、Web 系统以及分布式方向的技术。

4、《深入理解Java虚拟机》

如果你是一个 Java 程序员,如果你想成为高级别的工程师,或者想进入大厂,那么必须要理解 Java 虚拟机。这本书可以说是讲解 Java 虚拟机的经典了,第三版大幅更新50%以上内容,值得所有Java技术人员一读再读。

5、《Java 并发编程实战》

这本是我的一个技术号主朋友帮忙推荐的,他是从事 Java 的。

五、架构与模式

当我们具备了深厚的内功基础以后,我们的地基就很结实、很稳固了。这个时候我们可以考虑来在这个基础上搭建我们富丽堂皇的技术大厦,比如软件架构。

1、《设计模式:可复用面向对象软件的基础》

在开发界,虽然大家各自的业务都有所不同,但其实是可以有一些共同的设计上的东西存在的。这就是设计模式。凝聚了软件开发界几十年的设计经验,它们中的某个可能能帮你解决你在设计时遇到的一些难题。

2.《写给架构师的 Linux 实践》

这是一本新书。它把现代项目架构实践中经常用到的 GlusterFS、Kubernetes、Elastic Stack 都介绍了一遍,还分析了 CPU 数量、文件系统缓存等对它们性能表现的影响。

3、《微服务架构设计模式》

目前微服务也越来越流行了,所以这方面的资料也有必要储备一下。这本书将教会你如何开发和部署生产级别的微服务架构应用,帮助你设计、实现、测试和部署基于微服务的应用程序。涵盖44个架构设计模式,系统解决服务拆分、事务管理、查询和跨服务通信等难题。

4、《Go微服务实战》

目前 Go 越来越流行了,不过用 Go 来进行微服务的书貌似一直是一个空缺。正好最近我发现了这本书,翻了一下目录觉得讲述的很全面。它把微服务理论、gRPC、Docker、日志和监控、持续交付等方面都介绍到了,可以尝试一下。

5、《架构即未来(原书第2版)》

在公司里的架构,很多时候不仅仅是软件的问题,还牵涉到人和管理。这本书阐述人,管理,过程,组织架构再到技术架构设计对高可用系统和产品的影响。你可以利用其中的工具和建议,在你的技术和业务上取得成功,适合从技术岗转型到管理岗的同学读。

优惠码使用方式

当当活动:每满 100 减 50
优惠码:注意区分大小写
  【JA7ZDY】 10 元优惠券(满 99 元可用)
  【7WZ8MN】 30 元优惠码(满 199 元可用)
使用渠道:当当app和当当小程序
使用时间:3.23-3.25
适用范围:全场当当自营图书(教材、考试类除外)
注意事项:本活动满减与礼券均不支持团购,同一账号、同一地址、同一手机号、同一IP反复购买本活动商品,当当有权取消订单,终结交易。


使用步骤

  • 步骤 1:长按二维码进入当当小程序,挑选图书至购物车

  • 步骤 2:挑选完成后点击首页,找到购物车并进行结算

  • 步骤 3:输入上面提供的优惠码,比如 7WZ8MN (注意全部大写)

  • 步骤 4:结账坐等收货。

好了,不多说了,我自己也要去加仓屯书了。最后再叮嘱一次,活动截止到 3 月 25 号,而且优惠券数量有限,先到先得!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存