推荐书籍
一、计算机系统
1)系统组成
- 《深入理解计算机系统,原书第3版》 豆瓣评分9.8,简称csapp,必备
- 《计算机程序的构造和解释(原书第2版)》 豆瓣评分9.5 豆瓣热门 Top 10
- 《编码:隐匿在计算机软硬件背后的语言》 豆瓣评分9.3
- 《计算机体系结构:量化研究方法》 豆瓣评分8.9 翻译拉低了评分
- 《计算机组成与体系结构:性能设计(原书第8版)》 豆瓣评分8.3
- 《计算机组成与设计:硬件 / 软件接口》 豆瓣评分9.4
- 《计算机是怎样跑起来的》 豆瓣评分7.5 仅适合入门
- 《程序是怎样跑起来的》 豆瓣评分8.0
2)编译与链接
- 《编译原理: 原理、技术与工具》 豆瓣评分9.1 经典龙书
- 《现代编译原理,C语言描述修订版》 豆瓣评分8.5
- 《程序员自我修养-链接、装载与库》 豆瓣评分8.8
二、操作系统
1)操作系统理论
- 《操作系统之哲学原理 第2版》 豆瓣评分8.3
- 《现代操作系统,原书第4版》 豆瓣评分9.1
2)Linux 内核
- Linux源代码 评分10分 源码是最好的资料, 官网地址,另一个链接
- 《现代体系结构上的 UNIX 系统》 豆瓣评分9.4
- 《深入理解 Linux 内核(第三版)》 豆瓣评分8.7
- 《Linux 内核设计与实现(原书第3版)》 豆瓣评分8.6
3)操作系统实现
- 极客时间操作系统实战45讲 http://gk.link/a/10rfH
三、网络技术
1)网络协议
- 《计算机网络:自顶向下方法(第7版)》 豆瓣评分9.4
- 《TCP-IP详解 卷1:协议》 豆瓣评分9.2
- 《网络是怎么样连接的》 豆瓣评分9.1 可动性强内容也比较硬核
- 《TCP/IP详解 卷2:实现》 豆瓣评分9.1
- 《TCP/IP详解 卷3》 豆瓣评分8.8
- 《图解 TCP IP 第5版》 豆瓣评分7.8 优点是图解,缺点是不深入
- 《图解 HTTP》 豆瓣评分8.1 通俗易懂,不过点到为止
- 《HTTP权威指南》 豆瓣评分8.6 做Web必读,缺点是有点老
2)Linux 网络
- 《深入理解 LINUX 网络技术内幕》 豆瓣评分8.7
- 《追踪Linux TCP/IP代码运行》 豆瓣评分7.2 虽然评分不高,不过用来查还是不错的
3)抓包分析
- 《Wireshark 网络分析就这么简单》 豆瓣评分8.6
- 《Wireshark 网络分析的艺术》 豆瓣评分8.8
四、应用
1)系统编程
- 《Linux/UNIX系统编程手册》 豆瓣评分9.4
2)网络编程
- 《UNIX网络编程卷1:套接口API》 豆瓣评分9.6 被誉为UNIX编程“圣经”
- 《UNIX网络编程卷2:进程间通信》 豆瓣评分9.4
- 《Linux 环境编程:从应用到内核》 豆瓣评分8.9 和 UNIX 网络编程的区别是这本会讲内核实现
3)Mysql
- 《MySQL技术内幕 InnoDB存储引擎 第2版》 豆瓣评分8.5
4)Nginx
- 《深入理解 Nginx(第2版)》 豆瓣评分8.7
5)Golang
- 《Go 语言设计与实现》 评分9.8
- 《Go 专家编程》 豆瓣评分9.4
5)Rust
五、性能分析与调优
- 《性能之巅 洞悉系统、企业与云计算》 豆瓣评分8.6 至少9分以上
- 《BPF之巅 洞悉Linux系统和应用性能》 豆瓣评分8.5
六、算法与数据结构
- 《算法导论原书第2版》 豆瓣评分9.3
- 《编程珠玑(第二版)》 豆瓣评分8.9
- 《Leetcode刷题手册》
综合
- 内存溢出:代码分享 技术聚客 为程序员服务。主要栏目有:技术专栏,技术教程,代码,聚客等,网站内容及其丰富。
OutOfMemory(内存溢出)是一个程序员常见的错误类型,我们的网站依此为名寓意是一个程序员资料分享,编程技术交流的网站。
算法
数据库
- MySQL 是怎样运行的:从根儿上理解 MySQL
- db-tutorial:是一个数据库教程。在线文档
- miniob: 从 0 到 1 数据库内核实战教程。该项目是 OceanBase 团队基于华中科技大学数据库课程原型,联合多所高校重新开发的、从零上手数据库的学习项目。它结构简单、代码简洁,不仅有文字讲解和视频教程,还有由浅入深的题目。通过理论+实战的方式,帮忙初学者迅速掌握内核模块功能和协同关系,提高工程编码能力,有助于在面试和工作中脱颖而出。
性能优化
Github精选项目
awesome:一个关于各种有趣话题的精彩列表。这些列表包含了有关各种领域的精选资源,从编程工具到娱乐、学习资源等等。awesome旨在为用户提供一个集中的资源库,帮助他们探索感兴趣的话题,发现新的工具和资源。
开发者成长之路:一个为所有开发者提供的成长之路指南,旨在为菜鸟和老鸟提供一条充满乐趣和挑战的发展路径。这个项目将帮助你轻松了解各种技能树和技术路线,使你的职业之旅不再迷茫。无论你是新手还是经验丰富的开发者,这个开源项目都提供了有价值的学习资源和指导,帮助你不断提升技能。
GitHub中文排行榜: 包含了所有计算机编程语言的学习资料。
开发内功修炼: 飞哥的开发内功修炼从 CPU、内存、磁盘、网络四大模块进行深度思考,总结出来。
动画图解的数据结构与算法教程: 一个动画图解的数据结构与算法教程,支持多种编程语言,如 Java、C++、Python、Go、JS、TS、C#、Swift、Rust、Dart、Zig 等。通过可视化的方式,这个项目帮助学习者更轻松地理解和学习各种数据结构与算法。
C++核心指南: 一套关于C++编码的可靠指南、规则和最佳实践的合集。这些指南旨在帮助C++开发人员编写可读、高效、安全的代码。它提供了有关代码结构、内存管理、异常处理等方面的建议,有助于提高C++代码的质量和可维护性。如果您是C++开发人员,这些指南可能对您的项目非常有帮助。
C++那些事: 这是一个适合初学者从入门到进阶的仓库,解决了面试者与学习者想要深入 C++ 及如何入坑 C++ 的问题。除此之外,本仓库拓展了更加深入的源码分析,多线程并发等的知识,是一个比较全面的 C++ 学习从入门到进阶提升的仓库。
Effective Modern C++ 中文翻译版: 《Effective Modern C++》一书的翻译版本为中文读者提供了一份精心翻译的现代 C++ 学习资源,帮助开发者更好地理解和应用现代 C++ 的最佳实践。
系统设计相关: 一个关于系统设计的开源项目。它的目的是用图像和通俗的话语来解释复杂的系统。以帮助读者更好地理解系统设计的要点。总的来说System Design有如下亮点:1.涵盖了多个系统设计的主题,如通信协议、数据库、缓存、微服务架构等。2.提供了多个系统设计的案例分析,如Netflix、Google等。3.通过丰富的流程图、架构图、代码块、表格等来展示系统的结构和逻辑。
Rust语言实战:该项目提供了大量的 Rust 实战练习,来帮助 Rust 新手学习和上手 Rust 语言。这里除了有大量的练习题和答案,还支持在线阅读、修改和编译 Rust 代码。在线阅读