菜单

按主题分类的书籍

相关源文件

目的与范围

“按主题分类的书籍”部分根据主题而非编程语言组织免费编程资源。这种方法允许用户找到特定主题的资源,而无需考虑其实现语言。本节中的书籍不依赖于特定编程语言,或者涵盖适用于多种语言的概念。

对于特定语言的编程书籍(如Python、JavaScript、C等),请参阅按编程语言分类的书籍。对于非英语书籍,请参阅非英语书籍

概述

“按主题分类的书籍”集合提供了一系列全面的免费资源,侧重于计算机科学和编程的概念和理论领域。这些资源按特定主题组织,使得查找算法、机器学习或操作系统等主题的材料变得更容易,而无需受限于特定编程语言。

按主题分类的书籍概览

  • 包含56个以上主题领域的资源
  • 涵盖从算法到 Web 性能的所有内容
  • 侧重于概念性且不依赖于语言的材料
  • 按字母顺序组织,方便浏览

仓库组织图

来源: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

元列表与导航辅助

“按主题分类的书籍”部分以“元列表”类别开头,该类别提供了编程书籍和资源的集合。这些元列表作为精心策划的入口点,通向不同领域的各种资源。

一些值得关注的元列表包括

  • Goalkicker - 专业人士编程笔记书籍
  • Learn X in Y minutes
  • 免费技术书籍
  • Papers We Love

这些集合对于希望获得更广泛概述或跨多个主题的精选集合的用户来说是宝贵的起点。

来源: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)

可能包含附加说明或限定词,例如

  • (需要电子邮件地址) ——表示表单需要电子邮件
  • (:construction: 正在进行中) ——表示该资源仍在开发中
  • (:card_file_box: 已归档) ——表示该资源是归档版本

某些条目可能包含多种格式(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

为了有效使用“按主题分类的书籍”部分

  1. 从页面顶部的综合索引开始,直接跳转到感兴趣的主题
  2. 如果心中没有特定主题,可以按字母顺序浏览
  3. 使用浏览器搜索(Ctrl+F/Cmd+F)查找特定术语或技术
  4. 查看“元列表”部分,获取精选资源集合
  5. 请记住,特定语言的资源位于单独的按编程语言分类的书籍部分

为了更广泛地探索,诸如“Goalkicker”或“Learn X in Y minutes”之类的元列表提供了跨多个主题的结构化学习路径。

来源:books/free-programming-books-subjects.md9-56 books/free-programming-books-subjects.md58-88