# 好书推荐 由于版权原因,下面列举的图书中除了开源书籍提供了链接,其他的资源请大家自行通过 [libgen](http://libgen.is/) 查找。 另外再安利一个 GitHub 顶流热门项目 [free-programming-books](https://github.com/EbookFoundation/free-programming-books),收集了非常多的免费开源编程书籍。 ## 系统入门 - Principles of Computer System Design: An Introduction - Computer Systems: A Programmer's Perspective ## 操作系统 - [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/) - Operating Systems: Principles and Practice (2nd Edition) - [现代操作系统: 原理与实现 (银杏书)](https://ipads.se.sjtu.edu.cn/mospi/) - Modern Operating Systems ## 计算机网络 - [Computer Networks: A Systems Approach](https://book.systemsapproach.org/foreword.html) - Computer Networking: A Top-Down Approach ## 编译原理 - [My First Language Frontend with LLVM Tutorial](https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index.html) - Compilers: Principles, Techniques, and Tools (Dragon Book) - Engineering a Compiler ## 计算机语言(PL) - [Essentials of Programming Languages (EOPL)](https://eopl3.com/) - [Types and Programming Languages (TAPL)](https://www.cis.upenn.edu/~bcpierce/tapl/) ([北大相关课程](https://xiongyingfei.github.io/DPPL/2021/main.htm)) - [Practical Foundations for Programming Languages (PFPL)](https://www.cs.cmu.edu/~rwh/pfpl.html) - [Software Foundations (SF)](https://softwarefoundations.cis.upenn.edu/) ([北大相关课程](https://xiongyingfei.github.io/SF/2021/)) ## 体系结构 - Computer Architecture: A Quantitative Approach 5th Edition - Computer Organization and Design: The Hardware/Software Interface - [计算机体系结构基础(第三版)](https://github.com/foxsen/archbase) - 超标量处理器设计(姚永斌) - CPU 设计实战 (汪文祥 邢金璋) ## 分布式系统 - [Patterns of Distributed System](https://github.com/dreamhead/patterns-of-distributed-systems) - [Distributed Systems for fun and profit](http://book.mixu.net/distsys/index.html) ## 数据密集型系统设计 - Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems ([开源中文翻译](https://github.com/Vonng/ddia)) ## 理论计算机科学 - Introduction to the Theory of Computation,中文版:计算理论导引 ## 密码学 - Introduction to modern cryptography (second edition) by Jonathon Katz & Yehuda Lindell - Cryptography Engineering: Design Principles and Practical Applications ## 逆向工程 - [Reverse engineering for beginners by Dennis Yurichev](https://beginners.re/) 有中文版,中文:逆向工程权威指南 - 리버싱 핵심원리 by 李承远 有中文版,中文:逆向工程核心原理 ## 数据库系统 - Database System Concepts - [Architecture of a Database System](https://dsf.berkeley.edu/papers/fntdb07-architecture.pdf) ## 计算机图形学 - Fundamentals of Computer Graphics - Fluid Simulation for Computer Graphics - Real-Time Rendering, 4th edition - Physically Based Rendering: From Theory To Implementation - Advanced global illumination, 2nd Edition - [Monte Carlo theory, methods and examples](https://artowen.su.domains/mc/) - GPU Pro 系列 ## 游戏性&游戏引擎 - Game Engine Architecture, 3rd Edition by Jason Gregory (中文:游戏引擎架构,第二版有中文) - Game Engine Gems 系列 - 游戏编程模式 by Robert Nystrom - Game Programming Gems 系列 - Game Audio Programming 3: Principles and Practices by Guy Somberg - 实时碰撞检测算法技术 by Christer Ericson - AI for Games, 3rd edition by Ian Millington - [Game AI Pro 系列](http://www.gameaipro.com/) ## 深度学习 - [动手学深度学习](http://tangshusen.me/Dive-into-DL-PyTorch/#/) - [Speech and Language Processing](https://web.stanford.edu/~jurafsky/slp3/) - [神经网络与深度学习](https://nndl.github.io/) - [简单粗暴 TensorFlow 2](https://tf.wiki/) ## 软件工程 - [Software Engineering at Google](https://abseil.io/resources/swe_at_google.2.pdf) ## 设计模式 - 设计模式: 可复用面向对象软件的基础(Gang of Four) - 大话设计模式 by 程杰 - [Head First 设计模式](https://awesome-programming-books.github.io/design-pattern/HeadFirst%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.pdf) (比较简单易懂,适合面向对象设计模式的入门) ## C/C++ - The ANSI C Programming Language, 2nd Edition(中文:C程序设计语言第二版,C语言最经典的一本书) - C Primer Plus, 6th Edition(有中文版,适合0基础学习) - The C++ Programming Language, 4th Edition(中文:C++程序设计语言第四版) - C++ Primer, 5th Edition - STL源码剖析 by 侯捷 - Effective C++ - More Effective C++ - Effective STL - Effective Modern C++ ## 计算机视觉 - Multiple View Geometry in Computer Vision ## 机器人 - Probabilistic Robotics(中文:概率机器人,机器人行业圣经) ## 面试 - Cracking The Coding Interview