← 全部课程

揭开黑盒:理解系统的调查课堂

39 节 · 约 25 小时(含练习与实验) · 无需先学完语法课;需要浏览器和一次本地实验启动 · v2.0.0 · 更新于 2026-10-03

第一章调查保存、状态与通信,并拓展到现代实现;第二章用五组可视化讲解,追问有限精度、数据搬运、并行、稀疏表示与近似计算。配真实源码解析、运行实验和通往独立算法课堂的章末交付;《算法课堂》已建立并接续第二章。

系统思维证据读代码揭开黑盒算法与硬件

“我现在还不知道它为什么这样,但我知道下一步可以怎样查。”

从一项熟悉的操作出发,先预测,再收集证据,必要时打开恰好需要的一层。
00 是全课序言;其后按 章 → 单元 → 讲义 阅读。文件编号是讲义标识,单元编号全课连续。

第一章 · 系统的承诺:保存、状态与通信。 第一至第三单元分别调查保存、页面的“现在”和消息往返;19 综合代码解析Ⅰ回看三套程序。20–22 是第四单元拓展:现代存储、状态同步与分层通信,以及这些路线产生的原因。

第二章 · 计算机选择的数学。 从 同一个答案,为什么要绕这么远 开始。第五至第七单元解释机器里的数、数据搬运与并行等待,33 综合代码解析Ⅱ回看实现。第八、九单元继续追问预处理、稀疏表示、近似与误差预算,最后以 算法课堂接口 交付可继续研究的任务;接续的独立课程见 算法课堂。

第二章可以先打开 可视化实验台:拖动数的尺度,看小量消失;追踪矩阵访问,看数据复用;改变人数与依赖,看加速停在哪里;改变稀疏度与容差,看另一种代价。真实计时与教学模型分别标识,先检查答案,再比较快慢。

综合解析在一组完整单元后回看代码,不把每章固定成三个单元;第一至第三、第五至第七单元各有一次解析。第四单元为路线拓展。时长为含练习的备课估计,可分多次完成。下一章“给现实中的物品注入灵魂”已列入计划,尚无正式讲义。

第一章下载后在实验目录运行 py -3 lab.py:assets/save-lab/ 为 8034,assets/state-lab/ 为 8035,assets/message-lab/ 为 8036。第二章在 assets/math-lab/ 运行 py -3 lab.py,端口 8037;macOS/Linux 将命令换成 python3 lab.py。第二章也可直接通过发布后的网页实验,不需要 GPU 或模型账号。

第一章跟踪脚本在 assets/review-lab/;第二章算法源码与可选 Node.js 22+ 自测在 assets/math-lab/。本机服务只需 Python 3.10+ 标准库。
需要时查 Python 工具箱 和 项目与技术参考。

开始阅读下载整门课(231.7 KB)


开篇 · 为什么还要理解系统

  1. 01在抽象越来越高的时代,我们为什么还要读代码?3 分钟

第一章 · 系统的承诺:保存、状态与通信

第一单元 · 保存真的发生了吗(六个调查步骤)

  1. 02你点了保存,东西真的保存了吗?4 分钟
  2. 03同一个现象,可能有几种解释?4 分钟
  3. 04只改变一个条件,结论才有分量4 分钟
  4. 05什么时候值得打开源码?5 分钟
  5. 06失败提示,能证明没有保存吗?4 分钟
  6. 07把“我懂了”变成别人能复核的报告5 分钟

第二单元 · 页面里的现在(共同现场—三线并行—汇合)

  1. 08第二单元:页面里的“现在”,是什么时候?3 分钟

第二单元路线 · 各走一条线,再带着证据相遇

分支可自选先后;带回各自的证据或实现,在汇合处联合验证。阅读本身不代表完成。

  1. 09证据线 A:两边写着同一个名字,就是同一件事吗?3 分钟
  2. 10证据线 B:最后到达的消息,一定比较新吗?3 分钟
  3. 11证据线 C:数据是对的,画面就一定对吗?3 分钟
  4. 12汇合:把三条线索放进同一次解释3 分钟
  5. 13迁移:什么时候可以相信眼前的“现在”?3 分钟

第三单元 · 从一封信开始建设(两军引子—V0—V1)

  1. 14第三单元:你收到我的“收到了”了吗?4 分钟
  2. 15V0:先把一封信送出去3 分钟

第三单元建设路线 · 两端分工,用协议接起来

分支可自选先后;带回各自的证据或实现,在汇合处联合验证。阅读本身不代表完成。

  1. 16V1 发送端:给消息一个形状4 分钟
  2. 17V1 接收端:一块字节,还不是一封信3 分钟
  3. 18V1 汇合:两个实现碰面时,协议才真正受到检验3 分钟
  4. 19从 V1 继续:给下一层一个出现的理由4 分钟

综合代码解析Ⅰ · 第一至第三单元的实现与设计

  1. 20综合代码解析Ⅰ:保存、状态与消息,三个系统怎样被写出来1 小时 2 分钟

第四单元 · 现代实现与技术路线(拓展)

  1. 21现代保存:从一个文件,到日志与副本45 分钟
  2. 22现代状态:从轮询,到流与协作40 分钟
  3. 23现代通信:从两端收发器,到分层网络45 分钟

第二章 · 计算机选择的数学

章首现场 · 同一个答案,为什么要绕这么远

  1. 24同一个答案,为什么要绕这么远?30 分钟

第五单元 · 机器里的数

  1. 25一个数为什么加不上去?40 分钟
  2. 26换一个顺序,还是同一道题吗?40 分钟
  3. 27多绕一步,能不能算得更准?45 分钟

第六单元 · 计算与搬运

  1. 28乘法之外,机器还在忙什么?40 分钟
  2. 29把用得着的数据,留在身边45 分钟
  3. 30怎样相信一次快慢比较?45 分钟

第七单元 · 一起计算的条件

  1. 31多几个计算者,为什么还要等?40 分钟
  2. 32让同一条指令,照顾更多数据40 分钟
  3. 33把计算交出去之前45 分钟

综合代码解析Ⅱ · 数学怎样成为机器上的程序

  1. 34综合代码解析Ⅱ:数学怎样成为机器上的程序1 小时 15 分钟

第八单元 · 规模与表示的选择

  1. 35先做准备,什么时候才划算?40 分钟
  2. 36零很多,为什么还要存位置?40 分钟

第九单元 · 近似与误差预算

  1. 37答案,不必一次算到底40 分钟
  2. 38给误差和时间,各留一份预算40 分钟

章末交付 · 通往算法课堂的接口

  1. 39算法课堂接口:带着问题与证据出发45 分钟