跳到内容

从这里开始

Software Systems Atlas 不是一条要求所有人从头读到尾的线性课程。它是一张系统知识地图:初学者可以沿着明确的主线建立基础,有经验的读者可以直接查协议、算法、实现边界和工程取舍。

30 秒选择入口

你现在的情况建议入口先达到什么结果
没写过程序,也不熟悉终端第零卷:开发者工坊能使用终端、Git 和调试器运行一个项目
会基础语法,但知识零散第一卷:编程之基能独立完成带输入、数据结构、异常处理和文件 I/O 的小程序
在做后端开发,想补系统知识后端工程师路径串起 HTTP、数据库、测试、分布式和运维
想转系统、编译器或基础设施系统程序员路径建立 CPU、内存、并发、网络和编译的正式模型
想查某个具体主题课程目录按卷和章节直达内容
要评估培训或发布范围产品就绪报告看清内容深度差异和已知风险

初学者主线

第一次学习编程时,不要一开始就挑战分布式系统、编译器或模型训练。按下面的检查点推进,发现前置知识缺口就回到对应卷补齐。

  1. 开发工具。 完成 Vol 0 后,你应能在终端进入目录、用 Git 保存修改、在 IDE 中打断点,并按照 README 启动项目。
  2. 编程基础。 完成 Vol 1 的核心章节后,你应能解释变量、控制流、函数、集合、异常和文件 I/O,并写出一个有输入和输出的小程序。
  3. 第一个项目。 做一个范围有限的命令行或小型 Web 项目。验收标准是能运行、能测试、能说明目录结构和已知限制。
  4. 网络基础。 学习网络分层、Socket、TCP 和 HTTP,能够追踪一次请求从客户端到服务端的路径。
  5. SQL 与数据库。 学习 SQL、规范化、B+ 树、事务和隔离级别,能够解释一条查询怎样读取和修改数据。
  6. 后端工程。 再进入测试、API 设计、部署、缓存、消息和可观测性。此时可以沿后端工程师路径继续。

进度不以“读完多少页”衡量。能运行一个例子、解释观察结果、定位一次错误,才算越过当前检查点。

阅读规则

  • 每卷首页会列出前置知识。看不懂术语时,先沿链接补前置,不要靠猜。
  • 故事和比喻用于建立直觉;定义、代码、状态机和实验才是判断技术结论的依据。
  • 标成 partialpseudocode 的代码不能直接运行。只有声明了环境和命令的 runnable 示例才承诺可执行。
  • 不同章节的审校和样例验证进度并不一致。站点当前状态是 guarded,详见产品就绪报告

全部课程卷

名称主要内容
0开发者工坊终端、Git、调试、包管理、Docker
1编程之基语法、控制流、面向对象、集合、并发、I/O
2数据结构与算法复杂度、线性结构、树、图、排序、动态规划
3深入计算机系统数据表示、CPU、内存、进程、并发、文件系统、性能
4计算机网络分层、Socket、TCP、HTTP、TLS、DNS、QUIC、调试
5数据库与数据系统SQL、存储、查询、事务、并发控制、缓存与搜索
6软件工程与设计模式软件构造、测试、设计模式、架构、API、DDD
7分布式系统RPC、共识、存储、计算、SRE、IaC、Kubernetes、可观测性
8安全与加密密码学、身份认证、Web 安全、隐私和供应链安全
9语言深度类型系统、内存模型、并发模型、运行时和字节码
10数学基础离散数学、组合、概率、线性代数、微积分、信息论
11编译原理与形式语言自动机、文法、词法、语法、语义分析和代码生成
12数据处理与数据科学清洗、探索分析、统计推断、特征工程和治理
13AI 与机器学习搜索、机器学习、深度学习、LLM、RAG 和 AI 系统模式

课程目录登记了 509 个编号课次。每个“章”可以包含若干短课、参考页和实验,例如 8.1 与 8.2 都属于第 8 章,不是重复章节。中英文边界一一对应,当前发布状态仍为 guarded,因为全量独立专家复核和所有运行环境下的示例执行尚未完成。

继续阅读

发现事实错误、失效链接或无法运行的示例时,可以使用页面底部的“在 GitHub 上编辑此页”提交修正。

Built with VitePress | Software Systems Atlas