计算机科学综合可视化
综合课程跟随一个输入跨越多个子系统,检查每一步已经产生什么、谁能继续使用它,以及用户看到结果前还缺什么。
浏览器课用产物表记录交接;数字课让预测包经过分数比较、概率分布、路由与延后的真值检查;共识课区分客户端收到的证据、服务器持久日志和应用状态。不同画面对应不同的失败边界。
课程内容
| 课程 | 全流程问题 | 失败边界 |
|---|---|---|
| URL → 渲染页面 | 地址栏字符串如何成为像素 | DNS 失败或连接被拒绝时,还没有服务器响应 |
| SQL 查询 → 磁盘读取 | 同一查询为何能用更少存储读取返回相同行 | 缓冲未命中需要取页;索引键不存在时,不请求数据页 |
| 手写数字 → 预测 | 置信度阈值能否判断预测正确 | 精选错误样本以 99.26%–99.99% 的置信度通过 80% 门槛 |
| 消息 → 分布式共识 | 客户端何时知道写入成功 | 服务已提交并应用,响应路径失败却让客户端无法确定 |
建议学习顺序
先看 URL → 渲染页面:URL 解析出源站,主机名解析为 IP,地址用于建立 socket,安全通道承载请求,响应字节再变成 DOM、CSSOM、布局盒、绘制和像素。热缓存可以跳过部分网络工作,不能跳过渲染。失败路径则指出“页面没加载”具体断在哪一步。
再看 SQL 查询 → 磁盘读取,经过解析、绑定、物理计划、索引页和数据元组。默认把同一计划执行两次:首次三次存储读取填充缓冲,重复执行由三次缓冲命中满足。无索引和键缺失两个场景,区分要访问哪些页与这些页是否已驻留。
手写数字 → 预测把 MLP 内部压成一个冻结模型站点,重点从输出开始:十个 logits 在固定尺度上比较,softmax 形成概率,argmax 标记预测,再由示意性的 80% 策略决定是否自动接受。留出真值随后才到达。默认正确样本只有 74.84%,被送去复核;精选误分类样本却都在 99% 以上自动通过。
最后看 消息 → 分布式共识。写入经 TCP 到达领导者日志,复制到其他节点,由多数确认后提交、应用,再把响应发回。默认在写入已经执行后丢失最后的响应。无多数场景也让客户端超时,但写入仍未完成。应分别判断服务端发生了什么,以及调用者拿到了什么证据。
观察重点
- 输入不是结果。URL 不是页面,手写图像也不是语义标签。
- 数据库页面请求不一定读取磁盘,驻留缓冲可以直接满足。
- 每一阶段有自己的输入要求:DNS 需要主机名,TCP 需要地址,softmax 需要可比较类别分数,置信度门槛需要已经算定的最高概率。
- 中间成功不等于最终成功:收到 HTML 不等于完成渲染,高概率不等于预测正确。
- 失败位置决定诊断:缺少 IP、连接未建立、错误预测被自动接受,需要不同解释。
- 调用者的超时不会直接改变远端状态;没有响应可能对应待处理命令,也可能对应已应用命令。
- 最终验证可能在业务链路之外:渲染后检查像素,获得留出真值后才能判断预测。
与单项课程的关系
URL 课程连接 DNS 解析、TCP 握手、TLS 握手和 HTTP 与 HTTPS。数字课程使用前向传播、Softmax 与交叉熵、MNIST 分类器,再把输出交给混淆矩阵进一步讨论的阈值逻辑。
不必先学完所有前置课程。先找不理解的交接,再进入相关课程深入学习。
共识课程连接 TCP 握手、HTTP 与 HTTPS、状态机和 Raft 共识,假设领导者已经选出,以专注写入和响应。
全部综合可视化课程
改变输入,逐步运行完整流程。默认例子展示主要机制,其他场景检验它的边界。