跳到内容

关于 Software Systems Atlas ​

Software Systems Atlas 是一套中英文软件系统学习资料。从一次请求出发,你可以沿着网络、应用代码和存储查看相关机制,也可以按卷学习各层的基础。

项目在解决什么问题 ​

学习软件系统时,资料往往按语言、框架或单个组件分散。读者知道某个 API 怎么调用,却不一定能回答:请求怎样进入系统,代码怎样运行,数据怎样保存,服务为什么会失败,以及应该从哪里开始排查。

Software Systems Atlas 把这些主题放到同一张地图中,帮助读者建立分层理解:

  • 开发环境、代码组织、测试和交付;
  • CPU、内存、进程、线程、网络和存储;
  • 数据库、缓存、消息、事务和分布式一致性;
  • 身份、权限、密码学和软件供应链安全;
  • 数据处理、模型训练、部署和治理。

面对陌生项目时,先画出系统边界,再追踪数据和控制流,用日志、测试、抓包或测量结果定位问题。每卷都为这类实际判断补一部分基础。

适合谁 ​

  • 初学者可以从开发工具和编程基础开始,并按检查点完成小项目;
  • 应用开发者可以补网络、数据库、计算机系统和分布式基础;
  • 有经验的工程师可以把本站当作主题索引,快速查定义、机制、边界和工程取舍;
  • 教师或团队可以使用机器可读目录组织选修路径,但应先复核交付范围。

当前维护状态 ​

仓库登记了 14 个课程卷和 509 个编号课次,中英文边界一一对应;编辑记录和自动检查覆盖两种语言,正文与示例仍在持续复核。整体发布状态仍为 guarded:自动校验不等于独立领域专家审校,也不表示 Java、Shell、SQL 等所有示例已在每种目标环境中执行。具体风险见产品就绪报告。

内容维护使用 AI 辅助整理、翻译和文字修订。编辑记录用于追踪文件版本与检查结果,不能据此认定所有技术结论都已由专家确认。涉及具体版本、协议或 API 时,请结合课次列出的原始资料核对。发现问题,可以在GitHub 仓库提出 issue,附上页面地址、出错段落和可复现步骤。

配合哪些资料学习 ​

下面几项资料适合补充不同的学习环节。本站按系统主题组织短课;完整课程的作业、实验和专题练习仍需要另外安排。

你需要什么可以配合的资料
选择计算机基础主题及教材,安排自学顺序Teach Yourself Computer Science 说明各主题的学习理由,并推荐书籍与课程
找大学公开课、先修要求和配套作业CS 自学指南 汇集课程及学习建议;源码仓库可查看更新和勘误
用图解和代码理解数据结构与算法Hello 算法 提供图解、示例和多语言实现;代码见源码仓库
练习系统设计问题,比较不同方案的取舍System Design Primer 提供主题索引、设计题和参考解答

作者 ​

Steven Yang(杨弘晨)

Brandeis University CS BS '26。研究兴趣包括云系统、数据治理和数据库系统。

站点技术 ​

  • VitePress:文档框架;
  • Vue:交互组件;
  • MathJax:在构建时渲染数学公式;
  • Markdown:内容格式;
  • Cloudflare Pages:接收 GitHub Actions 校验并构建的站点文件。

许可证 ​

MIT。可以使用、修改和分发这些内容,但需保留许可证和出处。

Built with VitePress | Software Systems Atlas