← 代码课堂

课程表(21 课,含 1 节外部案例)

按难度递进:先学会"读",再学"写"和"架构",最后到"工程化"与"进阶专题"。
每课都标注了教材(作者的项目)和对照对象(开源/官方写法)。
每课都标了难度、教材和对照对象。

先选主线,再使用下面的课程索引

课堂的方法主线已从 《揭开黑盒:一次保存的调查》 开始。本索引保留项目与技术参考;当调查需要进一步理解请求、存储、组件或测试时,再进入相应专题。

这套课的核心能力是:从一个可观察的操作出发,找出入口、数据、规则、输出和验证方式。课程编号保留历史顺序,编号相邻不代表必须连续学习;桌面、Web、AI 和数据实验有不同前置。

阅读这里的具体技术实现时,需要相应的语法与运行基础,可按需查 《编程起步:做一个学习记录小助手》。这些前置属于具体技术专题,不是开始“揭开黑盒”调查的门槛。01 课不承诺“不懂语法也能读懂任何大型项目”。

路线建议顺序阶段产出
Web 主线01 → 02 → 04 → 05 → 08 → 12给卡片工具增加字段,从网页输入到数据库存储再读回,并交付测试
前端分工与组件先具备 JS/DOM 基础,再 03 → 05 → 13 → 11解释状态归属,完成一个受控输入组件和窄屏交互
Python 结构与桌面01 → 06 → 07 → 12核心规则脱离 GUI 可测试,按钮只组织调用
AI 与流式08 → 09 → 10 → 14 → 15 → 17从一次请求走到事件流、会话状态和输出校验
工程化与专题12 后按需读 16、18、19、20、21分别交付边界测试、构建验收、实验复现或案例报告

Web 主线使用 ZIP 中的 assets/主线实验/:同一张卡片从终端启动的 HTTP 服务进入 SQLite,再回到浏览器。完成这个小实验后,原有“模块地图”和大型项目片段用于对照阅读。历史教材目录可能是源码节选,是否能独立启动要先看其清单与依赖说明。

主线验收:给卡片增加一个可见的字段

先完成小实验创建标题,再给它加 rating(整数 0–5)。按以下顺序拆任务:明确输入约定 → 数据表新增列/旧库迁移 → 服务端校验 → JSON 返回字段 → 页面显示 → 测试正常值、边界和错误值。

最低证据:录入 rating=5 后刷新仍为 5;rating=-1 被拒绝且没新增卡片;旧卡片迁移后为默认值 0;用新目录按说明启动成功。无需先做账户、图谱或模型调用。

怎样使用每节课

每节先读新增的主线导学,完成“运行—预测—变化—自测”,再读原项目对照。大段带 ... 的片段是阅读摘录,不能直接当完整程序运行;行号只作为对应历史版本的辅助定位,搜索函数名更可靠。

如果某节只要求识别结构,就不要把它视为已掌握全部框架。读完一课应能交出运行结果或分析证据,遇到依赖未安装、教材节选不齐或平台差异时,明确记录障碍,不把失败当成“自己不适合编程”。

以下保留完整课号索引,方便从具体问题查找对应专题。


第一阶段:读代码地基(01-03)

课主题难度教材对照对象状态
01怎么读代码:模块地图★☆☆查资料/server.pyGitHub 开源项目通用结构已上线
02手写 HTTP 服务器:路由与 JSON★★☆查资料/server.py 的 HandlerFlask / FastAPI / 官方 http.server已上线
03单片应用也要分模块:MVC★★☆关系图/graph-generator-full.htmlECharts 官方示例 / React 数据驱动已上线

第二阶段:核心技术(04-12)

课主题难度教材对照对象状态
04数据层:SQLite 封装与表设计★★☆查资料/server.py 的 db() / init_dbsqlite3 官方文档 / ORM 是什么已上线
05前端三件套:浏览器怎么和后端说话★★☆查资料/web/fetch 官方文档 / 原生 JS 写法已上线
06Python 包结构:core/cli/ui 分层★★★resource_manager_v2/PyPA 官方打包指南已上线
07类与信号槽:桌面应用骨架★★★guigubahuang_mod_manager/gui/PyQt6/PySide6 官方示例已上线
08FastAPI 入门:从零到接口★★☆worry_debate_game/app.pyFastAPI 官方教程已上线
09流式输出:AI 为什么一个字一个字蹦★★★worry_debate_game/nodes.pySSE / OpenAI 流式文档已上线
10调用大模型:prompt 与链★★★worry_debate_game/nodes.pyLangChain 官方示例已上线
11组件化:React/Next.js 的模块思想★★★shijing-v5-dev/src/Next.js 官方 Learn已上线
12工程化收尾:测试、打包、发布★★☆resource_manager_v2/tests/ + worry build.batpytest / PyInstaller 文档已上线

第三阶段:进阶专题(13-20,2026-09 增补)

这一阶段对应项目在 2026-09-13 之后的更新,以及新增的 5 个项目。

课主题难度教材对照对象状态
13前端工程化:Vite + TypeScript★★★worry_debate_game/frontend/Vite / TypeScript 官方已上线
14流式会话进阶:锁 / 快照回滚 / 打断★★★worry_debate_game/app.py + nodes.pySSE 协议设计 / 幂等重试已上线
15结构化输出实战:AI 总结 + 信源 + 关联★★★查资料/server.py 新功能JSON Mode / 邻接表查询已上线
16安全设计:白名单 / 令牌 / 签名链接★★★phone-remote/最小权限 / 预签名 URL已上线
17数据流水线:采集 / 去重 / 打分 / 预算★★★paper-follower/ETL / 可解释性 / 成本控制已上线
18纯函数与脱离平台测试★★☆wechat-map-tools/单元测试 / 坐标系转换已上线
19零依赖构建与交付验收★★★portfolio-site/ + course-publisher/SSG / 原子发布 / CDP 验收已上线
20数据分析实验工程化★★★生信入门/(课程 v2)可复现科研 / 自动判分已上线

选修:外部案例课(21)

教材不是自己的项目,而是外部优秀开源项目;只学技术方法,不搬素材(课内有许可边界专讲)。

课主题难度教材对照对象状态
21案例拆解:莱茵生命终端(Three.js 网页 3D 项目)★★★开源项目 RhineLabUI(MIT 代码)你自己的 worry 前端 / portfolio已上线

建议学习顺序

难度说明

备注