“按主题分类的书籍”部分根据主题而非编程语言组织免费编程资源。这种方法允许用户找到特定主题的资源,而无需考虑其实现语言。本节中的书籍不依赖于特定编程语言,或者涵盖适用于多种语言的概念。
对于特定语言的编程书籍(如Python、JavaScript、C等),请参阅按编程语言分类的书籍。对于非英语书籍,请参阅非英语书籍。
“按主题分类的书籍”集合提供了一系列全面的免费资源,侧重于计算机科学和编程的概念和理论领域。这些资源按特定主题组织,使得查找算法、机器学习或操作系统等主题的材料变得更容易,而无需受限于特定编程语言。
按主题分类的书籍概览
来源:books/free-programming-books-langs.md1-7 books/free-programming-books-subjects.md1-7
“按主题分类的书籍”部分按主题领域按字母顺序组织,每个主题都包含有关该特定主题的书籍。书籍列出其标题和访问链接。有些书籍可能包含有关格式(PDF、HTML 等)或许可条款的额外信息。
来源:books/free-programming-books-subjects.md9-56 books/free-programming-books-subjects.md91-135
“按主题分类的书籍”部分包含大量主题资源,涵盖了广泛的计算机科学和编程主题。下方表格重点介绍了部分主要主题领域
| 类别 | 描述 | 值得关注的资源 |
|---|---|---|
| 算法与数据结构 | 基础算法与数据组织 | 《算法》(Jeff Erickson 著),《思考复杂度》 |
| 人工智能 | AI 概念、机器学习基础 | 《AI 安全:为血肉之躯而设》,《人工智能的探索》 |
| 云计算 | 云架构与服务 | 《AWS 良好架构框架》,《Kubernetes 加固指南》 |
| 数据库 | 数据库设计与管理 | 《数据库设计》,《数据库系统读本》 |
| 操作系统 | 操作系统设计与内部结构 | 《操作系统:三件套》,《操作系统开发小册子》 |
| 编程 | 通用编程概念 | 《计算机程序的构造和解释》,《代码的本质》 |
| 软件架构 | 设计模式与系统架构 | 《领域驱动设计参考》,《微服务与面向服务架构》 |
| 机器学习 | 机器学习算法与应用 | 《贝叶斯推理与机器学习》,《深度学习》 |
来源:books/free-programming-books-subjects.md91-135 books/free-programming-books-subjects.md137-171 books/free-programming-books-subjects.md406-459 books/free-programming-books-subjects.md736-756 books/free-programming-books-subjects.md792-808 books/free-programming-books-subjects.md888-934
来源:books/free-programming-books-langs.md1-7 books/free-programming-books-subjects.md1-7 books/free-programming-books-subjects.md745-756
“按主题分类的书籍”部分以“元列表”类别开头,该类别提供了编程书籍和资源的集合。这些元列表作为精心策划的入口点,通向不同领域的各种资源。
一些值得关注的元列表包括
这些集合对于希望获得更广泛概述或跨多个主题的精选集合的用户来说是宝贵的起点。
来源:books/free-programming-books-subjects.md58-88
“按主题分类的书籍”部分是从最初被称为“语言无关”的部分演变而来,该部分位于“按编程语言分类的书籍”文件中。随着代码库的增长,这部分内容变得非常庞大,因此被拆分到单独的文件中。
不侧重于特定语言的通用编程书籍列在“编程”主题下,而更专业的主题则有其自己的专用主题类别。
来源:books/free-programming-books-langs.md1-7
“按主题分类的书籍”部分中的每个书籍条目通常遵循一致的格式
* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/a0ff9b41/Book Title" undefined file-path="Book Title">Hii</FileRef> - Author Name (Format information, if available) (License information, if available)
可能包含附加说明或限定词,例如
某些条目可能包含多种格式(PDF、HTML、EPUB)或其他特殊标记。
来源:books/free-programming-books-subjects.md91-135 books/free-programming-books-subjects.md406-459
来源:books/free-programming-books-subjects.md9-56 books/free-programming-books-subjects.md406-459
“按主题分类的书籍”列表,像 free-programming-books 代码库的其他部分一样,通过社区贡献进行维护。按主题组织使得贡献者更容易将新资源添加到适当的类别中,也方便用户发现特定主题的资源。
当新的资源被贡献时,它们会按字母顺序放置在适当的主题类别中。如果一个资源涵盖多个主题,它通常会被放置在最相关的类别中。
来源:books/free-programming-books-subjects.md1-7 books/free-programming-books-langs.md1-7
为了有效使用“按主题分类的书籍”部分
为了更广泛地探索,诸如“Goalkicker”或“Learn X in Y minutes”之类的元列表提供了跨多个主题的结构化学习路径。
来源:books/free-programming-books-subjects.md9-56 books/free-programming-books-subjects.md58-88