qinghuan

QINGHUAN / LEARNING RESOURCES

推荐课程与学习资源

从计算机小游戏到后端与 AI 实践,找到适合现在的那一步。

52个学习主题 · 247 项学习资源

每个主题先选一份资料,学会了就用练习检查,不必反复从头学。“其他来源”可以换着看,也可以只补自己不懂的部分。课程适合按顺序学,官方文档适合查用法和版本,开源项目可以跟着做,论文留到想深入研究时再读。

P0 是建议先学的基础,P1 用来进一步练习,P2 按需要选学。先看“本次学什么”,再展开了解开始前要会什么。可以用语言筛选先找中文资料;需要账号、额外环境或付费服务的地方会注明。

新专题:Java AI / Agent 面试项目怎么选——三条业务主线、源码阅读顺序、原创改造与可下载验收包。

从基础串成一个业务:Java → 只读商户 Agent——接口、缓存、FAQ、权限与十题评测;原有项目练习仍未运行,新增独立实验逐节说明验证范围。

用实验检查边界:事务与事件恢复 · 缓存键与并发加载 · 训练可靠性与模型重载。按前置顺序完成 11 个验收点。

10 月 30 日资料补充:缓存、Java 执行、JDBC 与训练验收的 23 篇讲义。按问题选读,附官方来源、示例与待完成的验收练习。
10 月 30 日动手查证:HTTP 条件写入、消息去重与未来新用户评估。三份标准库 Python 实验、九道互动判断题;逐篇说明实际运行结果。

显示 52 / 52 个学习主题 · 247 / 247 项学习资源

电脑与开发基础

先把文件、路径、软件安装与信息搜索用明白。

完成标准能整理练习目录、找到官方资料,并说清自己遇到的问题。

推荐主线

ZangXuanyi 与北京大学学生 Linux 俱乐部相关贡献者中国 · 中文

P0 · 必会主线L0 · 零基础计算机基础开放教材

计算机基础能力手册:先把电脑和开发工具用明白 (新标签页)↗

本次学什么
先补文件、路径、软件安装和信息搜索。
已学可跳过
熟悉电脑操作后直接去命令行主题;购机、排版和算法章节按需查。
展开介绍、学习准备与访问说明

从文件、路径、软件安装和信息搜索开始,解释做编程练习时常见的电脑问题。

可用资料中文分章手册 / 原作者公开源码 / 知识速查与学习路径

第二版网页版;由原书转换

对你的帮助
补上进入 Java、Linux 和工程项目之前容易被默认已经会的基础操作。
开始前要会什么
会使用浏览器和键盘;无需编程基础
原资料涉及的知识
文件与路径 · 软件与环境配置 · 信息搜索 · 终端入门
学习建议
先读“初步使用计算机”和“搜索和信息获取”。小练习:建一个练习目录,写出文件的完整路径,并用搜索找到一个软件的官方安装说明。已会的硬件与购机章节可跳过。
访问说明
网页版可公开阅读,站点提示转换可能有疏漏。原书仓库可核对;这是作者与学生社团相关的手册,不是北京大学学位课程。

来源:missing.lcpu.dev (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Microsoft PowerToys美国 · 中文

P1 · 重点提升L0 · 零基础计算机基础官方文档

File Locksmith 中文:这个文件正被哪个程序占用 (新标签页)↗

本次学什么
从一份自建文件查使用它的程序,记录查询范围,再正常关闭练习程序后重查。
已学可跳过
跳过强制结束任务、扫描其他用户进程、批量目录和命令行自动化。
展开介绍、学习准备与访问说明

从一个文件查到正在使用它的进程,记录程序名称,再正常关闭自己的练习程序并重新检查。

可用资料如何激活和使用 File Locksmith / 进程详情与重新加载说明 / 扫描权限范围说明

Microsoft Learn 中文 File Locksmith 使用说明;2026-10-07 核查

对你的帮助
遇到文件改不了名或提示被占用时,先找使用者,再决定下一步,比只反复重试更容易说明问题。
开始前要会什么
会在 Windows 文件资源管理器中找到文件;实际操作需要已安装并启用 PowerToys File Locksmith
原资料涉及的知识
文件占用 · 进程 · 文件路径 · 查询权限
学习建议
用自己新建的练习文件观察一次占用情况,记录文件路径、查到的进程名称和进程编号;正常保存并关闭自己的练习程序后,再点重新加载。若没有结果,写“当前权限下未查到”,不要补写成“没有程序使用”;有些编辑器读取后就关闭文件句柄。首轮只查详情,不使用结束任务或 --kill。
访问说明
中文官方正文公开可读;实际操作需要 Windows 上的 PowerToys。本轮未安装工具或扫描本机文件,界面名称可能随版本变化。

来源:learn.microsoft.com (新标签页)↗
核对日期:

从二进制到简单计算机器

先看懂两种状态怎样表示数字,再用小规则组合出计算过程。

完成标准能解释一组卡片代表的数,并逐行检查一个逻辑门或一步状态变化。

推荐主线

University of Canterbury / Computer Science Education Research Group新西兰 · 英文

P1 · 重点提升L0 · 零基础计算机基础交互练习

二进制卡片:翻几张卡,拼出一个数 (新标签页)↗

本次学什么
只练五张二进制卡片与点数总和,先预测再翻牌。
已学可跳过
已能解释位权和进位,可直接看下面的逻辑门。
展开介绍、学习准备与访问说明

翻动有不同点数的黑白卡片,把两种状态和位权联系起来。正文先让读者预测下一张卡的点数,再尝试组合目标数字。

可用资料高校团队正文 / Binary Cards 翻牌控件 / 卡片数量和总点数显示设置

指定入门内容与浏览器控件;2026-09-26 核对

对你的帮助
本站有逻辑门和加法文章,这个入口补最前面的位权直觉,不要求先写代码。
开始前要会什么
能做小整数加法;能读少量英文提示
原资料涉及的知识
二进制 · 位权 · 数据表示
学习建议
先保留五张卡,从最右边往左预测点数。自选一个小整数,先在纸上记录准备翻哪些卡,再打开总点数对照。最后说明多一张卡增加了哪些可表示的数,不必一开始看正文的解答折叠框。
访问说明
正文和翻牌控件无需登录。本轮在浏览器中设为五张卡,翻出 16、4、1,对照显示总数 21。只核验了这段操作;其余章节按需阅读。交互依赖 JavaScript。

来源:www.csfieldguide.org.nz (新标签页)↗
核对日期:

其他来源:替代或选学(4)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

NandGame 原作者项目国际项目 · 中文

P2 · 按需深入L0 · 零基础计算机基础交互练习

NandGame:从一个逻辑门开始搭电脑 (新标签页)↗

本次学什么
完成基础逻辑门首关,用全部输入组合检查连线。
已学可跳过
暂不连续挑战后面所有关卡;本站同类逻辑门练习已掌握时可跳过。
展开介绍、学习准备与访问说明

拖放组件并连接输入输出,用开关观察信号怎样变化。先按真值表检查一个逻辑门,再逐步理解较复杂电路怎样由小组件组成。

可用资料浏览器连线练习 / 输入开关 / 目标真值表 / 中文帮助

基础逻辑门首关与中文帮助;2026-09-26 浏览器核验

对你的帮助
把本站逻辑门与二进制加法的图示变成可操作的小练习,适合想先动手、暂时不写代码的读者。
开始前要会什么
认识 0 和 1 两种状态;能按表格逐行比较结果
原资料涉及的知识
逻辑门 · 真值表 · 电路组合 · 逐项验证
学习建议
先读当前关卡要求,画出四种输入组合,再连接最少能表达自己思路的组件。逐项测试,观察哪条线改变;若失败,先定位一行不符的输入,不要只凭某次灯亮就认定正确。暂不追求后面的整台计算机。
访问说明
本轮无需登录,实际完成基础首关并核对四种输入,页面显示成功过关。帮助可切换中文,部分组件名称仍为英文;未验证所有后续关卡和移动端。

来源:nandgame.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Turingmachine.io 原作者项目国际项目 · 英文

P2 · 按需深入L1 · 基础计算机基础交互练习

图灵机模拟器:每一步只读一格、写一格、移一格 (新标签页)↗

本次学什么
跟踪二进制加一示例,每次记录读、写、移动和状态。
已学可跳过
还不熟悉二进制进位时先停在卡片;不必修改 YAML 规则。
展开介绍、学习准备与访问说明

把简单规则变成状态图与纸带,让程序一步步读写符号。正文给出二进制加一的机器,可以沿着状态和纸带位置追踪进位。

可用资料Step / Run / Reset 控件 / 多种示例机器 / 规则格式和二进制加一说明 / 状态图与纸带可视化

指定入门内容与浏览器控件;2026-09-26 核对

对你的帮助
从本站二进制加法继续探索计算模型,也为“程序为什么要有状态和停止条件”提供直观例子。
开始前要会什么
认识二进制进位;理解条件判断;能读简单英文并保持 YAML 缩进
原资料涉及的知识
图灵机 · 状态转移 · 纸带 · 停止条件
学习建议
先读 What's going on 和 binary increment 示例,不急着写规则。以页面示例输入为起点,只点 Step,记录当前状态、读到的符号、写回内容与移动方向。完成后换一个短输入,解释什么时候停止。
访问说明
正文与示例可直接使用。本轮实际执行 Step、Run、Reset,观察示例 1011 变为 1100 并停止,再复位。修改保存在浏览器本地,清除数据可能丢失,可另行导出备份。它是在有限设备上模拟计算模型。

来源:turingmachine.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

CS Unplugged / University of Canterbury新西兰 · 英文

P1 · 重点提升L0 · 零基础计算机基础交互练习

Parity Magic:用黑白卡片找出翻错的一格 (新标签页)↗

本次学什么
补一行一列,让每行每列的黑卡数都为偶数;只翻一格并尝试定位。
已学可跳过
不把单格定位推广到任意多位纠错;不必观看全部教师培训资料。
展开介绍、学习准备与访问说明

在黑白卡片方阵外补一行和一列,让每行每列的黑色卡片数满足约定,再尝试找出被翻动的一格。先玩一个小魔术,再理解额外校验信息有什么用。

可用资料活动讲义 / 带说明的幻灯片 / CS Field Guide 卡片交互链接

在线 Parity Magic 活动与配套卡片演示

对你的帮助
接着站内单个奇偶校验位的例子,展示多加一组行列校验后,为什么在只翻一格的条件下还能定位错误。
开始前要会什么
能数奇数与偶数
原资料涉及的知识
二进制 · 奇偶校验 · 错误检测 · 二维校验 · 冗余信息
学习建议
用 5×5 张黑白纸卡摆数据,再补一行一列,让每行、每列的黑卡总数都为偶数。请同伴只翻一格,尝试定位,并画出异常的行和列。恢复原来的方阵,再试着翻两格,记录观察。这是多组行列校验的练习,不能据此认为一个校验位能定位错误,或任意多位错误都能修复。
访问说明
公开英文活动,无需账号或安装软件。内嵌卡片之外,也可以按步骤用黑白纸卡完成练习。

来源:www.csunplugged.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

坎特伯雷大学 Computer Science Education Research Group新西兰 · 英文

P1 · 重点提升L0 · 零基础计算机基础开放教材

状态小灯:看着都是灭,下一次按键为什么不同 (新标签页)↗

本次学什么
只用一个按键和三个状态,分清灯的显示、机器的记忆以及零次输入。
已学可跳过
先跳过全章列车地图、正规语言证明、JFLAP/Exorciser 安装和自动机转换。
展开介绍、学习准备与访问说明

一个按钮让小灯按“亮、灭、灭、亮”循环。画三个圆和几条箭头,理解机器记住的状态为什么不只等于眼前的灯光。

可用资料FSA Light 单按钮演示 / 15.3 中 strange kind of light switch 段落 / 零次到六次按键记录表

Computer Science Field Guide 3.17.0;FSA Light 与 15.3 的单按钮灯例子

对你的帮助
两个时刻看起来相同,下次按同一个键却可能有不同结果。这个小例子先把“状态”说明白,也提醒我们检查一次都没按的初始情况。
开始前要会什么
能数 0 到 6;会在纸上画圆和箭头;无需编程、数学公式、账号或下载软件
原资料涉及的知识
状态与可见输出 · 按钮引起的状态变化 · 初始状态 · 空输入
学习建议
先打开小灯,再在教材 15.3 搜索 strange kind of light switch,只读这段及其后关于零次按键的说明。术语这样理解:状态是“机器现在记着哪种情况”;箭头表示“按一次之后去哪”;空输入就是“一下也不按”。先重置,记录不按、按 1、2、3、4、5、6 次时的灯光,连续按时不要中途重置。画三个状态与 a 箭头,解释为什么两种灭灯状态不能只合成一个“灭”。交状态图、记录表和最少几次能让灯亮的答案。Reset 只是让实验重来,不算 a。若不能打开演示,可按教材给出的三状态图完成纸笔推演,并标记未实测。
访问说明
演示与教材正文公开,无需账号。已读取三状态配置并复算 0–6 次按键;已在浏览器观察到初始亮、连续四次 a 后依次灭/灭/亮/灭,Reset 回到亮,灯图与文字一致。第五、六次只做了规则复算。

来源:www.csfieldguide.org.nz (新标签页)↗
核对日期:

命令行与 Linux 起步

用看得懂的命令完成文件和文本小任务。

完成标准能在自己的练习目录运行一个小脚本,解释输入与输出。

推荐主线

The Missing Semester 课程团队与中文社区美国 · 中文

P0 · 必会主线L0 · 零基础后端与系统工程课程

命令行入门:找文件、传递结果和写小脚本 (新标签页)↗

本次学什么
目录、参数、输入输出和管道;先完成一个小脚本。
已学可跳过
Git 留给版本管理主题,性能分析留给后续诊断;不必一次刷完整套课程。
展开介绍、学习准备与访问说明

把终端里的命令拆成能理解的小步骤,学习目录、参数、输入输出和管道。

可用资料中文讲义 / 课后练习 / 原课程与录像入口

2020 版讲义的社区中文翻译

对你的帮助
后续启动服务、查看日志和运行构建命令都要用到这些基本操作。
开始前要会什么
会区分文件和目录;准备 Bash 或 Zsh;Windows 可使用 WSL
原资料涉及的知识
命令与参数 · 路径 · 输入输出 · 管道 · 脚本与权限
学习建议
先读到“在程序间创建连接”,再做文件和脚本练习。小练习:在自己的临时练习目录写三行文字,用管道只取最后一行并保存到新文件。系统硬件和管理员权限示例先作为阅读材料。
访问说明
讲义公开;中文站是社区翻译,原课程官网也注明翻译未由课程团队验证。练习面向类 Unix shell,不能直接把所有命令粘贴到 PowerShell。

来源:missing-semester-cn.github.io (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Microsoft美国 · 中文

P0 · 必会主线L0 · 零基础后端与系统官方文档

Windows 上开始用 Linux:WSL 环境指南 (新标签页)↗

本次学什么
只给 Windows 学习者准备 Linux 练习环境。
已学可跳过
已有可用 Linux 或 macOS 环境可跳过;数据库和 GPU 配置暂不需要。
展开介绍、学习准备与访问说明

说明怎样在 Windows 中准备 Linux 开发环境,以及两边的文件和命令该放在哪里。

可用资料中文操作步骤 / 文件位置说明 / 相关故障排查入口

中文在线指南

对你的帮助
让 Windows 学习者能跟着 Linux 教程练习,减少路径与终端混用造成的错误。
开始前要会什么
符合文档要求的 Windows 系统;能安装软件并按提示重启
原资料涉及的知识
WSL 与 Linux 发行版 · 终端 · 文件存放位置 · 编辑器连接
学习建议
先读“开始”和“文件存储”,再按需配置编辑器。小练习:分别写出同一个练习文件在 Linux 中的路径和 Windows 中的访问位置,解释当前命令由哪个终端执行。
访问说明
文档公开;安装需要下载组件、系统权限,可能重启。先核对 Windows 版本和硬件要求。

来源:learn.microsoft.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Linux man-pages project · man7.org国际开源社区 · 英文

P1 · 重点提升L1 · 基础计算机基础官方文档

沿路径找文件:符号链接把下一步带到哪里? (新标签页)↗

本次学什么
按 Step 1–3 画目录查找路线,比较链接与普通目录遇到两个点时的区别。
已学可跳过
magic links、挂载命名空间与权限细节;这里只推演给定目录图。
展开介绍、学习准备与访问说明

从哪里开始找文件,遇到普通目录、符号链接和两个点时各往哪里走?按手册的三个步骤画一条查找路线,比直接在字符串里划掉目录名更可靠。

可用资料path_resolution(7) 的 Step 1–3 / path_resolution(7) 的 . and .. / symlink(7) 开头的硬链接、符号链接与悬空链接区别

Linux man-pages 在线手册;配套 symlink(7) 标示 man-pages 6.19

对你的帮助
补上站内路径与符号链接文章的 Linux 原始规则:查找会逐段访问目录并处理链接,路径最后一段的行为还与具体操作有关,不能只做文字替换。
开始前要会什么
能区分绝对路径与相对路径;已读站内点路径与符号链接短文
原资料涉及的知识
路径解析 · 符号链接 · 相对路径 · 当前目录 · 点与点点
学习建议
画出 /work/link 指向 /data/archive 的目录图,假定相关目录都存在、权限允许且操作会跟随链接,逐段推演 /work/link/../note。再把 link 换成普通目录重画。产出两条查找路线,并说明最后一段是否存在、是否跟随链接仍要看具体操作。首轮跳过 magic links、挂载命名空间和权限细节。
访问说明
英文手册无需登录即可阅读,内容针对 Linux,不直接代替 Windows 快捷方式或所有文件 API 的规则。初学者只读指定段落即可;练习用纸面目录图,不需要创建链接或改动真实文件。

来源:man7.org (新标签页)↗
核对日期:

Git 日常使用

保存和比较改动,并安全地合并一个小分支。

完成标准能用提交历史说明一次修改怎样产生,也能解释撤销会影响什么。

推荐主线

Scott Chacon、Ben Straub 与 Git 文档社区国际 · 中文

P0 · 必会主线L0 · 零基础后端与系统开放教材

Pro Git 中文版:保存改动、看历史和合并分支 (新标签页)↗

本次学什么
文件状态、提交、历史与一次分支合并。
已学可跳过
服务器搭建、重写历史和内部对象结构暂后学;先把日常流程走顺。
展开介绍、学习准备与访问说明

解释 Git 怎样保存每次修改,以及工作目录、暂存区、提交和分支之间的关系。

可用资料中文电子书 / 命令示例 / 分章目录

第二版中文在线版

对你的帮助
先能看清自己改了什么,再去做项目协作,排错时也能追到引入问题的修改。
开始前要会什么
能创建和编辑文本文件;能在终端运行基本命令
原资料涉及的知识
文件状态 · 提交历史 · 分支合并 · 撤销与恢复
学习建议
先读 1.3 和第 2 章,再读 3.1—3.2。小练习:给一篇笔记做三次提交,查看每次差异,再建一个分支改标题并合并。撤销前先说明会改变哪个区域。
访问说明
全文公开;第二版始于 2014 年,在线版持续修订,部分示例仍使用较早的命令写法。练习应放在独立的小仓库中。

来源:git-scm.com (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Learn Git Branching 开源项目国际 · 中文

P1 · 重点提升L0 · 零基础后端与系统交互练习

看图学 Git 分支:在浏览器里练合并与回退 (新标签页)↗

本次学什么
用提交图看懂分支、合并与变基的区别。
已学可跳过
已经能画对提交图时跳过基础关;不用替代真实仓库练习。
展开介绍、学习准备与访问说明

在模拟仓库里输入 Git 命令,看到提交图随操作变化,适合弄懂分支指向哪里。

可用资料中文关卡说明 / 命令模拟器 / 提交图

简体中文交互站

对你的帮助
用可见的提交图补充文字讲解,帮助区分合并、变基和撤销提交。
开始前要会什么
理解一次提交是什么;知道分支名称的作用
原资料涉及的知识
提交图 · 分支 · 合并 · 变基 · 回退
学习建议
先做基础篇的提交、分支与合并。小练习:预测一次合并后两个分支各指向哪里,再用图检查。完成后在本地小仓库重做一次,并比较差别。
访问说明
网页和关卡说明公开;模拟器适合练习分支关系,不包含真实仓库的全部文件和冲突行为。

来源:learngitbranching.js.org (新标签页)↗
核对日期:

Java 入门

建立第一门编程语言的基本能力。

完成标准独立写出带输入校验、循环与方法拆分的控制台程序。

推荐主线

浙江大学中国 · 中文

P0 · 必会主线L0 · 零基础Java基础高校课程

零基础学 Java 语言 (新标签页)↗

本次学什么
按中文主线学习变量、分支、循环、数组和方法,再接触对象。
已学可跳过
已有其他语言经验时,用练习检查基础;通过后进入 Java 的类型与对象差异。
展开介绍、学习准备与访问说明

面向没有编程经验的学习者,以 Java 介绍程序执行、变量、控制流程、数组、字符串和函数,适合作为进入本站 Java SE 路线前的系统入门课。

可用资料官方 MOOC 课程入口 / 七周课程大纲 / 按周编程练习安排

公开课程页,未标学期

对你的帮助
先建立读懂程序与独立调试小程序的能力,再学习对象、集合和后端框架,可以减少只会照抄项目代码的问题。
开始前要会什么
会使用电脑与文件目录;无需编程基础
原资料涉及的知识
第一个 Java 程序与编译执行 · 变量、整数和浮点数 · 比较运算与条件分支 · 循环及循环控制 · 数组与二维数组 · 字符、字符串与包装类型 · 函数定义、参数和局部变量
学习建议
按周顺序学习,每个例子先预测输出,再在自己的 JDK 中运行。建议用 JDK 17 练习基础语法;平台评测要求另行核对。先独立完成条件、循环和数组小题,再进入面向对象课程。
访问说明
已核验公开课程介绍与详细大纲;未登录试听,不能保证所有视频和练习当前均可免登录使用。学习期、选课条件和证书收费以平台实际页面为准。

来源:www.icourse163.org (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

赫尔辛基大学(Helsinki)芬兰 · 英文

P0 · 必会主线L0 · 零基础Java基础高校课程

Java Programming I & II:Java 编程与面向对象入门 (新标签页)↗

本次学什么
偏好英文与大量习题时,用此课程替代浙大入门;先看历史维护说明。
已学可跳过
两门入门课选一门;完成其对象设计部分后,下一主题只补尚不熟练的设计能力。
展开介绍、学习准备与访问说明

以 Java 从输入输出、条件和循环讲到对象与算法;I、II 两部分各含七个学习单元,面向没有编程经验的学习者。

可用资料在线课程讲义 / 分单元编程练习 / 课程内容目录

停止维护的历史课程(Java Programming I / II)

对你的帮助
适合作为本站 Java SE 的第一条练习主线,把阅读语法转为持续编写、测试小程序。
开始前要会什么
无需既有编程经验;能安装开发工具并阅读基础英文题目
原资料涉及的知识
变量与输入输出 · 条件与循环 · 方法与集合 · 对象与类 · 面向对象编程 · 基础算法
学习建议
先按 I 的顺序逐题完成,再进入 II;先用自己的输入验证程序,再参考反馈。保留旧课程要求的环境边界,不将其自动等同于本站 Java 17 示例环境。
访问说明
官网明确标注为停止更新和维护的历史课程,当前仍可直接阅读材料;TMC 自动测试为页面描述,未实测其当前注册、提交或服务可用性。不能把它当成仍维护的最新 Java MOOC;旧工具配置应单独核对。

来源:java-programming.mooc.fi (新标签页)↗
核对日期:

定向补充 · 只学指定内容

h-schmidt.net国际 · 英文

P1 · 重点提升L1 · 基础计算机基础交互练习

浮点数转换器:查看小数实际存下的值 (新标签页)↗

本次学什么
学过 float 后,输入 0.5 和 0.1,对照实际存储值、误差栏和二进制位。
已学可跳过
首轮不研究 NaN 编码和非正规数;不要把 32 位输出直接用作 double 的答案。
展开介绍、学习准备与访问说明

输入一个小数,同时查看实际存储值、转换误差和每一位二进制。把“浮点数有误差”变成可以对照的输入与输出。

可用资料十进制、二进制和十六进制输入 / 实际存储值与误差栏 / 位选择框及特殊值说明

IEEE 754 Converter 2024-02:32 位单精度

对你的帮助
适合读完 0.1 加 0.2 的文章后继续观察 Java float,分清十进制写法、内存中的位和显示出来的值。
开始前要会什么
知道一个位只能取 0 或 1;认识二进制和小数
原资料涉及的知识
IEEE 754 · float · 二进制表示 · 舍入 · 数值误差
学习建议
在 Decimal Representation 中分别输入 0.5 和 0.1,按回车,比较 Value actually stored in float 与误差栏。再只改变一个位,记录哪一栏发生变化;完成标准是能解释输入文字与实际存储值为什么可能不同。
访问说明
英文页面可公开打开;转换需要 JavaScript 和支持 WebAssembly 的浏览器,页面说明计算在本地浏览器进行。只支持 32 位单精度,不能直接代表 Java double 或 JavaScript Number 的结果。

来源:www.h-schmidt.net (新标签页)↗
核对日期:

面向对象设计

学会语法后,进一步决定每个类负责什么、对象之间怎样配合。

完成标准能解释一个小项目的封装边界,并在新增需求时局部修改设计。

推荐主线

南京大学中国 · 中文

P0 · 必会主线L1 · 基础Java基础高校课程

基于 Java 的面向对象编程范式 (新标签页)↗

本次学什么
封装、继承、多态与对象协作;重点做设计和重构练习。
已学可跳过
跳过已掌握的循环、数组、方法等起步语法;若已有面向对象编程(OOP)基础,用设计任务检验后再补弱项。
展开介绍、学习准备与访问说明

以 Java 讲解结构化与面向对象编程范式,强调封装、对象协作和程序可修改性。适合已经掌握基本语法、开始设计多类程序的学习者。

可用资料官方 MOOC 课程入口 / 课程目标与学习安排 / 六道编程题的考核说明 / 参考书目

公开课程页,未标学期

对你的帮助
后端 DTO、服务、接口与模块的组织都需要对象设计能力。这门课可帮助把“会写 Java 语句”推进到“能解释类之间为什么这样合作”。
开始前要会什么
程序设计基本知识;Java 基本语法、条件循环、方法和数组
原资料涉及的知识
结构化编程范式 · 面向对象编程思维 · 封装与职责组织 · 对象协作 · 程序可修改性 · 用编程任务检验设计
学习建议
先完成本站的类、对象、继承和接口基础,再把每个练习写成小型多类程序。为同一需求尝试两种职责划分,比较修改需求时需要改动的类;语法和 API 差异以自己的 JDK 文档为准。
访问说明
公开页明确列出六道编程题,但完整题面、视频及评测的当前登录和选课要求未实测。参考书版本较早;不将此课程标注为 JDK 17 新特性教程。

来源:www.icourse163.org (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Oracle Java国际 · 英文

P1 · 重点提升L1 · 基础Java基础官方文档

BigDecimal:2.0 和 2.00,集合里算一个还是两个 (新标签页)↗

本次学什么
从十进制数入手,核对相等、排序与集合去重规则。
已学可跳过
金融业务舍入规范与数据库类型映射按实际要求另学。
展开介绍、学习准备与访问说明

把数值比较和包含小数位数的相等判断分开,再观察同一组十进制数放进不同集合后的数量。

可用资料BigDecimal 比较与 setScale 说明 / TreeSet 相等规则 / 本地集合对照输出

Java SE 21;本轮实测 JDK 21.0.12

对你的帮助
相等规则会影响去重、缓存键和断言;先明确业务规则,比遇到重复项后随意替换集合更可靠。
开始前要会什么
会创建 BigDecimal;知道 HashSet 与 TreeSet
原资料涉及的知识
equals · compareTo · scale · 集合去重 · 舍入策略
学习建议
自拟练习:用字符串创建 2.0、2.00,预测两种集合大小。写清业务是否把它们视为同一项;若规则要求两位小数,用 UNNECESSARY 验证 2.001 应被拒绝。交规则、断言和输出。本轮已运行这些纯 Java 对照,未测数据库金额列或序列化。
访问说明
已在 JDK 21.0.12 运行 equals、compareTo、HashSet、TreeSet 和固定小数位对照。未验证数据库金额列或框架序列化。

来源:docs.oracle.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Hutool 项目中国 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Hutool 中文:没传字段、传了 null、传了空串,复制后一样吗 (新标签页)↗

本次学什么
限定一个 String 属性,观察缺字段、null、空串与覆盖配置。
已学可跳过
跳过字段别名、自动类型转换、继承、列表转换和数据库持久化。
展开介绍、学习准备与访问说明

把四份只含一个可选字段的输入复制到已有对象,比较缺字段、null、空字符串和新值,再分别改变忽略 null 与是否覆盖的设置。

可用资料Bean属性注入中的 CopyOptions 与 containsKey 说明 / Bean转Bean小节 / CopyOptions.setIgnoreNullValue 与 setOverride API / 本机 5.8.18 源码与独立对照程序

Hutool 5.x 中文文档;本轮实测本机缓存的 5.8.18

对你的帮助
更新资料时,“不改这一项”和“清空这一项”需要不同含义;复制工具只执行配置,不能替应用决定这两种意图。
开始前要会什么
会写带 getter/setter 的简单 Java 类;知道 Map 缺少键与键对应 null 的差别;会运行带一个库依赖的 Java 程序
原资料涉及的知识
BeanUtil.copyProperties · CopyOptions · null 与缺字段 · 空字符串 · 字段覆盖
学习建议
自拟练习:四份 Map 分别为缺少 nickname、nickname=null、nickname=""、nickname="new"。前八例每轮都新建目标并设 nickname="old",固定 override=true,只切换 ignoreNullValue。接着固定源值 new、override=false,分别新建目标 old 和 null;最后用默认 null 的普通 Bean,在两种 ignoreNullValue 下各复制到新的 old 目标。交十二行输入/目标初值/配置/结果表,区分不修改与明确清空。
访问说明
官方中文页与 API 已读;本轮在 JDK 21.0.12、缓存的 Hutool 5.8.18 上通过 12 项检查。当前 API 页标示 5.8.47;运行结论只覆盖 5.8.18 的一个 String 属性,未测试 HTTP 或数据库更新。 阅读覆盖规则时看 setOverride 方法说明;同页 override 字段注释有相反措辞,本项以固定版本实现和实验为准。

来源:doc.hutool.cn (新标签页)↗
核对日期:

数据结构与算法

看清数据如何存放和移动,再选择合适的结构。

完成标准能实现一个小结构或排序,并用输入例子解释步骤与代价。

推荐主线

加州大学伯克利分校(UC Berkeley)美国 · 英文

P0 · 必会主线L1 · 基础Java基础高校课程

CS 61B Data Structures:用 Java 学数据结构与程序设计 (新标签页)↗

本次学什么
集合、树、哈希、图和复杂度分析,结合 Java 项目掌握实现与选型。
已学可跳过
已有 Java 基础后,语法复习只做诊断;不要再从头刷另一套树、排序与哈希课程。
展开介绍、学习准备与访问说明

用 Java 实现双端队列、映射和较大项目,同时训练测试、调试、Git 与复杂度分析。课程会快速补 Java 语法,但要求已有编程基础。

可用资料课程大纲 / 讲义与讨论练习入口 / 实验说明 / Java 编程作业与项目规格 / 在线教材入口

Spring 2025(历史学期)

对你的帮助
把集合 API 背后的结构、接口设计和测试串在一起,是从 Java 入门过渡到后端工程与算法训练的合适主线。
开始前要会什么
相当于 CS 61A、CS 88 或 E7 的编程经验;理解函数、递归与基本对象概念;能阅读英文项目规格
原资料涉及的知识
Java 与面向对象 · 链表与动态数组 · 树与哈希表 · 运行时间分析 · 测试与调试 · Git 与项目设计
学习建议
先完成 Java 起步与双端队列项目,为每个操作写空集合、单元素和扩容测试,再学习树与哈希。外部学习者以本地测试为主;如选 2021 旁听路线,整套材料保持同一学期。
访问说明
2025 课程站和项目说明可公开阅读,课程环境为 Java 17 或更高版本。旁听政策把公开评分器指向 Spring 2021,明确不开放当期 Gradescope、Ed、Beacon;2021 与 2025 的代码、规格和评分不能混用。

来源:sp25.datastructur.es (新标签页)↗
核对日期:

其他来源:替代或选学(8)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

靳宇栋与 Hello 算法贡献者中国 · 中文

P0 · 必会主线L1 · 基础Java基础开放教材

Hello 算法:用图和 Java 理解数组、链表与查找 (新标签页)↗

本次学什么
中文起步路线,先学数组、链表、栈、队列和查找。
已学可跳过
与 CS 61B 主线选一条入门;已经掌握的结构用练习自测后跳过。
展开介绍、学习准备与访问说明

先用小图展示数据怎样移动,再给出代码,适合从会写循环过渡到会选数据结构。

可用资料图解正文 / Java 示例代码 / 章节练习

中文在线教材;选择 Java 示例

对你的帮助
为现有英文算法课程提供更容易开始的中文路线,减少只背名称和公式的负担。
开始前要会什么
Java 变量、循环和方法;能读写数组
原资料涉及的知识
算法所需步骤 · 数组与链表 · 栈与队列 · 哈希表 · 二分查找
学习建议
先读第 2 章和第 4—6 章,再读二分查找。小练习:在五个数字的数组中插入一个数,先画出移动过程,再用 Java 实现;说明容量不够时怎么办。
访问说明
正文和代码公开,部分可视化依赖外部工具。教材支持多种语言,建议先固定 Java 学习。

来源:www.hello-algo.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

普林斯顿大学(Princeton)美国 · 英文

P1 · 重点提升L2 · 进阶Java基础高校课程

COS 226 Algorithms and Data Structures:Java 算法与应用 (新标签页)↗

本次学什么
只选一个 Percolation、Autocomplete 或 WordNet 项目,训练算法建模。
已学可跳过
跳过已掌握的队列、排序、树、哈希;不要求重学整课或做完全部项目。
展开介绍、学习准备与访问说明

通过 Java 程序把排序、查找和图算法用于渗流、自动补全、WordNet 等问题,并分析实现的性能与适用范围。

可用资料课程大纲 / 讲义幻灯片 / 编程作业规格与检查清单 / 算法演示入口

Fall 2025(历史学期)

对你的帮助
为后端索引、缓存结构、图关系和算法面试提供可实现的基础;与 CS 61B 有重叠,可按项目选修。
开始前要会什么
相当于 COS 126 的编程基础;Java 类、集合与递归;基本数学与复杂度记号
原资料涉及的知识
并查集 · 排序与优先队列 · 平衡树与哈希 · 有向图与遍历 · 最短路径 · 动态规划 · 算法性能分析
学习建议
先做 Percolation 和 Queues,再选 Autocomplete、WordNet。每题记录不变式、时间和空间开销,用随机小样例与朴素实现做对照。
访问说明
2025 归档的讲义和作业说明公开。录像位于 Canvas 内的 Panopto,作业提交使用 Princeton NetID 登录 TigerFile,不能承诺校外观看录像或获得评分;指定纸质教材不等于公开全文。

来源:www.cs.princeton.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

麻省理工学院(MIT)美国 · 英文

P1 · 重点提升L2 · 进阶后端与系统高校课程

6.006 Introduction to Algorithms:算法建模与分析 (新标签页)↗

本次学什么
只补算法正确性证明、状态设计和动态规划。
已学可跳过
数据结构、排序、哈希与图遍历已经掌握的部分直接跳过。
展开介绍、学习准备与访问说明

从数据结构到图搜索和动态规划,强调问题建模、正确性与性能分析。课程编程基础要求 Python 3,不属于 Java 课程。

可用资料公开视频 / 讲义 / 习题及解答 / 考试题及解答 / 课程大纲

Spring 2020(MIT OCW 归档)

对你的帮助
能补足只会套算法模板时缺少的证明和分析能力;原理可以迁移到 Java,原课作业应先按 Python 要求理解。
开始前要会什么
基础 Python 3 编程;集合、逻辑、递归与证明;基础组合、图论和概率
原资料涉及的知识
动态数组与堆 · 哈希与平衡树 · 排序 · 图搜索 · 动态规划 · 算法正确性 · 性能分析
学习建议
先做 Problem Set 0 判断先修是否足够,再按视频、讲义、习题顺序学习。算法先写正确性说明,再用 Java 重写并比较语言无关的复杂度。
访问说明
OCW 明确为 2020 学期归档,公开视频、文档与题解可以自学访问;这是公开材料库,不是当前学期注册课程或自动批改服务。课纲要求 Python 3 和离散数学。

来源:ocw.mit.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

VisuAlgo 团队(新加坡国立大学相关教学项目)新加坡 · 中文

P1 · 重点提升L1 · 基础计算机基础交互练习

VisuAlgo 排序动画:看清每一次比较和移动 (新标签页)↗

本次学什么
只用动画核对排序过程和输入变化的影响。
已学可跳过
不再刷一整套算法课;会手工跟踪的排序直接跳过。
展开介绍、学习准备与访问说明

把排序过程逐步画出来,可以比较已排序、倒序和重复数字等输入下的变化。

可用资料排序动画页面 / 分步讲解 / 伪代码与讨论题

中文排序模块;部分提示为英文

对你的帮助
把“运行步骤会怎样变多”变成可观察的过程,补充纸面复杂度分析。
开始前要会什么
数组、循环和交换两个数;理解按大小排序的目标
原资料涉及的知识
冒泡排序 · 插入排序 · 归并排序 · 比较次数 · 不同输入
学习建议
先把右上角切到“探索模式”,选 INS(插入排序)或 MER(归并排序),用“新建(A)”输入六个数字。先手算前三步,再用动画检查;把输入改成倒序后,比较移动或比较次数。
访问说明
页面公开,部分答案只向教师开放,账号功能另有限制。中文页混有英文。

来源:visualgo.net (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Amit Patel / Red Blob Games国际 · 英文

P1 · 重点提升L1 · 基础后端与系统交互练习

Red Blob Games:移动地图,看清寻路算法 (新标签页)↗

本次学什么
先看广度优先搜索的逐格展开,再对照 Dijkstra 如何考虑地形代价。
已学可跳过
首轮不写完整寻路引擎;A* 估计方法和实现细节留到熟悉图与队列之后。
展开介绍、学习准备与访问说明

移动起点、终点和障碍,观察搜索怎样逐格展开。通过同一张地图,比较广度优先搜索、Dijkstra 和 A* 在考虑什么。

可用资料可移动起终点的地图 / 逐步搜索与算法对照 / 短代码和后续实现指南

Introduction to the A* Algorithm:地图与搜索演示

对你的帮助
把抽象的队列与图变成能看见的访问顺序,也帮助理解为什么最少步数不一定等于最低通行代价。
开始前要会什么
认识图中的点和连接;理解队列先进入先处理;先看图不要求编写 Python
原资料涉及的知识
图搜索 · 广度优先搜索 · Dijkstra · A* · 路径代价
学习建议
先在等代价地图上看广度优先搜索,再读 Movement costs。看到高代价地形时,先预测路线会穿过还是绕开,再播放对照动画;记录步数与总代价的区别。首次学习可停在 Dijkstra,之后再看 A* 的距离估计。
访问说明
英文图文可公开阅读,拖动和动画需要 JavaScript。先学网格演示即可;代码实现另需语言基础,A* 的最优性也依赖估计方法满足相应条件。

来源:www.redblobgames.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Mike Bostock美国 · 英文

P1 · 重点提升L1 · 基础计算机基础交互练习

洗牌偏差矩阵:打乱一次,看起来随机就够了吗 (新标签页)↗

本次学什么
只看位置频数矩阵和 Fisher–Yates 的剩余区间交换,再写四元素实验。
已学可跳过
先跳过其他算法可视化与绘图代码;不要从单次动画判断均匀性。
展开介绍、学习准备与访问说明

用矩阵记录元素洗牌前后的位置,比较多次打乱是否偏向某些位置。页面提供算法选择和自定义代码入口。

可用资料原作者洗牌偏差矩阵 / 算法选择与自定义代码入口 / 同作者 Fisher–Yates 图解与实现

Will It Shuffle?(2012);核对 2026-10-03

对你的帮助
把“看着很乱”换成可检查的位置计数,适合接在数组、交换和基础概率之后。
开始前要会什么
认识数组下标与交换两个元素;会算次数和比例;改写示例需要基础 JavaScript
原资料涉及的知识
数组随机打乱 · Fisher–Yates · 位置频数矩阵 · 有限样本与偏差
学习建议
先读矩阵的横纵轴和颜色说明,再看原作者 Fisher–Yates 图解。用自己的代码将 [0,1,2,3] 打乱 1000 次,记录每个元素到各位置的次数,再增加到 10000 次比较;频数接近不能单独证明所有排列等概率。
访问说明
公开正文可直接阅读;本轮核对到算法选择、代码输入和刷新控件,未运行浏览器交互。该演示发表于 2012 年,实际控件兼容性需使用时确认。

来源:bost.ocks.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Jason Davies英国 · 英文

P1 · 重点提升L1 · 基础计算机基础交互练习

布隆过滤器小图:说可能存在,还要查什么 (新标签页)↗

本次学什么
用小位图解释加入与查询,并构造一次假阳性;英文只读 Operations 和 Explanation。
已学可跳过
先跳过 FNV 实现、概率公式、删除扩展与生产参数选型。
展开介绍、学习准备与访问说明

用一列位和几条哈希箭头观察加入与查询,区分肯定不在和可能在。

可用资料Operations / Interactive Demonstration / Explanation

作者原站演示;2026-10-07 核查

对你的帮助
理解它怎样先筛掉不必要的查询,同时知道一个“可能在”的结果还不能代替真正查数据。
开始前要会什么
知道集合表示一组元素;知道哈希会把输入映射到一个位置
原资料涉及的知识
Bloom Filter · 位数组 · 假阳性 · 集合查询
学习建议
先读 Operations,再看 Explanation 的位列。自己用 8 个格子和每项两个位置做纸面过滤器,写入几项后构造一个没写入却被判为可能存在的查询;画出一个可直接排除的查询。交位图和查询证据,不必安装库。
访问说明
作者英文原站可公开阅读;需认识 add、test、bit。已核对空过滤器查询和加入 shop-42 后同名查询的界面反馈,未穷尽测试或测误判率。

来源:www.jasondavies.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

坎特伯雷大学 Computer Science Education Research Group新西兰 · 英文

P1 · 重点提升L0 · 零基础计算机基础开放教材

查找盒子:排好顺序后,为什么可以一次划掉半边 (新标签页)↗

本次学什么
用八个数字理解逐个查找与对半排除,自己检查“必须先有序”的条件。
已学可跳过
先跳过计时程序、Scratch/Python 下载、平均复杂度和大 O 公式。
展开介绍、学习准备与访问说明

先一个个翻盒子,再看有序盒子怎样让你排除半边。只数检查了几个数字,不需要写程序。

可用资料2.2 Searching 开头与 Searching Boxes Part 1/Part 2 / 2.2.1 Linear search 与 2.2.2 Binary search / 八张纸片的固定输入对照题

Computer Science Field Guide 3.17.0;2.2 Searching 与两个 Searching Boxes 演示

对你的帮助
“二分查找”就是先看中间,再排除肯定不可能的一半。亲手划掉候选范围,比先背公式更容易理解它快在哪里、什么时候不能用。
开始前要会什么
会比较整数大小;能从左到右给八张纸片编号;无需编程、账号或软件安装
原资料涉及的知识
逐个查找 · 对半缩小范围 · 数据必须有序 · 查不到目标的情况
学习建议
先读 2.2 开头,分别打开 Part 1 和 Part 2,再只读两个查找小节。术语先这样理解:linear search 是从左到右逐个找;binary search 是看中间后排除半边。自拟纸笔题:写八个数 [3,6,9,12,15,18,21,24],找 21;分别逐个检查和对半查找,偶数个候选时取靠左的中间项。每次记“还可能在哪几格、检查哪格、排除哪半边”。再只用对半法找不存在的 20。最后把数据换成 [3,21,9,12,15,18,6,24],仍找 21,观察硬套对半规则为什么可能漏掉它。交步骤表和一句使用条件;网页随机关卡另记,不与固定纸笔题混算。
访问说明
正文和两个演示入口公开,无需账号。已复算纸笔题,并在浏览器完成无序 5 盒、有序 9 盒各一次查找;两次目标和数字不同,没有通关或测量耗时。

来源:www.csfieldguide.org.nz (新标签页)↗
核对日期:

Java 调试与测试

用断点定位错误,再把正确行为写成自动检查。

完成标准能复现一个错误、找到原因,并留下覆盖边界情况的测试。

推荐主线

JetBrains国际 · 中文

P0 · 必会主线L0 · 零基础Java基础官方文档

用断点找 Java 错误:观察变量怎样一步步变化 (新标签页)↗

本次学什么
学会断点、单步和变量检查,找到结果首次出错的位置。
已学可跳过
远程调试和运行时改代码先不学;JDK 17 学习者沿用自己的入口写法。
展开介绍、学习准备与访问说明

通过一个结果算错的小程序,学习断点、单步执行和查看变量,找到错误出现的位置。

可用资料中文分步教程 / 小型错误示例 / 调试界面截图

IntelliJ IDEA 中文教程;示例使用 Java 25

对你的帮助
给“运行结果不对”提供具体排查方法,减少来回改代码试运气。
开始前要会什么
会运行简单 Java 程序;理解方法、循环和变量
原资料涉及的知识
断点 · 单步执行 · 变量检查 · 调用过程 · 修复后复查
学习建议
先完成设置断点与单步执行。小练习:在自己的求平均数方法中故意漏掉除法,用 1、2、3 作输入,记录每一步变量值,再修复并复查空输入情况。
访问说明
文档公开;当前示例使用 Java 25 的入口语法,不能原样放进 JDK 17 项目。可保留方法逻辑,改用自己项目已有的标准 main 入口练习。

来源:www.jetbrains.com (新标签页)↗
核对日期:

其他来源:替代或选学(9)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

JetBrains国际 · 中文

P0 · 必会主线L1 · 基础Java基础官方文档

第一个 JUnit 测试:把正确结果写成自动检查 (新标签页)↗

本次学什么
写出小而明确的断言,并能读懂失败原因。
已学可跳过
先不学复杂模拟对象;已经有项目测试依赖时不用照抄文档版本。
展开介绍、学习准备与访问说明

以简单计算器为例,介绍添加测试依赖、编写测试和查看通过或失败的结果。

可用资料中文教程 / 计算器示例 / 测试运行截图

IntelliJ IDEA 中文入门教程

对你的帮助
把调试中找到的错误留成测试,后续改代码时能及时发现同样的问题。
开始前要会什么
Java 类与方法;能使用 Maven 或 Gradle 项目
原资料涉及的知识
测试类 · 断言 · 成功与失败结果 · 测试依赖
学习建议
先学创建测试类和运行测试。小练习:给求和方法写普通输入、空输入、负数三个测试,故意写错一个期望值,读懂失败提示后再修正。
访问说明
文档公开;示例含较旧的 JUnit 版本和 Java 21 设置。可学习操作步骤,依赖版本应与自己的项目匹配。

来源:www.jetbrains.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Python Tutor 项目国际 · 英文

P0 · 必会主线L0 · 零基础Java基础交互练习

Java 代码可视化:逐行看变量、引用和方法调用 (新标签页)↗

本次学什么
用短程序观察变量、对象和调用过程,先预测再运行。
已学可跳过
只用于看清小例子;完整项目仍用自己的 IDE 调试,不必使用页面的 AI 问答。
展开介绍、学习准备与访问说明

写一小段 Java,按步骤观察变量指向哪个对象、数组怎样变化,以及方法怎样调用和返回。

可用资料在线代码编辑器 / 逐步执行图 / 项目使用说明

在线 Java 可视化工具(持续更新)

对你的帮助
用图看懂引用和值传递,比只盯着打印结果更容易发现自己哪里想错了。
开始前要会什么
能读懂变量、赋值和简单的 main 方法
原资料涉及的知识
Java 引用 · 数组 · 方法调用 · 递归 · 对象
学习建议
先写两个变量指向同一个数组,再通过其中一个变量修改数组。运行前画出你预计的关系,运行后逐步核对;再练一次传参和一次递归。只使用可视化也能完成这些练习。
访问说明
可视化功能免费,页面为英文且有广告。只适合短小示例,不支持完整的多文件项目;页面带 AI 问答功能,输入代码会交给外部服务处理,练习请用不含私密信息的小例子。

来源:pythontutor.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Spring国际 · 英文

P1 · 重点提升L1 · 基础后端与系统官方文档

Spring:给控制器写第一组测试 (新标签页)↗

本次学什么
只加载网页层,检查状态与返回内容,并说明替身替换了哪些依赖。
已学可跳过
Kotlin、真实端口与完整应用测试留到下一轮。
展开介绍、学习准备与访问说明

从一个简单控制器开始,对比启动整个应用的测试和只加载网页层的测试,检查状态码与返回内容。

可用资料分步指南 / Java 与 Kotlin 示例 / 示例项目入口

2026-09-28 核阅的当前指南;示例采用 RestTestClient 与 @MockitoBean

对你的帮助
已有 JUnit 入门讲怎样写断言;这份指南进一步回答 Spring 控制器测试应该启动哪些组件、哪些依赖可以替换。
开始前要会什么
能运行一个 Spring Boot 控制器;会写 JUnit 断言;知道 Maven 或 Gradle 的测试命令
原资料涉及的知识
Spring 控制器测试 · @WebMvcTest · 测试替身 · 完整应用测试
学习建议
先读 contextLoads,再读 @WebMvcTest 与服务替身示例;暂跳 Kotlin 和真实端口测试。给同一控制器写正常返回、服务返回异常两组检查,交出测试结果和一段说明:本次到底加载了哪些组件。
访问说明
网页公开可读,无需登录。运行需要匹配项目版本的 JDK 和构建工具;当前示例的测试包名与旧版 Spring Boot 不完全相同,先核对自己的版本。

来源:spring.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Testcontainers for Java国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Testcontainers:让测试自己准备 Redis (新标签页)↗

本次学什么
让测试启动 Redis,写入再读回,并说明实际连接地址和端口从哪里来。
已学可跳过
并行启动、容器复用与云端执行。
展开介绍、学习准备与访问说明

把依赖固定 localhost:6379 的测试,改成由测试启动 Redis 容器、取得实际地址与端口,再在结束后清理。

可用资料JUnit 5 分步示例 / 容器运行环境说明 / 完整测试类

2026-09-28 核阅;页面依赖示例为 Testcontainers 2.0.5

对你的帮助
补上单元测试之后的真实依赖测试:替身能检查调用方式,容器中的 Redis 则能帮助检查实际读写是否接得上。
开始前要会什么
会运行 JUnit 测试;理解 Redis 最基本的写入与读取;知道容器与端口映射
原资料涉及的知识
JUnit 5 集成测试 · 容器生命周期 · 动态端口 · 测试环境隔离
学习建议
顺着第 1–3 步和完整测试类阅读,先跳并行启动与复用容器。练习写入一个键再读回;只用 getHost 与实际映射端口连接。交出测试代码,并解释为什么不能把宿主机端口写死。
访问说明
文档公开可读,无需登录。运行需要 Java 构建环境、兼容 Docker API 的容器运行时,以及拉取镜像的网络与磁盘空间;云服务不是必选项。示例中的依赖与镜像版本需结合自己的项目核对。

来源:java.testcontainers.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

PIT 项目国际社区 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

PIT:故意改错一行,看看测试能不能发现 (新标签页)↗

本次学什么
只检查一个条件判断方法,找出一处现有断言漏掉的边界。
已学可跳过
先跳过全项目扫描、多模块聚合与强制百分百门槛。
展开介绍、学习准备与访问说明

让工具临时修改比较条件或返回结果,再运行已有测试,找出“代码走到了,断言却没有发现错误”的情况。

可用资料Maven 配置说明 / 结果类别说明 / HTML 报告

Maven Quick Start 与 Basic Concepts(滚动文档)

对你的帮助
补充现有 JUnit 与控制器测试路线,帮助检查断言是否真正保护业务边界。
开始前要会什么
已有一个 Maven Java 项目;会写 JUnit 测试与边界断言
原资料涉及的知识
变异测试 · 存活的改动 · 无测试覆盖 · 边界断言
学习建议
先选一个折扣或年龄判断方法,限制 targetClasses 范围。比较已有测试与新增边界测试的结果,解释每个未被测试发现的改动;不要只追求总分。
访问说明
已读 Maven 起步和基本概念;未安装插件、生成报告或核验与用户项目的兼容性。应固定与项目匹配的插件版本,不直接复制文档中的 LATEST 占位。使用 JUnit 5 时,还需在 PIT 插件依赖中配置匹配版本的 pitest-junit5-plugin,先确认能发现并执行现有测试。

来源:pitest.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

jqwik / Johannes Link国际 · 英文

P1 · 重点提升L2 · 进阶Java基础官方文档

jqwik:让测试自己找输入,再缩小出错例子 (新标签页)↗

本次学什么
练输入生成、失败反例缩小和 seed 重跑,用排序规则检查重复元素。
已学可跳过
状态机、递归生成器与引擎扩展;已有固定例子仍保留。
展开介绍、学习准备与访问说明

先写所有合法输入都应满足的规则,再让工具生成许多输入。发生错误时,观察它怎样把复杂输入缩成容易解释的小例子。

可用资料Writing Properties 与 Failure Reporting / Customized Parameter Generation / Result Shrinking 与 Rerunning Falsified Properties

jqwik 1.10.1 用户指南;JUnit Platform 最低 1.14.4;核对 2026-10-07

对你的帮助
手写几个例子容易漏掉空列表、重复元素和边界值;属性测试补上输入生成与失败复现这一块。
开始前要会什么
会写 JUnit 断言和 Java List;能把一句需求写成可以检查的规则
原资料涉及的知识
属性测试 · 输入生成 · 反例缩小 · 随机种子 · 边界值
学习建议
为整数列表排序写三条检查:结果有序、每个值出现次数不变、原列表未改动。限定列表长度 0—20、数值 -3—3,故意让实现去掉重复项,保存原始失败输入、缩小后的输入和 seed,再按同一 seed 重跑。先不读状态机与自定义引擎。
访问说明
公开指南可读;依赖需与文档规定的 JUnit Platform 版本对应。本轮未安装 jqwik 或运行属性测试,测试输出的介绍性文字不代表断言结果。

来源:jqwik.net (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Pact Foundation国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Pact JVM:接口改了,调用它的程序还认得吗 (新标签页)↗

本次学什么
围绕一个查询接口,独立准备存在/不存在状态,再检查一次字段变更。
已学可跳过
远端 Broker、发布矩阵、插件协议与多服务大环境先不配置。
展开介绍、学习准备与访问说明

把调用方依赖的请求和响应写成契约,再让真实接口逐项核对;每项检查之前先准备好需要的数据。

可用资料JUnit 5 提供方扩展 / Provider states 概念说明 / JVM 版本兼容表 / Consumer JUnit 5:先生成本地 pact 文件,再进入提供方验证

Pact JVM 4.6.x / JUnit 5;JDK 17+;核对 2026-10-07

对你的帮助
Mock 测试可能一直返回旧格式。契约验证让提供接口的一方也检查这些约定,能发现字段改名或类型变化。
开始前要会什么
能写 JUnit 5 测试;有一个本地 HTTP JSON 接口;理解测试数据准备与清理
原资料涉及的知识
消费者驱动契约 · 提供方验证 · Provider State · 响应字段类型 · JUnit 5
学习建议
自拟练习:先从文档导航的 Consumer/JUnit 5 生成本地订单查询 pact,包含“订单存在”和“不存在”两项交互;再用 @PactFolder 做提供方验证,每项独立准备数据。把 totalCents 改名,观察哪项约定失败。交 pact、生成代码、状态准备代码和失败位置;统一依赖版本,不依赖上一项留下的数据。
访问说明
官方文档可读;本轮选 4.6.x 文档路线,要求 JDK 17+。练习可从本地 pact 文件开始,不需要先配置远端 Broker;本轮未运行消费者或提供方测试。

来源:docs.pact.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Spring Framework国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Spring 测试:显示回滚了,为什么数据库仍可能留下数据 (新标签页)↗

本次学什么
把测试事务、执行线程和事务结束后的数据检查放在同一张表里。
已学可跳过
多事务管理器和复杂传播级别先不扩展。
展开介绍、学习准备与访问说明

区分测试线程上的事务和另一个线程里的操作,特别检查会换线程执行的抢占式超时断言。

可用资料Test-managed Transactions / Preemptive timeouts 注意事项 / JUnit 5 超时断言说明

Spring Framework 6.2.19 文档;配合 JUnit Jupiter;核对 2026-10-07

对你的帮助
测试框架报告回滚,只能说明它管理的事务被回滚;不能自动覆盖另外线程中独立提交的操作。
开始前要会什么
理解数据库事务与回滚;会写 Spring 集成测试;知道 ThreadLocal 按线程保存值
原资料涉及的知识
TestContext · 测试事务 · 抢占式超时 · 线程边界 · AfterTransaction
学习建议
自拟练习(尚未执行):为一次写入画测试线程与 assertTimeoutPreemptively 执行线程两条线。在独立练习库设计普通调用和换线程调用两组测试,明确被调代码的事务安排;用事务结束后的独立读取核对行数,记录线程名和事务是否活动。
访问说明
原始文档已核对;本轮未启动 Spring 测试容器,也未连接数据库验证回滚。测试必须使用独立练习数据库或内存库,版本依项目匹配。

来源:docs.spring.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Oracle Java国际 · 英文

P1 · 重点提升L2 · 进阶Java基础官方文档

Java 异常:业务失败后,关闭资源又报错,两个原因怎样保留 (新标签页)↗

本次学什么
只看 try-with-resources、getSuppressed 与 cause,构造两个同时失败的来源。
已学可跳过
先跳过自定义序列化、低内存复用异常和完整 I/O 系统。
展开介绍、学习准备与访问说明

同时制造业务异常和关闭资源异常,观察哪个异常向外抛出、另外一个保存在哪里,再区分 cause 与 suppressed 两种关系。

可用资料Java 21 Throwable API / Oracle try-with-resources 历史教程 / 自拟失败对照

Java SE 21 Throwable API;配合 JDK 8 历史教程的 try-with-resources 语义导读

对你的帮助
只记日志消息可能漏掉真正的业务失败或关闭失败;理解完整异常树有助于排查文件、连接等资源操作的问题。
开始前要会什么
会写 try/catch/finally;认识 AutoCloseable;能运行简单 Java 程序
原资料涉及的知识
try-with-resources · getSuppressed · 异常原因链 · 关闭顺序
学习建议
自拟练习:写一个 close 会抛异常的虚构资源,让 try 内也抛异常;对照 try-with-resources 与手工 finally。打印主异常、cause、getSuppressed 和关闭顺序;再加两个资源观察逆序关闭。交异常关系图和实际输出,不把 suppressed 当作 cause。
访问说明
两份官方正文已读;历史教程以 JDK 8 编写,API 以 Java 21 为准。已在 JDK 21.0.12 用虚构 AutoCloseable 核对主异常、附加异常、cause 和逆序关闭,共 9 项检查通过;无须真实文件或数据库。

来源:docs.oracle.com (新标签页)↗
核对日期:

Java 构建与自动检查

弄清编译、测试、打包,再让提交自动执行检查。

完成标准能解释本地与工作流的构建日志,并保持使用一致的 JDK。

推荐主线

Apache Maven国际 · 英文

P0 · 必会主线L1 · 基础Java基础官方文档

Maven 入门:弄懂编译、测试和打包在做什么 (新标签页)↗

本次学什么
看懂项目结构和编译、测试、打包各阶段。
已学可跳过
发布到远程仓库与插件开发暂后学;先能解释本地构建结果。
展开介绍、学习准备与访问说明

从一个小项目解释 pom.xml、目录结构、依赖,以及编译、测试和生成 JAR 的步骤。

可用资料官方分节指南 / 最小项目 / 构建命令与配置说明

官方 Getting Started Guide

对你的帮助
遇到依赖下载失败或 JDK 不匹配时,能区分错误出在哪个阶段。
开始前要会什么
能写简单 Java 类;已安装可用 JDK 和 Maven
原资料涉及的知识
pom.xml · 项目目录 · 依赖 · 编译与测试 · JAR 打包
学习建议
先读项目结构、编译、测试和打包四节。小练习:在同一个小项目中分别运行 compile、test、package,记录 target 目录多出了什么;再说明“编译通过”为何不等于“测试通过”。
访问说明
英文文档公开,下载依赖需联网;在现有项目练习时,应保留项目要求的 JDK 和依赖组合。

来源:maven.apache.org (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

GitHub美国 · 中文

P1 · 重点提升L1 · 基础后端与系统官方文档

提交后自动跑 Java 测试:GitHub Actions 入门 (新标签页)↗

本次学什么
把已能通过的本地检查搬到自动工作流,并读懂失败日志。
已学可跳过
暂不发布软件包或部署服务;缓存与产物上传在基础流程跑通后再加。
展开介绍、学习准备与访问说明

把本地 Maven 构建命令写进工作流,在提交或拉取请求时自动运行并保存结果。

可用资料中文步骤 / YAML 示例 / 运行与产物说明

GitHub 官方中文教程

对你的帮助
让项目改动有一致的检查过程,也能看出本地环境和远程环境是否不同。
开始前要会什么
本地 Maven 构建和测试能运行;理解 Git 提交;能阅读简单 YAML
原资料涉及的知识
工作流文件 · JDK 版本 · Maven 检查 · 依赖缓存 · 构建产物
学习建议
先读指定 Java 版本与构建测试部分。小练习:在自己的练习仓库配置与本地相同的 JDK 和 Maven 命令,再让一个测试故意失败,找到日志中的失败位置。
访问说明
文档公开;运行需要自己的 GitHub 仓库、账号权限及可用 Actions 配额,费用取决于账号和使用情况。

来源:docs.github.com (新标签页)↗
核对日期:

Java 软件构造

先写清程序应满足的约定(契约),再用推理和测试检查正确性。

完成标准能为一种抽象数据类型写清功能约定、内部数据必须满足的条件(表示不变式)及测试,并解释线程安全需要哪些条件。

推荐主线

麻省理工学院(MIT)美国 · 英文

P1 · 重点提升L2 · 进阶Java基础高校课程

6.031 Software Construction:Java 软件构造 (新标签页)↗

本次学什么
规格、测试、抽象数据类型、表示不变式、不可变性与线程安全论证。
已学可跳过
Java 语法、接口和一般对象设计不重复学;只在说不清程序应满足什么约定时回查。
展开介绍、学习准备与访问说明

围绕可理解、可修改和可验证的软件,学习规格、测试、抽象数据类型、不变式、并发和消息传递;这里选用明确以 Java 教学的 2021 版。

可用资料在线阅读讲义 / 习题与项目说明 / 测验与部分解答 / Java、Eclipse 与 Git 起步指南

Spring 2021(Java 历史版本)

对你的帮助
适合把 Java 语法能力提升为接口契约、不可变性和并发设计能力,帮助审查服务层代码的正确性。
开始前要会什么
熟练使用一种编程语言;Java 类、集合与异常基础;基本递归、测试与 Git 操作
原资料涉及的知识
规格与测试 · 代码审查 · 可变性与不可变性 · 抽象函数与表示不变式 · 接口与泛型 · 线程安全与锁 · 队列、Socket 与回调
学习建议
优先读测试、规格、不可变性和抽象数据类型四组内容;给一个本站 Java 类补契约与不变式,再进入线程安全。英文讲义密度较高,适合逐节写推理笔记。
访问说明
公开讲义和题目可以阅读;页面中的 MIT Git、评分和课堂服务不等于向校外开放。链接固定为 2021 Java 版,后续同号课程存在语言变更,不应混读后声称全部为 Java 课程。

来源:web.mit.edu (新标签页)↗
核对日期:

其他来源:替代或选学(3)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Petr Hudeček / Michal Pokorný国际 · 英文

P1 · 重点提升L1 · 基础计算机基础交互练习

Deadlock Empire:亲手决定两个线程谁先走 (新标签页)↗

本次学什么
从入门引导开始,读懂示例的 C# 写法,只跟踪两个线程和一个共享变量,手写正常与出错的交错顺序。
已学可跳过
先跳过高级关卡;游戏调度不能代替 Java 内存模型和真实程序验证。
展开介绍、学习准备与访问说明

把自己当成调度员,决定哪个线程先执行下一步,观察共享变量和锁怎样相互影响。示例使用 C# 写法;目标是写出会出错的执行顺序,理解并发的基本问题。

可用资料浏览器关卡 / 入门引导 / 作者开源项目说明

原创浏览器并发游戏;项目始于 HackCambridge 2016

对你的帮助
为站内共享状态与丢失更新文章提供手动交错执行的练习,帮助读者理解看似连续的一段操作为什么可能被另一个线程插进来。
开始前要会什么
能读变量赋值和 if;知道两个线程可能访问同一个变量
原资料涉及的知识
线程交错 · 共享状态 · 竞态 · 锁 · 死锁
学习建议
从入门引导开始,只研究一对线程和一个共享变量,记录一条正常顺序与一条出错顺序;产出两列执行日志。之后再尝试锁相关关卡。游戏采用自己的简化执行规则,不能据此证明 Java 内存可见性、JIT 重排或真实系统的所有线程行为。
访问说明
免费英文网页游戏,需要 JavaScript。入门示例采用 C# 写法;先做两个线程的逐步执行练习,之后再尝试锁相关关卡。

来源:deadlockempire.github.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

OpenJDK国际社区 · 英文

P2 · 按需深入L3 · 深入后端与系统开源实战

jcstress:给并发结果列出允许与禁止的清单 (新标签页)↗

本次学什么
先列并发结果清单,再记录一条小计数器实验的结果分布。
已学可跳过
先跳过完整测试套件、硬件内存模型与 JDK 实现缺陷研究。
展开介绍、学习准备与访问说明

让少量线程反复读写共享状态,记录实际出现过哪些结果,再对照 Java 并发规则解释这些结果。

可用资料官方 README / API、JMM、并发行为三组样例 / HTML 结果报告说明

官方仓库 README 与 jcstress-samples(滚动更新)

对你的帮助
把线程安全从“多跑几次没出错”推进到先列允许结果、再收集反例的练习。
开始前要会什么
Java 线程、共享变量与同步基础;能读简单的 Java 内存模型说明;会使用 Maven 与 Git
原资料涉及的知识
共享状态 · 结果分类 · 并发压力实验 · 结果报告的证据边界
学习建议
先读 API 样例,再选一条共享计数器练习;分别用普通自增和 AtomicInteger,先写结果清单后运行。保存 JDK、硬件和执行时长;没有观察到异常不能证明异常不可能发生。
访问说明
已读官方仓库说明;OpenJDK 项目主页本次返回 403。仓库分别说明框架构建与全部测试的 JDK 条件,实际使用要按所选源码核对,未构建运行。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

ArchUnit 项目国际社区 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

ArchUnit:让测试检查代码有没有跨错层 (新标签页)↗

本次学什么
只写一条分层依赖规则,通过故意违规和修复证明规则能发现目标问题。
已学可跳过
先跳过大而全的架构模板、冻结历史违规和复杂扩展 API。
展开介绍、学习准备与访问说明

把“控制器通过服务访问数据层”等约定写成测试,检查编译后的 Java 类之间是否出现了不允许的依赖。

可用资料官方用户指南 / 分层与循环检查示例 / JUnit 集成说明

ArchUnit User Guide · What to Check(滚动文档)

对你的帮助
给分层设计加入可复查的检查,避免约定只留在文档里,适合小型 Spring 项目。
开始前要会什么
理解包、类和依赖关系;会写 JUnit 测试;已有控制器、服务、数据访问层的小项目
原资料涉及的知识
包依赖 · 分层约束 · 循环依赖 · 架构规则测试
学习建议
先写一条符合现有设计的规则,故意加入一处跨层调用让它失败,再修复并确认通过。规则应服务于项目实际约定,不必照搬所有分层限制。
访问说明
已读官方指南的导入、包依赖、分层与循环检查部分;未给用户项目添加依赖或运行测试。这里检查静态结构,不等于检查请求时的完整业务行为。

来源:www.archunit.org (新标签页)↗
核对日期:

一次网页请求

从打开网址到收到回复,理解浏览器与服务器的分工。

完成标准能在网络面板找到一条请求,解释参数、状态、返回内容和耗时。

推荐主线

MDN Web Docs国际 · 中文

P0 · 必会主线L0 · 零基础后端与系统官方文档

输入网址后发生了什么:浏览器与服务器入门 (新标签页)↗

本次学什么
先画清浏览器请求网页的基本过程。
已学可跳过
暂不深入网络分层;已能解释一次请求时直接读 HTTP 和浏览器工具。
展开介绍、学习准备与访问说明

顺着打开网页这件小事,解释浏览器、服务器、域名和页面文件怎样配合。

可用资料中文入门文章 / 流程图 / 延伸阅读

MDN 中文学习文档

对你的帮助
先有一张请求过程的路线图,再读 HTTP、控制器和数据库,会更容易找到每个概念的位置。
开始前要会什么
会使用浏览器;无需后端开发经验
原资料涉及的知识
客户端与服务器 · 域名查询 · 请求与响应 · 页面资源
学习建议
先读“客户端和服务器”和“到底发生了什么”。小练习:画出浏览器访问博客的四步过程,并给每个箭头写一句白话说明;区分网址、服务器和返回的文件。
访问说明
正文公开;适合先理解网页如何传到浏览器,协议细节可在后续按需补充。

来源:developer.mozilla.org (新标签页)↗
核对日期:

其他来源:替代或选学(10)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

MDN Web Docs国际 · 中文

P0 · 必会主线L0 · 零基础后端与系统官方文档

HTTP 入门:读懂请求、响应和状态码 (新标签页)↗

本次学什么
读懂一条请求和响应,以及登录状态怎样随请求传递。
已学可跳过
不背全部请求头;具体状态码遇到时再查。
展开介绍、学习准备与访问说明

介绍浏览器和服务器怎样发送请求与回复,以及请求头、响应头和正文分别做什么。

可用资料中文协议概述 / 消息结构示意 / 相关参考链接

MDN 中文在线文档

对你的帮助
给 Java Web 接口、登录状态和缓存学习建立一套共同语言。
开始前要会什么
知道浏览器与服务器的区别;能理解 URL 指向一个资源
原资料涉及的知识
请求与响应 · 方法和状态码 · 消息头与正文 · Cookie 与会话
学习建议
先读“HTTP 流”和“HTTP 报文”,再读无状态与会话。小练习:从浏览器网络面板挑一条请求,分别指出方法、状态码、请求头和响应正文。
访问说明
正文公开;概述中的文本报文主要帮助理解 HTTP/1.x,不代表 HTTP/2、HTTP/3 在网络上都按同样文本传输。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Google Chrome 开发者文档美国 · 中文

P0 · 必会主线L0 · 零基础后端与系统官方文档

浏览器网络面板:查清哪个请求慢了或失败了 (新标签页)↗

本次学什么
用工具观察请求、错误、缓存和时间分布。
已学可跳过
先不学习高级拦截与覆盖功能;只练能解释一条真实请求。
展开介绍、学习准备与访问说明

带着演示网页查看每个请求的状态、内容和耗时,并尝试筛选请求、模拟慢网络。

可用资料中文分步教程 / 演示网页入口 / 操作截图

Chrome DevTools 中文教程

对你的帮助
把“页面打不开”和“接口报错”拆成可观察的证据,方便排查前后端问题。
开始前要会什么
会打开网页;最好先读 HTTP 概述
原资料涉及的知识
Network 面板 · 请求筛选 · 响应内容 · 请求耗时 · 缓存与慢网络
学习建议
先做记录请求和查看 Headers、Response、Timing。小练习:记录博客中一个页面与一张图片的状态码、大小和耗时,再解释它们为何是两条请求。
访问说明
教程公开,需要桌面浏览器开发者工具;界面名称可能随浏览器版本变化。

来源:developer.chrome.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

DNSimple / How HTTPS works;xgqfrms 中文翻译国际 · 中文

P1 · 重点提升L0 · 零基础后端与系统开放教材

HTTPS 中文漫画:消息怎样安全地到达网站 (新标签页)↗

本次学什么
先读第一集的三个通信问题,再读第三集的协商过程,画出浏览器与服务器的分工。
已学可跳过
不按漫画中的旧锁图标寻找浏览器按钮;不背所有密码套件或据此认定网站内容可信。
展开介绍、学习准备与访问说明

跟着浏览器和服务器两个角色,区分偷看消息、修改消息和冒充网站,再用分格漫画认识建立安全连接的过程。

可用资料中文分格漫画 / 密钥与握手章节 / 协议名称和证书机构介绍

中文漫画:通信保护与握手选读

对你的帮助
在已经理解请求和响应之后,补上 HTTPS 保护的对象,让密钥、证书和握手先有具体用途。
开始前要会什么
知道浏览器会向服务器发送请求
原资料涉及的知识
HTTPS · 加密通信 · 身份验证 · 证书 · TLS 握手
学习建议
先读第一集,为窃听、篡改、冒充各写一个一句话例子。再读第三集,只画出浏览器和服务器协商、验证身份、建立保护的顺序;暂不背密码套件名称,也不要把漫画当作逐字节协议说明。
访问说明
中文译文可公开阅读,无需购买 DNSimple 服务。漫画中的绿色锁属于旧界面示意;HTTPS 保护传输,不保证网站内容真实或经营者可信。

来源:howhttps.works (新标签页)↗
核对日期:

定向补充 · 只学指定内容

小林 coding / 原作者图解网络中国 · 中文

P1 · 重点提升L0 · 零基础后端与系统开放教材

小林 coding:沿一张 DNS 图找出网页地址 (新标签页)↗

本次学什么
限定“真实地址查询——DNS”段落的层级树、域名解析流程图及缓存说明,照图追踪箭头。 完成后:画出一次缓存未命中的 DNS 查询示意,再标出一种缓存命中可省略的查询;最后说明查到地址为什么还不等于网页内容已取回。
已学可跳过
跳过整篇后续 HTTP/TCP 包头、Linux 命令、路由表与商业课程入口。
展开介绍、学习准备与访问说明

只读“真实地址查询——DNS”这一段,沿域名解析图看一次查找怎样得到 IP 地址。先分清“查地址”与“取网页内容”,再观察缓存在哪里可能省掉一些查询。

可用资料中文原创图文 / DNS 层级树 / 域名解析流程图 / 缓存说明

图解网络基础篇 2.2 的 DNS 定向阅读;2026-09-26 核验

对你的帮助
用中文流程图补充网页请求的基础直觉。既有 MDN 入门讲请求整体,这里只练习跟踪 DNS 图中的参与者和箭头。
开始前要会什么
知道浏览器地址栏里的域名;知道 IP 地址用于网络通信
原资料涉及的知识
DNS · 域名层级 · 递归解析器 · DNS 缓存
学习建议
先画出缓存未命中时的示意路径,再标出一种缓存命中后可省掉的查询。图是简化示例:具体查询顺序会随浏览器、系统和配置变化。本项跳过 HTTP/TCP、Linux 命令及后续包头细节。
访问说明
所选正文可公开读取,无需登录或付费;网页另有培训、付费产品和 PDF 获取入口,均不是此项阅读前提。本次只核验在线正文,不领取资料或运行文中的命令。

来源:xiaolincoding.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

阿里云中国 · 中文

P1 · 重点提升L0 · 零基础后端与系统官方文档

阿里云中文:DNS 缓存为何还拿着旧地址 (新标签页)↗

本次学什么
只读 TTL 缓存机制和地址切换例子,分别标出权威值、缓存副本与下次查询。
已学可跳过
跳过套餐和控制台操作;不把例子里的秒数当成统一生效承诺。
展开介绍、学习准备与访问说明

先区分权威处的记录与解析器保存的副本,再观察 TTL 尚未到期时为什么还会返回旧地址。结合文中的缓存策略说明,给生效时间补上适用条件。

可用资料缓存使用流程 / 更换地址的例子 / 不同缓存策略的提醒

“TTL的生效机制”与地址切换例子的定向阅读;2026-09-27 核验

对你的帮助
为 DNS 两份缓存互动提供一份国内厂商的中文解释,帮助把抽象的 TTL 对应到网站地址切换。
开始前要会什么
知道域名与 IP 地址的区别
原资料涉及的知识
DNS · TTL · 解析缓存 · 地址切换
学习建议
只读“TTL的生效机制”和“应用场景”第二项,画出旧副本到期后再次查询的顺序,再读运营商可能调整缓存策略的说明。暂时跳过套餐、最小值与操作步骤;不要把厂商示例中的秒数当成全球统一的生效承诺,也不需要真的迁移网站。
访问说明
2026-09-27 已公开读取正文,不需要账号。本项只阅读机制;套餐最小 TTL、购买入口和控制台操作不是学习前提,未登录或修改任何域名。

来源:help.aliyun.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

RFC Editor / IETF / IANA国际 · 英文

P2 · 按需深入L0 · 零基础计算机基础官方文档

418 茶壶短读:一个玩笑怎样留在协议记录里 (新标签页)↗

本次学什么
对照 RFC 2324 第 2.3.2 节、RFC 9110 第 15.5.19 节与 IANA 的 418 登记项。
已学可跳过
不通读完整 HTTP 规范,也不照着玩笑协议设计业务接口。
展开介绍、学习准备与访问说明

从“让茶壶煮咖啡”这个愚人节故事出发,读懂为什么现在的 HTTP 规范把 418 标为 Unused。几段原文就能练习区分历史趣闻、文档类别和当前约定。

可用资料RFC 9110 定向段落 / RFC 2324 第 2.3.2 节 / IANA HTTP 状态码登记表

RFC 2324(1998)与 RFC 9110 第 15.5.19 节(2022)对照

对你的帮助
给站内 HTTP 418 趣闻补上可以亲自核对的原始记录,防止把故事中的茶壶含义直接当成日常业务接口的通用错误。
开始前要会什么
知道 HTTP 响应里有状态码
原资料涉及的知识
HTTP · 418 · RFC · 协议历史 · 状态码注册
学习建议
先读 RFC 2324 的日期、文档类别和 2.3.2,再读当前入口的 15.5.19,并在 IANA 表中找 418。写三行笔记,分别说明故事来源、当前登记名称、为什么不能将其当成通用业务状态。保留规范的边界:目前保留,不等于承诺永远不会重新分配。
访问说明
公开英文文档,无需账号。正文可直接阅读;不需要向外部服务发送请求。

来源:www.rfc-editor.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MDN Web Docs美国/国际社区 · 中文

P1 · 重点提升L1 · 基础网页基础官方文档

HTTP 缓存:已经存下来,为什么还要问服务器 (新标签页)↗

本次学什么
只追踪 ETag、If-None-Match 与 200/304,再区分允许存储和允许直接复用。
已学可跳过
先跳过 CDN 配置、启发式缓存、缓存清除和浏览器强制刷新兼容细节。
展开介绍、学习准备与访问说明

围绕 ETag 和 304 读一次缓存验证,分清保存响应、使用响应和重新下载。

可用资料“验证”中的 ETag/If-None-Match / “强制重新验证” / “不使用缓存”开头的指令区别

持续更新文档;2026-10-07 核查指定段落

对你的帮助
网页拿到旧内容时,先沿请求看缓存怎样被验证,避免只凭状态码判断有没有发生网络往返。
开始前要会什么
能认出 HTTP 请求头、响应头与响应体;知道 200 状态表示请求成功
原资料涉及的知识
ETag · If-None-Match · 304 · no-cache · no-store
学习建议
只读指定三段。自拟一个支持 ETag 条件请求的 GET 资源,首次响应设 Cache-Control: no-cache:先取得 v1,再在未修改及改成 v2 后各请求一次。逐次写 If-None-Match、状态和是否带响应体,另外比较 no-cache 与 no-store。交一张请求时序表。
访问说明
中文正文可公开阅读,无需账户;本轮核查文档,未改真实站点缓存设置。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MDN Web Docs美国/国际社区 · 中文

P1 · 重点提升L1 · 基础网页基础官方文档

URL 查询参数:加号去哪了,同名参数还在吗 (新标签页)↗

本次学什么
只对照字符串解析、append 构造和 get/getAll;把完整 URL 的拆分单独检查。
已学可跳过
不通读 URL 规范;先跳过签名算法、表单提交和浏览器历史操作。
展开介绍、学习准备与访问说明

用几个短字符串观察查询参数怎样读取和重新拼接,专门检查加号、空格和重复键。

可用资料“重复的查询参数” / “不完整的 URL 解析” / “保留加号” / 英文同页 Preserving plus signs 的 append 示例

持续更新 API;中英页交叉核查于 2026-10-07

对你的帮助
给搜索页或接口拼参数时,肉眼看起来一样的字符串可能读出不同值;输入构造方式也会改变结果。
开始前要会什么
知道 URL 中问号后面通常是查询参数;能读 JavaScript 字符串与方法调用
原资料涉及的知识
URLSearchParams · 百分号编码 · 重复查询参数 · append · getAll
学习建议
读三个指定小节。自己准备含加号、空格和两个同名标签的参数,分别用直接拼字符串与 append 构造;重新解析后用 get/getAll 核对。再用一个完整 URL 检查 URL 与 URLSearchParams 的分工。交输入与往返结果表。
访问说明
中文正文公开;补充英文只读 append 示例。已在 Node.js 24.18.0 核对 C++、two words、重复 tag 和完整 URL 拆分;没有发送真实请求。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MDN Web Docs / Mozilla国际 · 中文

P1 · 重点提升L1 · 基础计算机基础官方文档

HTTP 中文:续传时,怎样避免拼出新旧混合的文件 (新标签页)↗

本次学什么
用一个 16 字节文件区分片段、完整响应和越界请求,检查续传前后的文件身份。
已学可跳过
先跳过多范围 MIME 消息、压缩表示、日期形式 If-Range、其他条件头、媒体播放器和通用下载器实现。
展开介绍、学习准备与访问说明

从 16 个字节的小文件观察范围请求:返回哪一段、这一段有多长,以及文件版本改变后为什么会改为返回完整内容。

可用资料单一范围与条件式范围请求小节 / Range、Content-Range、If-Range 中文参考 / RFC 9110 第 13.1.5 与 14 节

HTTP 范围请求中文指南;结合 Range、Content-Range、If-Range 与 RFC 9110 核查(2026-10-07)

对你的帮助
已经保存前半段,不代表新收到的内容就能直接接上去。续传还要核对状态码、字节位置和文件版本。
开始前要会什么
能读 HTTP 状态码和请求、响应头;会按从 0 开始的位置数 ASCII 字节;纸面练习无需软件;实际请求需支持范围请求的本地测试服务
原资料涉及的知识
Range 与 Content-Range · 206、200 与 416 · If-Range 与强 ETag · 断点续传的版本一致性
学习建议
自拟练习:文件为 0123456789abcdef,共 16 字节,ETag 为带双引号的 v1。先请求 bytes=0-3,再带 If-Range: "v1" 请求 bytes=4-15,记录状态、ETag、Content-Range、Content-Length 和正文。补一个 bytes=99-100 越界请求。把同一地址的内容改为 ABCDEFGHIJKLMNOP、ETag 改为 v2,再用旧 v1 续传。第五次向另设的 /ignore 地址请求 bytes=0-3,让此教学分支始终返回完整 200。交五次响应表:206 核对范围后拼接,200 用完整响应替换旧片段,416 保留已有片段、停止追加并核对范围与完整长度。可先纸面推演;实做需记录这两个本地路径的配置。
访问说明
中文正文公开,无需账号。已对自拟临时本地 HTTP 样例发送五次请求,观察到 206、206、416、200、200;样例运行后已关闭,未验证真实下载站点。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MDN Web Docs / Mozilla国际 · 中文

P1 · 重点提升L1 · 基础网页基础官方文档

Fetch 中文:同一份响应,为什么第二次读就报错 (新标签页)↗

本次学什么
不发网络请求,直接构造小响应,观察别名、提前克隆、已读和加锁四种状态。
已学可跳过
先跳过 Service Worker 缓存、真实跨域请求、大文件复制和流式背压实现。
展开介绍、学习准备与访问说明

用一小段 JSON 观察响应正文的读取状态,比较给对象换个变量名、读取前克隆,以及读取后再克隆的区别。

可用资料Response.clone 中文文档 / bodyUsed 与 Response() 中文参考 / Response.json 的异常说明 / Fetch Standard Body 与 Response.clone 定义

Response.clone、bodyUsed 与构造函数中文参考;结合 Fetch Standard 核查(2026-10-07)

对你的帮助
排查接口时,打印正文的代码可能先把流读完,让后续解析失败。看清读取次序,才能分清服务端返回有误还是客户端把正文消费掉了。
开始前要会什么
能读 JavaScript 变量和 async/await;知道 JSON 文本与解析后对象的区别;现代浏览器控制台;本地复跑也可用含 Response 的 Node.js
原资料涉及的知识
Response.clone · bodyUsed · text 与 json 消费正文 · 流被锁定与缓冲限制
学习建议
自拟练习:用 new Response 构造正文为 {"name":"青欢","count":2} 的响应。在读取前分别保存一个普通变量别名和一个 clone。先用原对象 text(),再尝试别名 json(),最后读取克隆的 json(),记录每一步的 bodyUsed、结果和错误名称;再试读取后 clone()。补充观察:新响应调用 body.getReader() 后尚未读取,记录 bodyUsed 与 body.locked,再尝试 clone;释放锁后重试读取。交时间顺序表和简短结论,说明克隆发生在什么时候。
访问说明
中文文档公开,无需账号或网络接口。已在 Node 24.18.0 用内存构造的 Response 完成最小实验;未操作浏览器,也未测大响应的缓冲量。

来源:developer.mozilla.org (新标签页)↗
核对日期:

SQL 与数据库实操

先学会查数据,再观察事务与查询计划。

完成标准能完成连接查询与一次回滚练习,并解释执行计划中的关键字段。

推荐主线

Microsoft Learn美国 · 中文

P0 · 必会主线L0 · 零基础后端与系统工程课程

SQL 查询入门:从表里找出需要的数据 (新标签页)↗

本次学什么
先会查表、筛选、连接与分组统计。
已学可跳过
已有 SQL 基础用小题自测;T-SQL 特有分页语法不照搬到 MySQL。
展开介绍、学习准备与访问说明

从 SELECT 开始,逐步学习筛选、排序、连接两张表和按组统计数据。

可用资料中文分步模块 / 练习说明 / 模块自测

六模块中文学习路径

对你的帮助
为数据库原理课程补一个能直接动手的起点,先学会提出查询,再研究数据库内部。
开始前要会什么
理解表格中的行与列;无需数据库内核基础
原资料涉及的知识
SELECT 查询 · 排序与筛选 · JOIN 连接 · 分组统计 · 修改数据
学习建议
先学 SELECT、筛选排序和 JOIN。小练习:自建两张只有几行的学生与选课表,查询某门课的名单,再检查没有选课的学生是否被漏掉。
访问说明
公开模块可阅读;示例使用 SQL Server 的 Transact-SQL,部分语法不同于 MySQL。练习环境的账号和费用取决于所选服务。

来源:learn.microsoft.com (新标签页)↗
核对日期:

其他来源:替代或选学(10)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

PingCAP / TiDB 文档中国 · 中文

P1 · 重点提升L1 · 基础后端与系统官方文档

TiDB 执行计划入门:数据库准备怎样查数据 (新标签页)↗

本次学什么
只学怎样读计划、找索引和区分估计与实测。
已学可跳过
暂不深入分布式执行器;使用 MySQL 时回到 MySQL 对应手册核对字段。
展开介绍、学习准备与访问说明

用查询示例解释 EXPLAIN 输出,了解数据库选择了哪些步骤、索引和预估行数。

可用资料中文解释 / SQL 示例 / 字段和算子说明

TiDB stable 中文文档

对你的帮助
帮助把“给字段加索引”变成“看计划再判断”,补充数据库课程中的实际诊断。
开始前要会什么
会写 SELECT 和 JOIN;知道索引帮助查找数据
原资料涉及的知识
执行计划 · 索引选择 · 估计行数 · 计划树 · 实际执行统计
学习建议
先读“解读 EXPLAIN 的返回结果”。小练习:为同一个查询画出计划树,标出索引和估计行数;若已有 TiDB,再比较 EXPLAIN 与 EXPLAIN ANALYZE,并记录后者会真正执行查询。
访问说明
文档公开;练习需自行准备 TiDB,计划名称和格式不能直接套用到 MySQL。

来源:docs.pingcap.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Oracle / MySQL美国 · 英文

P0 · 必会主线L1 · 基础后端与系统官方文档

MySQL 事务小实验:提交与撤销一组修改 (新标签页)↗

本次学什么
观察提交、回滚与自动提交的差别。
已学可跳过
先不研究锁算法;已有事务基础时只核对 MySQL 的具体行为。
展开介绍、学习准备与访问说明

说明自动提交、手动开始事务、提交和回滚的作用,并给出短 SQL 示例。

可用资料官方规则说明 / 短 SQL 示例 / 隐式提交参考入口

MySQL 8.4 手册,InnoDB 事务章节

对你的帮助
先观察数据库如何保留或取消修改,再理解 Java 后端中的事务注解。
开始前要会什么
能建立练习表并增删改查;有本地 MySQL 8.4 练习环境
原资料涉及的知识
自动提交 · START TRANSACTION · COMMIT · ROLLBACK · 连接与事务
学习建议
先读自动提交和“Grouping DML Operations”。小练习:在专门的练习表中插入两行,回滚后查询,再重新插入并提交;分别写下预期与实际行数。建表与改表语句的提交行为另查手册。
访问说明
英文手册公开,内容固定为 MySQL 8.4 和 InnoDB;其他版本或存储引擎应查对应文档。

来源:dev.mysql.com (新标签页)↗
核对日期:

替代主线 · 选择一条即可

SQLZoo国际 · 中文

P0 · 必会主线L0 · 零基础后端与系统交互练习

SQLZoo 中文练习:写查询,马上看结果 (新标签页)↗

本次学什么
想先动手时,从中文 SELECT 练习开始,再做 JOIN 与 NULL。
已学可跳过
已能独立写查询时直接选薄弱题;网页练习通过后,仍需核对自己的数据库版本。
展开介绍、学习准备与访问说明

直接在网页里练 SELECT、条件筛选、分组、连接和 NULL,提交后查看查询结果与题目反馈。

可用资料中文题目 / 在线 SQL 执行 / 测验 / 语法参考

中文练习目录;部分页面为较早译文

对你的帮助
暂时没配好数据库时,也能用现成的小表练习查询;学完后再回到自己的数据库验证。
开始前要会什么
知道表、行和列的含义
原资料涉及的知识
SELECT · WHERE · JOIN · GROUP BY · NULL · SQL 在线练习
学习建议
先做 SELECT 基础,再选 JOIN 和 NULL。每题先写出预计会出现哪些行,再提交查询;做错时比较多了或少了哪些行,不只看对错提示。
访问说明
练习可直接打开,中文以繁体为主,部分内容仍是英文。页面可选择数据库引擎,使用前核对选择;示例人口等数据仅供 SQL 练习,不作为当前统计资料。

来源:www.sqlzoo.net (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Alisdair Owens / PostgreSQL Exercises国际 · 英文

P1 · 重点提升L1 · 基础后端与系统交互练习

PostgreSQL Exercises:用预约数据练连接与汇总 (新标签页)↗

本次学什么
会 SELECT/WHERE 后,读三张练习表,再做会员预约时间与设施预约总量两题。
已学可跳过
已会的 Basic 题可跳过;首次不做递归、窗口函数或修改数据章节。
展开介绍、学习准备与访问说明

围绕会员、设施和预约记录,练习把两张表关联起来,再按设施计算预约总量。每题给出目标结果,方便逐行比较。

可用资料三张练习表的结构说明 / 在线查询入口与目标结果 / 提示、答案和解释

公开练习:Joins and Subqueries、Aggregates 选题

对你的帮助
已经会 SELECT 和 WHERE 后,可以用一套连贯数据练习跨表提问。与现有 SQLZoo 入门衔接,不必重做整套基础语法。
开始前要会什么
会用 SELECT 和 WHERE;知道表、行、列和主键;能阅读简单英文题目
原资料涉及的知识
SQL · INNER JOIN · GROUP BY · SUM · PostgreSQL
学习建议
先读 Getting Started 的三张表,再做入口处的会员预约时间题。随后做 Aggregates 中的 List the total slots booked per facility,写清关联字段、分组字段和输出顺序;会做这两题后再决定是否继续窗口函数。
访问说明
英文题目和查询入口可公开打开;在线运行依赖站点服务,使用 PostgreSQL 语法。练习数据和表结构专为出题设计,不宜直接照搬为业务数据库。

来源:pgexercises.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

PingCAP / TiDB 文档中国 · 中文

P1 · 重点提升L1 · 基础后端与系统官方文档

TiDB 中文:翻页位置与批次边界怎么选 (新标签页)↗

本次学什么
只读 OFFSET 与单主键批次区间,对照站内 SQLite 项目观察插入删除;历史读取仅补概念。
已学可跳过
不重复执行计划入门;跳过批量 DELETE、隐藏行号及复合主键字符串拼接。
展开介绍、学习准备与访问说明

比较按“跳过多少行”翻页和先计算主键区间再分批查询,观察数据变化时,位置、顺序和读取时间为什么需要分开考虑。

可用资料对查询结果进行分页:LIMIT 语法与单字段主键批处理 / Stale Read 功能的使用场景:历史数据与指定时间点

TiDB 开发者手册“对查询结果进行分页”;补读 stable 文档的 Stale Read 使用场景

对你的帮助
补充站内 SQLite 分页项目的数据库文档对照。已有 TiDB 资源讲执行计划,本项只讲分页与读取边界;文中的批次区间方案也不等同于网页连续翻页的游标方案。
开始前要会什么
会写 SELECT、WHERE、ORDER BY;能区分行号与主键
原资料涉及的知识
LIMIT 与 OFFSET · 确定排序 · 主键区间 · 批次边界 · 历史时间点读取
学习建议
先读 LIMIT 和单字段主键区间,给时间相同的记录补一个唯一编号来确定先后,再对照本地项目观察插入、删除。接着只读 Stale Read 的概念和指定时间点部分,区分“记住翻到哪里”和“读取哪个时间的数据”。跳过批量 DELETE、隐藏行号和复合主键字符串拼接示例。
访问说明
中文章节可直接阅读,无需开通 TiDB Cloud。初次只读 SELECT 部分,动手复用站内本地 SQLite 项目;TiDB 专属函数和历史读取语法不在 SQLite 中执行。

来源:docs.pingcap.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Microsoft Learn美国 · 中文

P1 · 重点提升L1 · 基础后端与系统官方文档

Microsoft 中文:COUNT 到底数的是哪些行 (新标签页)↗

本次学什么
只比较三种 COUNT,交出三行数据对应的 SQL、结果与计数对象说明。
已学可跳过
窗口函数、返回类型和 AdventureWorks 大型示例库。
展开介绍、学习准备与访问说明

把数全部行、数非空值、数不重复的非空值放在一起看,再用 NULL 与 UNKNOWN 的说明解释差别。

可用资料COUNT 参数与备注 / 简单计数示例 / NULL 与 UNKNOWN 说明

SQL Server 17.x 文档,2026-09-28 核阅

对你的帮助
SQL 入门之后,最容易把“有三行”和“有三个已填写的值”混在一起。这份短读能直接补上计数文章里的疑问。
开始前要会什么
会写 SELECT 和简单 WHERE;知道表、行与列的含义
原资料涉及的知识
COUNT(*) · COUNT(列) · COUNT(DISTINCT 列) · NULL
学习建议
先读参数和备注,只比较三种 COUNT,暂跳窗口函数、返回类型细节和大型示例库。用值为 10、10、NULL 的三行小表,先预测再查询;交出三条 SQL、结果和各自数了什么的说明。
访问说明
正文可公开阅读。运行示例需 SQL Server 兼容环境;文中的 AdventureWorks 示例库不是自建小表练习的必需项。T-SQL 的 GO 等写法不应原样复制到 MySQL。

来源:learn.microsoft.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

PostgreSQL Global Development Group国际 · 英文

P1 · 重点提升L1 · 基础后端与系统官方文档

PostgreSQL:让数据库拒绝不合要求的数据 (新标签页)↗

本次学什么
用 PostgreSQL 练习 CHECK 与 NOT NULL,再比较唯一约束;记录接受和拒绝的数据。
已学可跳过
排除约束、跨表自定义 CHECK 和复杂级联;不要假定各数据库的 NULL 行为相同。
展开介绍、学习准备与访问说明

通过价格、编号和关联记录的例子,区分 CHECK、NOT NULL、UNIQUE、主键与外键分别负责什么。

可用资料约束分类说明 / 建表与关联示例 / NULL 行为边界

PostgreSQL 17 固定版本文档

对你的帮助
会写插入语句之后,还要知道哪些要求应该由表自己检查;尤其 CHECK 条件与“不许为空”不能当成一回事。
开始前要会什么
会建一张表并插入数据;理解 NULL 与普通值的区别
原资料涉及的知识
CHECK · NOT NULL · 唯一约束 · 主键与外键
学习建议
先读 CHECK、NOT NULL,再看唯一约束;暂跳排除约束和复杂级联。给价格列分别设置 CHECK(price > 0) 和额外的 NOT NULL,尝试 1、-1、NULL,记录每次是否被接受及原因。
访问说明
官方文档公开可读,无需登录。执行需要 PostgreSQL 17 练习库;唯一约束怎样处理 NULL 等细节因数据库而异,不能直接套用到 MySQL 或 SQL Server。

来源:www.postgresql.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

PostgreSQL Global Development Group国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

PostgreSQL:看执行计划时,SQL 会不会真的改数据 (新标签页)↗

本次学什么
用普通练习表比较两种 EXPLAIN 和事务内外的数据变化。
已学可跳过
复杂连接调优、索引参数和生产库分析暂不进行。
展开介绍、学习准备与访问说明

对比只估算的 EXPLAIN 和会执行语句的 EXPLAIN ANALYZE,分开记录估计行数、实际行数与表里发生的变化。

可用资料EXPLAIN 命令说明 / Using EXPLAIN 图例与 caveats

PostgreSQL 17:EXPLAIN / ANALYZE;核对 2026-10-07

对你的帮助
接着已有 TiDB 计划阅读,专门核对 UPDATE 在执行前、事务内、回滚后的数据变化,说明诊断命令与回滚各自的边界。
开始前要会什么
会写 SELECT 和 UPDATE;知道 BEGIN、COMMIT、ROLLBACK;有独立的 PostgreSQL 17 练习库
原资料涉及的知识
执行计划 · EXPLAIN ANALYZE · 估计与实际 · 事务回滚 · 诊断边界
学习建议
建一张 10 行练习表,先对 UPDATE 做 EXPLAIN,再在 BEGIN 中做 EXPLAIN ANALYZE,分别查询操作前、事务内、ROLLBACK 后的值。交付三阶段数据和计划对照,说明哪次真正执行;不要把这个回滚例子推广为所有外部副作用都能撤销。
访问说明
官方 17 版文档可读;EXPLAIN ANALYZE 确实执行内部语句。本轮未连接数据库。练习只用自建普通表,不含触发器、序列或外部函数。

来源:www.postgresql.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Microsoft Learn美国 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

SQL Server 中文:一条语句失败,前面的修改会撤销吗 (新标签页)↗

本次学什么
区分失败语句、事务状态和最终提交结果。
已学可跳过
OLE DB、嵌套事务和触发器先跳过。
展开介绍、学习准备与访问说明

对比运行时错误发生后的语句回滚与整个事务回滚,再用 XACT_STATE 看当前事务还能不能提交。

可用资料SET XACT_ABORT 中文说明 / 外键失败对照示例 / XACT_STATE 状态表

SQL Server 17.x T-SQL 文档;核对 2026-10-07

对你的帮助
“出错了就全部回滚”不是可以跨数据库、跨配置直接套用的规则。
开始前要会什么
会建表与外键;知道 BEGIN、COMMIT、ROLLBACK;有独立 SQL Server 练习库
原资料涉及的知识
XACT_ABORT · 运行时错误 · 事务状态 · XACT_STATE · 外键约束
学习建议
自拟练习(尚未执行):先用自建父子表按官方无 TRY/CATCH 示例安排合法、非法外键、合法三次写入,对照 XACT_ABORT OFF/ON;再单独用 TRY/CATCH 检查 XACT_STATE,并标明出错后哪些语句被跳过。交操作时间线与最终行数;XACT_STATE=-1 时只能整体回滚。
访问说明
中文官方正文已读取;本轮未运行 SQL Server。SQL Server 专属语法不能复制到 MySQL;自建两张小表即可,不必下载大型示例库。

来源:learn.microsoft.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Anton Zhiyanov国际 · 英文

P1 · 重点提升L1 · 基础后端与系统交互练习

SQL 滑动平均:当前这一行到底算了哪几行 (新标签页)↗

本次学什么
只练有明确排序和 ROWS 边界的三行滑动平均,并检查首行与尾行。
已学可跳过
跳过付费习题、默认窗口规则、重复排序值和生产报表改造。
展开介绍、学习准备与访问说明

跟着移动的框逐行算平均,分清每行保留的结果、参与计算的范围和表格两端的边界。

可用资料Moving average / Frame / 文首的 playground

2023 作者公开章节;2026-10-07 核查

对你的帮助
汇总报表不总是把多行合成一行;窗口计算保留每行,还需要明确顺序和这一行的计算范围。
开始前要会什么
会 SELECT、ORDER BY 与 AVG;知道一行记录代表什么
原资料涉及的知识
SQL 窗口函数 · ROWS · 移动平均 · 窗口边界
学习建议
只读 Moving average 与 Frame。自建五行编号唯一的虚构数据,先逐行圈出前一行、当前行、后一行,再用显式 ROWS 窗口核对平均值。交五行手算和查询输出;记录首尾为什么参与行数更少。
访问说明
作者公开章节有逐步图和 Sqlime 入口;指定阅读免费,书中额外习题收费。已用本地 SQLite 3.50.4 对五行虚构数据核对窗口人数和均值;没有运行作者在线练习。

来源:antonz.org (新标签页)↗
核对日期:

Java 与 SQL 数据传递

让输入参数、SQL 列和 Java 对象之间的关系清楚可查。

完成标准能完成一次 MyBatis 查询,解释参数绑定和字段映射。

推荐主线

MyBatis 项目国际 · 中文

P0 · 必会主线L1 · 基础后端与系统官方文档

MyBatis 映射:让 SQL 参数和 Java 对象对得上 (新标签页)↗

本次学什么
只把参数、SQL 和返回对象三处对应关系学清楚。
已学可跳过
二级缓存、复杂嵌套关联和插件暂后学;不要把全文当第一天必读。
展开介绍、学习准备与访问说明

通过 SQL 映射说明查询参数怎样传入,以及数据库列怎样装进 Java 对象。

可用资料中文参考文档 / XML 示例 / 参数与结果映射说明

MyBatis 3 官方中文文档

对你的帮助
直接帮助定位 Mapper 参数错误、字段为空和查询结果映射不对等后端常见问题。
开始前要会什么
Java 对象与接口;基本 SQL 查询;能运行一个 MyBatis 练习项目
原资料涉及的知识
参数绑定 · select · resultType · resultMap · 列名与属性名
学习建议
先读 select、参数和结果映射的简单例子。小练习:把 user_name 列映射到 userName 属性,分别用列别名和 resultMap 完成;再解释为何用户输入应使用参数绑定。
访问说明
文档公开,初学者可先读指定小节;MyBatis 依赖与 Spring 集成版本需要配套。

来源:mybatis.org (新标签页)↗
核对日期:

其他来源:替代或选学(5)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Spring Framework国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Spring:事务注解什么时候真正生效 (新标签页)↗

本次学什么
对比经过代理与同类内部调用的失败结果,记录实际写入和回滚配置。
已学可跳过
AspectJ、多事务管理器与响应式事务;注意不要由测试本身的事务掩盖结果。
展开介绍、学习准备与访问说明

解释 @Transactional 的默认回滚规则,以及同一个对象内部直接调用方法时,为什么可能绕过事务代理。

可用资料注解示例 / 默认设置表 / 回滚配置与版本说明

2026-09-28 核阅的当前参考文档;部分回滚配置要求 Spring Framework 6.2+

对你的帮助
数据库入门介绍提交和回滚,这份资料把它们接到 Java 服务方法上,帮助排查写了注解却没有按预期回滚的问题。
开始前要会什么
理解提交与回滚;会写 Spring 服务类;能用 JDBC 或持久化框架访问练习数据库
原资料涉及的知识
事务代理 · 同类内部调用 · 异常与回滚 · 事务配置
学习建议
先读默认代理模式和 @Transactional Settings,暂跳 AspectJ、多事务管理器与响应式示例。准备两次数据库写入,在中间抛异常;比较经 Spring 管理对象调用与同类内部调用的结果,记录实际数据及回滚配置。
访问说明
网页公开可读,无需登录。验证需要 Spring 项目和独立练习数据库。文档含 6.2 起新增的全局回滚配置;旧项目应使用匹配版本的文档。

来源:docs.spring.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

HikariCP 项目国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

HikariCP:分清等连接、用连接与归还连接 (新标签页)↗

本次学什么
用只有两个连接的练习池,区分等待空位、执行 SQL 和归还连接。
已学可跳过
历史吞吐对比、内部参数和没有自身负载依据的容量公式套用。
展开介绍、学习准备与访问说明

围绕 connectionTimeout、maximumPoolSize 和连接归还理解池的工作方式,再学习为什么连接数需要按负载验证。

可用资料配置参数说明 / 官方连接池大小讨论 / Java 使用示例

2026-09-28 核阅的官方 README 与 About Pool Sizing

对你的帮助
补上 JDBC 连接池文章的具体配置入口,尤其是“等待池里的空位”与“SQL 执行慢”并不是同一段时间。
开始前要会什么
理解 JDBC Connection 与 DataSource;会使用 try-with-resources;能连接独立练习数据库
原资料涉及的知识
连接池容量 · 取连接超时 · 连接归还 · 容量验证
学习建议
先看 connectionTimeout 和 maximumPoolSize,再读 About Pool Sizing 的范围说明;跳过内部秘密参数和性能宣传。练习把池设为 2,暂时持有两个连接,观察第三次申请;再归还一个连接重试,提交等待时间与结果记录。
访问说明
官方仓库文档公开可读,无需登录。运行需要与 HikariCP 版本匹配的 JDK、JDBC 驱动和练习数据库;页面默认值与历史压测数字不应直接当作自己项目的建议值。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MySQL / Oracle美国 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

MySQL:跟着两个连接看见死锁怎样形成 (新标签页)↗

本次学什么
只复现两事务示例,保存等待关系和死锁后的事务状态。
已学可跳过
先跳过生产库排查、修改全局参数和复杂索引锁推导。
展开介绍、学习准备与访问说明

用两个事务按相反方向访问两张表,先看到等待,再看到死锁,并从锁表和状态输出找出双方在等谁。

可用资料两客户端操作顺序 / performance_schema 查询 / SHOW ENGINE INNODB STATUS 输出

MySQL 8.4 Reference Manual · An InnoDB Deadlock Example

对你的帮助
在已有提交与回滚练习之后,补上等待关系、死锁错误与事务失败处理的实际观察。
开始前要会什么
会用 MySQL 事务和简单 UPDATE;能够打开两个数据库连接;使用可丢弃的练习数据库
原资料涉及的知识
共享锁与排他锁 · 锁等待关系 · 死锁错误 · 事务状态观察
学习建议
按文档顺序操作,每一步记录谁持有什么锁、谁等待谁。先在第二个方向更新前画等待图,再执行最后一步并核对错误;不要把单次等待直接称为死锁。
访问说明
已读取 8.4 官方完整示例;未连接数据库,也未复现死锁。查询 Performance Schema 和 InnoDB 状态需要对应权限,练习只应在隔离测试库进行。

来源:dev.mysql.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Hibernate ORM国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Hibernate:循环保存很多对象,为什么还不算真正分批 (新标签页)↗

本次学什么
区分 JDBC 批量发送、flush/clear 和事务提交,并检查主键策略的限制。
已学可跳过
二级缓存、全表更新、StatelessSession 与生产吞吐调优暂不扩展。
展开介绍、学习准备与访问说明

把数据库批量发送、当前管理的对象数量和事务提交分开看;检查 flush、clear 与主键生成方式各自影响什么。

可用资料JDBC batching 与 Session batching / Flushing 行为说明 / 6.6 系列兼容信息

Hibernate ORM 6.6 用户指南:Batching / Flushing;核对 2026-10-07

对你的帮助
把循环中的 save 叫作批量操作容易忽略 JDBC 批处理是否启用,也容易让一级缓存积累过多对象。
开始前要会什么
会使用 JPA EntityManager 或 Hibernate Session;理解事务提交与实体主键;有独立数据库练习环境
原资料涉及的知识
JDBC batching · 一级缓存 · flush · clear · IDENTITY
学习建议
在一个事务插入 60 个练习对象,比较仅设置 batch_size 与每 20 个执行 flush 后 clear 的方案。再核对主键是否用 IDENTITY,记录实际批处理证据和管理对象变化;最后回滚确认 flush 不等于提交。交付配置、SQL/统计记录与三个动作的职责表。
访问说明
已读取 Hibernate 6.6 原始指南及发布页;本轮未执行插入或测量性能。按现有项目对应的 ORM/JDK/数据库版本练习,不为此单独升级业务项目。

来源:docs.hibernate.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MyBatis 项目国际 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

MyBatis 中文:传入空列表,查询条件会不会消失 (新标签页)↗

本次学什么
检查空列表是否移除了 WHERE,明确空输入的业务规则。
已学可跳过
复杂多表查询和插件扩展先跳过。
展开介绍、学习准备与访问说明

查看 where 与 foreach 怎样拼接 SQL,重点比较 null、空列表和两个编号,防止把“不选任何项”意外变成“没有筛选条件”。

可用资料官方中文动态 SQL / ForEachSqlNode 源码 / 独立 SQL 生成对照

MyBatis 3 动态 SQL;本轮实测 3.5.19 / JDK 21

对你的帮助
SQL 能正常生成不代表含义正确;空集合的业务含义必须明确写出来。
开始前要会什么
会写 MyBatis Mapper;理解 WHERE 与 IN
原资料涉及的知识
动态 SQL · 空集合 · foreach · where · BoundSql
学习建议
自拟练习:在 nullable=true 的 foreach 放进 where 的明确前提下,先预测 null、空列表和两个编号的 SQL,再查看 BoundSql。明确空列表应返回空结果还是拒绝请求;用 choose/otherwise 写显式分支,检查 WHERE 和参数数目。交三组 SQL 对照;本轮已实测这三组 SQL 生成,没有执行数据库查询。
访问说明
本轮用本机缓存的 MyBatis 3.5.19 与 JDK 21.0.12 运行 6 项断言,只生成 BoundSql,没有建立数据库连接。nullable 参数自 3.5.9 起提供。

来源:mybatis.org (新标签页)↗
核对日期:

Spring 企业后端

从小接口开始,再学习配置、数据库与服务组织。

完成标准能说明一次请求怎样进入代码并生成响应。

推荐主线

Spring国际 · 英文

P0 · 必会主线L1 · 基础后端与系统官方文档

第一个 Spring 接口:接收参数并返回 JSON (新标签页)↗

本次学什么
先跑通 /greeting,观察请求参数怎样进入控制器并变成 JSON;再学习配置、数据库与服务组织。
已学可跳过
已有可独立编写的接口时跳过;暂不加入数据库、登录或微服务。
展开介绍、学习准备与访问说明

做一个很小的问候接口,串起请求地址、查询参数、控制器和 JSON 返回值。

可用资料分步指南 / 起始与完成代码 / 官方示例仓库

Spring Getting Started;要求 Java 17 或更高

对你的帮助
在进入整套企业后端课程前,先看见一次请求怎样走过自己的 Java 代码。
开始前要会什么
Java 类与方法;基本 Maven 使用;知道 HTTP 请求与响应
原资料涉及的知识
Spring Initializr · 控制器 · 查询参数 · JSON 返回 · 本地启动
学习建议
先按指南完成 /greeting,再比较带 name 参数和不带参数的回复。小练习:改成返回自己的学习主题与一条提示,用浏览器记录请求地址和 JSON 结果,并指出是哪段代码生成的。
访问说明
英文指南和代码公开,下载依赖需联网;页面要求 Java 17+,生成项目后还应核对 pom.xml 中的版本。

来源:spring.io (新标签页)↗
核对日期:

其他来源:替代或选学(5)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

约翰斯·霍普金斯大学(Johns Hopkins)美国 · 英文

P0 · 必会主线L2 · 进阶后端与系统高校课程

605.784 Enterprise Computing with Java(Spring / Spring Boot) (新标签页)↗

本次学什么
能独立编写小接口后,再围绕 API、持久化、安全与集成测试完成企业后端作业。
已学可跳过
已完成站内 Spring 基础时,从作业开始;依赖注入、配置和 MVC 概念仅按弱项复习。
展开介绍、学习准备与访问说明

围绕一个 Java 企业服务,学习配置、REST API、测试、安全、数据访问与容器集成;提供逐讲讲义、示例和分阶段项目作业。

可用资料HTML / PDF 讲义 / 示例代码 / 项目作业 / 课程大纲

2025 秋季完整归档;Java 21 / Spring Boot 3.x

对你的帮助
直接衔接本站 Maven、Spring Boot、接口、数据库和工程测试内容,适合把零散框架知识连成可验证的后端应用。
开始前要会什么
熟练使用 Java 与面向对象编程;掌握 HTTP / Web 应用基础;官方先修为 605.481 或同等能力;具备 Maven、IDE 和 Git 使用经验,Docker 基础有帮助
原资料涉及的知识
Spring Boot · 依赖注入与自动配置 · REST API · JUnit · Spring Security · AOP · Spring Data JPA · MongoDB · Docker / Testcontainers
学习建议
按配置→测试→API→安全→容器→数据库顺序完成对应项目,先以一个服务跑通接口和集成测试,再扩展微服务。对照归档依赖版本,避免直接混用较新的 Spring 示例。
访问说明
推荐已完整发布的 2025 归档。讲义与作业说明可公开阅读,示例链接至课程公开仓库;课堂录像和作业提交在 Canvas,不承诺对校外开放。需自行配置课程要求的环境。

来源:jcs.ep.jhu.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Spring 项目 / Broadcom美国 · 英文

P0 · 必会主线L2 · 进阶后端与系统官方文档

Spring Cloud 官方实战:熔断与服务降级 (新标签页)↗

本次学什么
只补远程依赖故障、熔断和降级,复用已经完成的 Spring API 项目。
已学可跳过
Java、依赖注入、MVC、Initializr 和普通接口编写不再重学;完整微服务治理按需求另补。
展开介绍、学习准备与访问说明

当一个服务暂时出故障时,让调用它的服务及时返回备用结果,并暂停反复尝试。通过两个小服务理解“熔断”怎样工作。

可用资料逐步指南和 Java 代码 / initial 与 complete 官方源码仓库入口 / 示例 Maven/Gradle 配置

持续维护的指南;本轮页面示例为 Boot 4.0.8 / Cloud 2025.1.3

对你的帮助
把已会写的 Spring API 推进到依赖服务异常时仍可控制行为的系统;不再增加一套 Spring 入门课程。
开始前要会什么
已完成 Spring Boot API 基础;Java 17+ 与 Maven 或 Gradle;理解 HTTP 调用;示例使用 WebClient、Mono 和响应式接口
原资料涉及的知识
依赖故障传播 · CircuitBreakerFactory 与 Resilience4J · 熔断后的 fallback · 服务停机与恢复验证
学习建议
先找到客户端调用和熔断设置,再依次停止、恢复被调用的服务,观察正常结果与备用结果。检查备用结果会不会把真正的业务错误藏起来。
访问说明
指南与源码公开,当前示例使用 Resilience4J,依赖组合为 Boot 4.0.8 / Cloud 2025.1.3。已有 Boot 3 项目应先查匹配版本;页面尾部的 Hystrix/Netflix 字样是旧说明。

来源:spring.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Redgate Flyway英国 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Flyway:把数据库改动按版本保存下来 (新标签页)↗

本次学什么
在 SQL 基础之后,用两个编号脚本观察迁移历史,说明新增版本与改写旧文件的区别。
已学可跳过
Desktop、Undo、Repair、基线重建与线上数据库。
展开介绍、学习准备与访问说明

把建表和添加数据分成两个编号脚本,让工具记录哪些改动已应用,再区分新增迁移与改写旧文件。

可用资料命令行分步教程 / Versioned migrations 说明 / Windows/macOS/Linux 命令行安装入口

命令行入门页更新于 2025-04-30;版本化迁移说明于 2026-09-28 核阅

对你的帮助
应用代码能用 Git 追踪,数据库结构也需要可核对的改动顺序。它补的是数据库版本管理,而不是再教一遍 SQL 语法。
开始前要会什么
会写建表和插入语句;会在终端切换目录与运行命令;理解只在练习数据库尝试修改
原资料涉及的知识
数据库迁移 · 版本脚本 · 迁移历史 · 校验和
学习建议
先按入门页读 V1 建表和 V2 加数据,再读 Versioned migrations;暂跳 Desktop、撤销与修复命令。只在新建练习库执行,交出两个脚本和迁移历史记录;说明已使用的旧版本脚本为什么通常应保留,再增加新版本修正。
访问说明
文档公开可读。执行需官方对应平台的 Flyway CLI、可用的 JDBC 驱动和可写目录;教程使用本地 SQLite 文件。不同数据库与功能的支持范围需按所选版本核对,不能据此推断全部功能免费。

来源:documentation.red-gate.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Nacos 社区中国 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Nacos 中文:配置改了,程序怎样知道 (新标签页)↗

本次学什么
对比一次读取与持续监听,写清新配置校验成功后才替换业务对象。
已学可跳过
服务发现、分布式锁、AI 资源与集群部署。
展开介绍、学习准备与访问说明

对比启动时读取一次配置和注册变更监听,顺着回调看新文本怎样进入应用,以及业务代码仍需完成什么。

可用资料初始化与升级兼容性说明 / 获取配置与监听示例 / 删除监听与客户端生命周期

Nacos 3.0 文档:Java SDK 配置读取与监听

对你的帮助
文件或配置中心内容变了,不代表已经创建的对象自动换了值。这份资料给出 Java 应用接收变更的实际入口。
开始前要会什么
会使用 Java 接口与回调;知道对象字段和外部配置不是同一个东西;会管理 Maven 依赖
原资料涉及的知识
getConfig · 配置监听 · 命名空间 · 应用配置更新
学习建议
先读升级兼容性,再读获取配置、监听配置和删除监听;暂跳服务注册与分布式锁。画出“读取文本—解析检查—替换业务对象”的步骤,并写一个监听器草稿:新值不合法时保留旧对象,记录原因;说明回调收到文本为何还不算业务刷新完成。
访问说明
中文正文公开可读。运行需匹配的 Nacos 客户端、服务端及访问权限。3.0 客户端默认命名空间为 public,与老服务端组合存在兼容限制;Java SDK 的版本要求不等于服务端运行要求。

来源:nacos.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Bucket4j 项目国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Bucket4j:把限流速度与突发容量分开看 (新标签页)↗

本次学什么
先画一个令牌桶的纸上时间线,比较初始容量、逐步补充与整批补充;取不到额度就拒绝。
已学可跳过
Servlet 复制粘贴、阻塞 API、分布式后端与配置热替换。
展开介绍、学习准备与访问说明

用令牌数量表示还能接受多少次请求,分别观察容量、初始令牌,以及逐步补充和整批补充的区别。

可用资料单桶构造示例 / 初始令牌说明 / 补充方式对照

Bucket4j 8.16.0 固定版本参考

对你的帮助
“每秒允许两个”没有说明开始时攒了多少额度。这份 Java 资料能把令牌桶文章中的时间线对应到具体配置。
开始前要会什么
会写 Java 小程序;理解毫秒、秒和请求次数;会添加 Maven 依赖
原资料涉及的知识
令牌桶 · 突发容量 · refillGreedy · refillIntervally
学习建议
先读初始令牌和 Refill styles,暂跳 Servlet、阻塞等待、集群后端和动态换配置。在纸上把建桶时记为 0 毫秒:容量 3、初始 3、每秒补 2 个,每次请求尝试取 1 个;取不到就立即拒绝,不等待。按列表顺序处理 0、0、0、0、250、500、1000 毫秒的请求,同一时刻的四个请求也依次处理。分别画逐步补充和整批补充的表;整批补充从建桶满一秒时开始,先补足该时刻按规则应得的额度,再处理请求,最多不超过容量。
访问说明
参考文档公开可读。所选页面的 core 依赖示例面向 JDK 17;练习单进程内存桶无需 Redis。多个进程各建一个桶不会自动共享总额度。

来源:bucket4j.com (新标签页)↗
核对日期:

程序如何在计算机上执行

理解程序怎样在机器上执行、怎样访问内存和缓存,为后续操作系统(OS)学习打基础。

完成标准解释局部性和内存访问如何改变程序性能,并用实验观察差异。

推荐主线

卡内基梅隆大学(CMU)美国 · 英文

P1 · 重点提升L2 · 进阶后端与系统高校课程

15-213 Introduction to Computer Systems:程序员视角的计算机系统 (新标签页)↗

本次学什么
机器级执行、链接、缓存局部性和动态内存管理。
已学可跳过
网络协议交给网络主题,进程与虚拟内存的完整机制交给操作系统主题;这里只读理解程序执行所需部分。
展开介绍、学习准备与访问说明

以 C 与机器级执行为中心,讲解缓存、虚拟内存、进程、网络和并发。它为理解程序性能与系统资源提供基础,不是 Java 或 JVM 专门课程。

可用资料课程大纲 / 讲义幻灯片 / 讨论讲义 / 课堂代码入口 / 部分公开实验说明

Fall 2025(历史学期)

对你的帮助
帮助 Java 后端学习者理解缓存局部性、进程地址空间、系统调用与网络 I/O;这些原理不能与 JVM 的堆或内存模型简单等同。
开始前要会什么
相当于 15-122 的程序设计与数据结构;C 指针、字符串和手动内存管理;Linux 命令行基础
原资料涉及的知识
整数与机器级代码 · 内存层次与缓存 · 虚拟内存 · 动态内存分配 · 进程与异常控制流 · 网络编程 · 并发与同步
学习建议
先补 C,再按缓存、虚拟内存、进程和网络顺序学习。用小程序观察行为并区分语言、运行时与操作系统三层,避免把 C 内存规则直接套在 Java 对象上。
访问说明
2025 站点公开讲义与部分实验说明;录像说明指向 Canvas。实验使用 Autolab 与 Shark 环境,官方不保证脚手架在其他机器可运行,不能把公开讲义视为完整开放实验服务。

来源:www.cs.cmu.edu (新标签页)↗
核对日期:

其他来源:替代或选学(3)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Lexi Mattick 与 Hack Club国际 · 英文

P1 · 重点提升L1 · 基础计算机基础开放教材

程序怎样跑起来:CPU、系统调用与任务切换图解 (新标签页)↗

本次学什么
先看 Ch. 1 Basics 和 Ch. 2 Multitasking 的图,理解程序执行、系统调用和任务轮换。
已学可跳过
汇编和调度细节暂后读;这份图文不替代完整操作系统实验。
展开介绍、学习准备与访问说明

沿着启动一个程序的过程,用图解释 CPU 执行指令、程序请求操作系统帮助,以及多个任务怎样轮流运行。

可用资料分章图文 / 单页阅读版 / PDF

2023 年图文系列

对你的帮助
把进程、内存和系统调用放进同一个具体过程,帮助理解“代码写完后,电脑究竟在做什么”。
开始前要会什么
能运行一个小程序;知道内存用于保存程序和数据
原资料涉及的知识
CPU · 系统调用 · 进程切换 · 虚拟内存 · Linux
学习建议
先看目录中 Ch. 1 Basics 和 Ch. 2 Multitasking 的图,画出“运行程序—请求内核帮助—回到程序”和“任务轮流使用 CPU”的过程。能解释这些图后,再按需读程序加载与内存章节。
访问说明
英文正文公开。文章使用简化模型,主要围绕 Linux 与相关硬件机制;2023 年的调度参数和实现说明不等于当前所有系统的行为。

来源:cpu.land (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MDN Web Docs国际社区 · 英文

P1 · 重点提升L1 · 基础计算机基础官方文档

MDN:量一段耗时,为什么要换一把钟 (新标签页)↗

本次学什么
分清日期与耗时;记录短操作的开始、结束、差值和计时条件。
已学可跳过
跨页面计时、设备性能排名;另读休眠限制,不直接推广短实验。
展开介绍、学习准备与访问说明

把日历时间与经过的时长分开:系统校时会影响 Date.now,而 performance.now 使用不会倒退的计时基准。

可用资料与 Date.now 的对比 / 计时示例 / 设备休眠与精度限制

Performance.now 当前参考;2026-09-28 核对

对你的帮助
为站内负耗时例子补上浏览器实际接口,同时解释计时精度和设备休眠为什么还需要单独考虑。
开始前要会什么
会用结束值减开始值;能阅读短 JavaScript 示例
原资料涉及的知识
单调时钟 · 耗时测量 · 系统校时 · 计时精度
学习建议
先读 Performance.now vs. Date.now,再读 Ticking during sleep。为一次短操作记开始、结束和差值,说明它不是日期;另列需要跨休眠计时的场景。首轮跳过跨页面计时,不把一次耗时作为性能排名,也不要混减来自不同计时起点的值。
访问说明
英文正文公开可读,无需登录。浏览器可能降低计时精度;不同环境在休眠期间的行为存在差异,不能只据一个短例子保证长时间计时准确。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

University of Washington CSE 351美国 · 英文

P1 · 重点提升L1 · 基础计算机基础交互练习

UW 缓存模拟器:同一个地址为什么第二次能命中 (新标签页)↗

本次学什么
固定 8 位地址、32 B 缓存、8 B 块、1 路映射,记录 00、00、01、08 四次读取的块与命中情况。
已学可跳过
先跳过写入策略和复杂替换策略;操作后等显示更新,再用逐次历史核对计数,不推算真实 CPU 速度。
展开介绍、学习准备与访问说明

输入几个内存地址,看一小块数据怎样进入硬件缓存,再追踪重复读取和相邻地址读取。页面把地址、缓存行和每一步发生的事放在一起。

可用资料浏览器模拟器 / 参数教程 / 逐次访问历史 / 缓存与内存变化说明

CSE 351 在线单级缓存教学模拟器

对你的帮助
为计算机系统主题补上可动手的局部性入门:缓存会装入一整块数据,命中与否取决于地址和已有内容,不是简单地数访问次数。
开始前要会什么
知道字节和内存地址;能读 00、01、08 这样的十六进制数
原资料涉及的知识
硬件缓存 · 缓存块 · 局部性 · 直接映射 · 命中与未命中
学习建议
选 8 位地址、32 字节缓存、8 字节块、1 路映射后生成系统,依次读 00、00、01、08。为四次访问各记下命中结果和所属块,解释第二次与第三次结果的原因。只做读取实验;这是单级缓存模型,不能把模拟结果换算成真实 CPU 耗时,也不要套用 Redis 的过期时间规则。
访问说明
免费英文交互,需要 JavaScript。操作后先看 History 和本次消息,等页面显示更新后再核对汇总计数。

来源:courses.cs.washington.edu (新标签页)↗
核对日期:

计算机网络

建立协议基础;有研究目标时再读网络系统论文。

完成标准画出一次请求的数据路径,区分连接、传输和应用层的故障。

推荐主线

中国科学技术大学中国 · 中文

P0 · 必会主线L1 · 基础后端与系统高校课程

计算机网络(华蓓课程资料) (新标签页)↗

本次学什么
互联网分层、链路、IP、传输层与应用层协议。
已学可跳过
已有网络基础时,用抓包或请求路径讲解自测,再回查不清楚的协议。
展开介绍、学习准备与访问说明

华蓓教师主页公开计算机网络课件。课程简介强调网络体系结构、因特网协议与实际问题分析,并安排 Wireshark 协议观察和常用网络工具练习。

可用资料公开章节课件 / 2026 年课程简介 PPT / 课程练习与考核安排说明 / 教材书目

公开课程页,未标学期

对你的帮助
后端开发需要解释请求经过哪些网络层、协议如何协作以及故障出在哪里。抓包与诊断工具能把 HTTP 客户端、DNS 和连接问题联系起来。
开始前要会什么
基本计算机使用能力;了解程序、进程和输入输出;能在终端运行基本命令
原资料涉及的知识
网络基本概念与原理 · 网络体系结构 · 因特网协议 · 网络设备工作原理 · Wireshark 报文观察 · nslookup、ping、tracert 等诊断工具
学习建议
按简介与章节顺序学习,每章选一个工具观察网络现象,再用分层模型解释输出。后端学习者可自拟一次 DNS 解析及 HTTP 请求观察练习,区分课程原有要求和自己的拓展。
访问说明
教师主页公开提供课件;目前同时列有 2026 绪论、第 1、2 章和 2025 后续章节。学习时按每份课件的日期选择,不把混合目录当作同一学期完整课程。

来源:faculty.ustc.edu.cn (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

斯坦福大学(Stanford)美国 · 英文

P2 · 按需深入L3 · 深入后端与系统高校课程

CS 244 Advanced Topics in Networking:网络系统研究 (新标签页)↗

本次学什么
只补拥塞控制、流量测量、数据中心网络与论文复现实验。
已学可跳过
互联网分层和协议基础不再整课重学;这是论文研究支线。
展开介绍、学习准备与访问说明

面向已有网络基础的研究生,以英文论文讨论互联网架构、交换、拥塞控制和测量,并要求复现已有研究结果;不是 Java 编程课或网络零基础课。

可用资料课程大纲 / 论文阅读清单 / 部分讲义幻灯片 / 研究复现项目说明

Spring 2025(核验时页面学期)

对你的帮助
适合对后端尾延迟、拥塞、数据中心网络和性能实验感兴趣的学习者,训练审查论文结论与实验方法的能力。
开始前要会什么
CS 144、EE 284 或同等网络基础;分组交换、路由、Socket 与拥塞控制;较强英文论文阅读能力,Python 编程有帮助
原资料涉及的知识
互联网架构与端到端设计 · 交换机 · 软件定义网络 · 拥塞控制 · 流量测量与排队 · 数据中心网络 · 研究复现与评价
学习建议
先选拥塞控制的一组论文,写出假设、指标与反例,再只复现一张关键图。记录环境和误差,不将教学模拟或小规模结果泛化为生产网络结论。
访问说明
核验时主站显示 Spring 2025;论文清单、部分 slides 和项目要求可公开读,未确认完整公开视频。课程提交与课堂讨论属于当期教学安排,公开说明不代表可参加评分或获得教师指导。

来源:web.stanford.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

syncsynchalt / Illustrated TLS国际 · 英文

P1 · 重点提升L2 · 进阶计算机基础开放教材

TLS 1.3 握手图解:从几组字节读出双方怎样协商 (新标签页)↗

本次学什么
只读两段 Hello,画出记录头、握手头和版本扩展的包含关系。
已学可跳过
先跳过密钥推导、证书签名计算与复现脚本;不把演示数值用于实际连接。
展开介绍、学习准备与访问说明

沿一段 TLS 1.3 演示连接查看记录、握手消息和字段字节,说明客户端提出什么、服务器选了什么。

可用资料按连接顺序排列的逐字节讲解 / 可展开的报文字段 / 原作者源码仓库与重现材料

The Illustrated TLS 1.3 Connection;核对 2026-10-03

对你的帮助
适合在 HTTPS 入门漫画后练读真实形状的报文,避免只记住握手名称却分不清记录层和消息层。
开始前要会什么
知道客户端、服务器与 HTTPS 的作用;会把十六进制长度换成十进制字节数
原资料涉及的知识
TLS 1.3 · ClientHello · ServerHello · 记录头与握手头 · 版本协商
学习建议
第一轮只读 Client Hello 与 Server Hello,标出记录头、握手头和 Supported Versions。分别解释长度字段覆盖的范围,区分客户端声明支持与服务器最终选定的版本,并说明旧版本标记为什么不足以判断协商结果;暂时跳过密钥推导与全部密码运算。
访问说明
已读取公开讲解并打开原作者仓库;未操作折叠控件、抓包或执行 OpenSSL 命令。页面使用固定演示数据,不能当作生产密钥或 TLS 部署配置。

来源:tls13.xargs.org (新标签页)↗
核对日期:

操作系统

先理解资源管理和并发机制,再选择一种内核实践。

完成标准说明进程、地址空间、同步和文件系统的边界,并完成一个机制实验。

推荐主线

南京大学中国 · 中文

P0 · 必会主线L2 · 进阶后端与系统高校课程

操作系统原理 (新标签页)↗

本次学什么
进程、并发、虚拟内存、持久化和操作系统实验。
已学可跳过
机器指令、缓存与 C 的基础由系统主题承担;已通过机制实验的知识不再重复刷另一门。
展开介绍、学习准备与访问说明

蒋炎岩的操作系统课程以应用与操作系统交互为主线,公开讲义、实验和课程回看入口,讨论进程、并发、持久化、文件系统等系统问题。

可用资料公开课程讲义 / 课程回看入口 / 实验指导 / 实验框架仓库

2026 年春季学期

对你的帮助
Java 线程、网络服务、文件 IO 与容器运行最终都依赖操作系统。通过小实验观察行为,能为分析死锁、进程资源与性能问题建立基础。
开始前要会什么
C/C++ 基本编程与调试;数据结构基础;Linux、macOS 或 WSL 的命令行使用
原资料涉及的知识
进程与地址空间 · 程序加载、链接和系统接口 · 多处理器与互斥同步 · 并发错误与异步执行 · 存储设备与文件系统 · 虚拟化与容器 · 系统调用观察与实验
学习建议
先看讲义中的程序,写下预期,再在隔离的 UNIX 环境运行并观察系统调用。每次只完成一个小实验,记录失败条件和修正原因。P0 表示系统主线的重要性,不意味着零基础读者要立即完成全部实验。
访问说明
南京大学教师页可核验任课教师及其个人课程网站。讲义和实验说明公开,页面提供回看链接;未逐个播放全部视频。提交到课程评测系统需要选课学生收到的凭证,不能视为校外公共评测服务。

来源:jyywiki.cn (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

麻省理工学院(MIT)美国 · 英文

P1 · 重点提升L3 · 深入后端与系统高校课程

6.1810 Operating System Engineering:xv6 操作系统工程 (新标签页)↗

本次学什么
按缺口选 xv6 页表、写时复制、锁或文件系统实验。
已学可跳过
跳过重复概念讲解;与南大实验重合时选一套实践,先具备 C 与调试基础。
展开介绍、学习准备与访问说明

通过 C 编写的 RISC-V xv6 教学系统研究系统调用、页表、锁、文件系统和崩溃恢复,并提供对应实验。

可用资料公开课程讲义 / xv6 教材 PDF / xv6 源码入口 / 实验与阅读作业说明

Fall 2025(历史学期)

对你的帮助
适合深入解释后端的线程调度、内存映射、磁盘与网络边界;学习目标是内核机制,不是 Java 框架开发。
开始前要会什么
C 指针与内存管理;进程、汇编和计算机组成基础;Linux、Git 与调试工具
原资料涉及的知识
系统调用与陷阱 · 页表与缺页 · 写时复制 fork · 线程切换与锁 · 网络驱动 · 文件系统与日志 · mmap
学习建议
先跟踪一个用户程序的系统调用,再完成 utilities 和 syscall 实验;随后选页表、写时复制与锁。使用指定 xv6 分支与工具链,保留故障复现和回归测试。
访问说明
2025 课表、教材和实验说明公开。课表提示部分材料可能沿用 2024,不能把所有附件视为当年新制内容;这里未确认完整 2025 录像开放。实验需相应工具链,公开材料不含校内教学服务承诺。

来源:pdos.csail.mit.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Remzi H. Arpaci-Dusseau / Andrea C. Arpaci-Dusseau,University of Wisconsin–Madison美国 · 英文

P1 · 重点提升L1 · 基础计算机基础开放教材

OSTEP 进程短读:准备好了,为什么还没轮到运行 (新标签页)↗

本次学什么
第 4 章开头加 4.4:用双进程时间线区分运行、就绪和阻塞。
已学可跳过
暂不运行课后模拟器,不展开虚拟内存;三状态是教学简化,不是系统状态全集。
展开介绍、学习准备与访问说明

区分磁盘上的程序和正在执行的进程,再看进程何时运行、何时排队、何时等输入输出。先掌握三种状态,操作系统就不再只是一个抽象的“管家”。

可用资料作者公开章节 PDF / 三状态图 / 双进程执行示例

OSTEP 1.10,第 4 章 The Abstraction: The Process

对你的帮助
为站内进程、线程和文件系统文章补充作者原书中的状态图与两进程例子,解释等 I/O 和等 CPU 为什么是两件事。
开始前要会什么
运行过一个简单程序;知道 CPU、内存和文件的区别
原资料涉及的知识
进程 · 运行状态 · 就绪状态 · 阻塞 · CPU 调度
学习建议
先读开头的程序与进程区别,再读 4.4 的三状态图。设想 A 正在算数、B 发出磁盘请求,在纸上画两条时间线,标出谁运行、谁就绪、谁阻塞;说明 I/O 完成后为什么不一定立刻获得 CPU。把三状态图当成简化教学模型,不当成某个系统完整的进程状态列表。
访问说明
英文单章 PDF 公开免费;整本合订版和纸书另有付费入口,本次学习不需要购买。已读第 4 章进程定义与 4.4 状态部分,未下载或运行课后模拟器。

来源:pages.cs.wisc.edu (新标签页)↗
核对日期:

数据库原理与内核

掌握查询、索引和事务,再按语言选择一套内核实验。

完成标准解释查询计划与隔离行为,并实现或分析一个存储组件。

推荐主线

加州大学伯克利分校(UC Berkeley)美国 · 英文

P0 · 必会主线L2 · 进阶后端与系统高校课程

CS 186 Introduction to Database Systems:数据库原理与 Java 项目 (新标签页)↗

本次学什么
关系模型、SQL、存储索引、查询执行和事务,并以 Java 项目连接原理。
已学可跳过
SQL 入门已熟练时直接做查询任务;不要顺序完整刷三套数据库课程。
展开介绍、学习准备与访问说明

从 SQL、磁盘和 B+ 树学习到查询优化、并发控制与恢复;项目 1 使用 SQL,项目 2–5 使用 Java,项目 6 学习 NoSQL。

可用资料课程大纲 / 公开课表与讲义入口 / 项目说明 GitBook / 讨论练习与解答入口

Spring 2025(历史学期)

对你的帮助
直接连接 Java 编程和数据库机制,帮助解释索引选择、查询计划、事务锁和恢复,而不止会调用 JDBC 或 ORM。
开始前要会什么
CS 61B 水平的 Java 与数据结构;已有编程基础,接近 CS 61A;计算机组成基础,课纲允许 CS 61C 同修
原资料涉及的知识
SQL 与关系代数 · 磁盘、缓冲与 B+ 树 · 连接算法与查询优化 · 事务与并发控制 · 恢复 · 分布式事务 · NoSQL
学习建议
完成 SQL 后集中学习 B+ 树、连接、锁和恢复四块,分别画一次页分裂、执行计划与故障时序。Java 教学数据库的行为不能直接当成 MySQL 的实现细节。
访问说明
课程站与项目说明公开,录像明确放在 bCourses,Gradescope 要求 Berkeley 身份。课程笔记只是补充且并不覆盖全课;项目 GitBook 是滚动入口,自学时应核对与 2025 课表的对应关系。

来源:cs186berkeley.net (新标签页)↗
核对日期:

其他来源:替代或选学(3)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

清华大学中国 · 中文

P1 · 重点提升L2 · 进阶后端与系统高校课程

数据库管理系统与 HuaDB 实验 (新标签页)↗

本次学什么
选择中文讲解与 HuaDB/C++ 实验时,以此替代主线;已有理论基础可只做一个内核组件。
已学可跳过
与 CMU 的 C++ 内核实验二选一;跳过已完成的 SQL、关系代数和基础事务。
展开介绍、学习准备与访问说明

从数据库使用者进一步走向实现者:课程介绍数据库管理系统内部机制,配套 HuaDB 实验研究页面缓存、事务恢复、并发控制、查询处理和索引。

可用资料教师课程介绍 / HuaDB 实验文档 / 实验代码框架入口 / 历年实验文档归档

公开课程页,未标学期

对你的帮助
适合在掌握 SQL 与事务基础后理解数据库为什么需要日志、缓存和索引,也有助于分析后端慢查询、隔离级别与故障恢复问题。
开始前要会什么
SQL 与关系数据库基础;数据结构与算法;操作系统的文件、内存和并发基础;能够阅读和调试课程实验框架
原资料涉及的知识
页面组织与缓存管理 · 事务处理与故障恢复 · 多版本并发控制 · 查询执行 · 查询优化 · B+ 树索引
学习建议
先把事务、索引和执行计划与熟悉的 MySQL 行为对应,再按实验文档逐项实现和测试。学习用的数据库实现与生产数据库有范围差异;遵守课程关于不公开实验答案的要求。
访问说明
已核验教师页和公开实验文档。教师介绍仍列五个实验,当前文档列六个实验,本条以当前文档为准;未确认完整公开视频。课程评分与助教支持不能视为向校外学习者开放。

来源:dbgroup.cs.tsinghua.edu.cn (新标签页)↗
核对日期:

替代主线 · 选择一条即可

卡内基梅隆大学(CMU)美国 · 英文

P1 · 重点提升L3 · 深入后端与系统高校课程

15-445/645 Introduction to Database Systems:数据库内核实现 (新标签页)↗

本次学什么
偏好 BusTub/C++ 内核路线时替代主线,围绕存储、执行或并发完成实验。
已学可跳过
与 HuaDB 二选一;已学 Berkeley 理论时按实验需要回读,不再重修整课。
展开介绍、学习准备与访问说明

系统研究存储、索引、执行器、事务与恢复,并在 BusTub 中完成累进式项目。SQL 用于查询练习,内核项目要求 C++17,不是 Java 实现课。

可用资料课程大纲 / 讲义与幻灯片 / 官方链接的公开视频入口 / 书面作业及解答 / BusTub 项目说明

Fall 2025(官网归档)

对你的帮助
适合在 SQL 与数据库基础之后理解真正的实现取舍,为性能排障与数据库选型提供底层依据。
开始前要会什么
相当于 CMU 15-213/513 的系统基础;熟练编写和调试 C++17;数据结构、并发与内存管理
原资料涉及的知识
关系模型与 SQL · 存储与缓冲池 · 索引和过滤器 · 查询执行与优化 · 并发控制与 MVCC · 日志与恢复 · 分布式数据库
学习建议
Java 学习者可先读模型、索引、事务讲义,再决定是否补 C++ 做 BusTub。做项目时固定 Fall 2025 的规格与代码版本,不混用其他学期缓冲池或并发方案。
访问说明
官网明确标为历史版本,课表公开链接讲义和 YouTube 视频;播放仍取决于平台可达性。课程不公开编程项目解答或评分测试,不能据公开页面承诺校外评分、助教支持或完整答案。

来源:15445.courses.cs.cmu.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

PostgreSQL Global Development Group国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

PostgreSQL:事务冲突后,为什么要从头再算一次 (新标签页)↗

本次学什么
跟踪一次序列化冲突,说明重新读取、计算与写入为何要一起重做。
已学可跳过
不把所有异常都纳入重试,也不立即扩展到分布式事务。
展开介绍、学习准备与访问说明

同时执行的事务可能都读到旧条件,数据库会让其中一个失败。重试时重新读取和做决定,才能避免把第一次的旧结果再次写回。

可用资料Serialization Failure Handling / Transaction Isolation 中两组求和示例

PostgreSQL 17:Serialization Failure Handling;核对 2026-10-07

对你的帮助
会捕获异常还不够;应用需要区分可重试的冲突和持续的数据错误,并明确重试覆盖整段事务。
开始前要会什么
知道事务隔离级别;能开两个 SQL 会话;会检查 SQLSTATE
原资料涉及的知识
Serializable · 40001 · 完整事务重试 · 并发冲突 · 重试边界
学习建议
用两组数字做两个并发事务:各自读一组总和,再写入另一组。按交错顺序触发 Serializable 冲突;失败一方重新开启事务并重算,再对比只重发 INSERT 的方案。交付会话时间线、SQLSTATE 和重算前后使用的值;为重试设次数上限并记录最终失败。
访问说明
官方文档可读;本轮未制造数据库冲突或运行 Java 重试逻辑。练习限定 PostgreSQL 17,错误码和隔离行为不能直接套用到 MySQL。

来源:www.postgresql.org (新标签页)↗
核对日期:

缓存工程与容量诊断

在有限内存下选择缓存策略,并用实际访问数据解释效果。

完成标准完成一组可复现的缓存访问实验,解释命中、过期、淘汰及延迟的关系。

推荐主线

Redis美国 · 英文

P0 · 必会主线L2 · 进阶后端与系统官方文档

Redis 官方:缓存淘汰与命中率诊断 (新标签页)↗

本次学什么
学习缓存容量、多久后过期(TTL)、淘汰策略和命中率诊断,并做一次对照实验。
已学可跳过
已会 Redis 键值操作直接进入淘汰专题;Java 集合、SQL 与数据库索引不重复学习。
展开介绍、学习准备与访问说明

缓存内存快满时,应该先删哪些数据?这份文档说明内存上限、过期时间,以及按最近使用或使用次数选择数据的方法。

可用资料缓存淘汰专题及策略说明 / 官方数据结构快速入门中的 Java 示例 / Jedis Java 客户端指南入口

持续维护的官方文档;按本地 Redis 版本核对功能

对你的帮助
补充 Java 业务缓存的容量规划和运行诊断,连接黑马点评中的缓存使用;与关系数据库的索引、事务课程分工。
开始前要会什么
会使用 Redis 基本键值命令;不熟悉时先看官方数据结构快速入门;Java 集合与基础复杂度;能够在本地启动一个独立 Redis 实例
原资料涉及的知识
maxmemory 与淘汰策略 · TTL 过期和内存淘汰的区别 · 近似 LRU、LFU 的适用场景 · INFO 的命中、缺失、过期与淘汰指标
学习建议
在单独的练习实例中设置小内存上限,分别反复访问少数键、轮流访问很多键。比较“优先删很久没用的”和“优先删用得少的”两种策略,记录命中率、删除数量和响应时间。
访问说明
官方文字文档可直接阅读;可用本地 Redis 实验,无需购买 Redis Cloud。不同版本支持的策略不同,不把 latest 页面全部选项当作旧版可用功能;示例未在本站代跑。

来源:redis.io (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Caffeine 项目国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Caffeine:为什么刷新期间还能读到旧缓存 (新标签页)↗

本次学什么
比较刷新成功与失败时旧值的去向,用时间线区分刷新条件和实际触发。
已学可跳过
批量加载、性能榜单和框架整合;本地缓存不等同 Redis 多实例共享缓存。
展开介绍、学习准备与访问说明

区分后台刷新与到期失效:符合刷新条件后,还要有读取触发;刷新过程中通常仍返回旧值。

可用资料官方刷新示例 / 刷新与失效对照 / 加载失败说明

Caffeine 3.x 官方 Refresh 文档;配套练习固定为 3.2.2

对你的帮助
已有 Redis 资料讲内存不足时淘汰谁,这一页补的是 Java 进程内缓存怎样更新内容,以及更新失败时读者可能看到什么。
开始前要会什么
会写 Java 方法与异常处理;理解缓存命中与回源;了解异步任务的基本含义
原资料涉及的知识
refreshAfterWrite · expireAfterWrite · 异步加载 · 刷新失败
学习建议
先读 Refresh 的短示例和失败说明,暂跳批量加载与框架整合。画出“写入旧值—达到刷新条件—一次读取触发刷新—成功或失败”两条时间线,标注何时可能返回旧值;不要把 refreshAfterWrite 当作固定周期任务。
访问说明
官方仓库文档公开可读。Caffeine 3.x 需要 Java 11 或以上及项目依赖;这是进程内缓存,运行不需要 Redis 服务,也不自动同步多个应用实例。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Redis 官方国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Redis Lua:脚本报错后,前面的修改还在吗 (新标签页)↗

本次学什么
只读 call、pcall 与错误回复,画出“先成功一次写入,再发生错误”的状态表。
已学可跳过
先跳过复制模式、调试器和函数库管理,不把短脚本扩展为完整秒杀系统。
展开介绍、学习准备与访问说明

先分清两件事:脚本执行时其他命令不能插进来,和脚本报错后是否撤销旧修改。再看 call 与 pcall 怎样把错误交给调用方。

可用资料Lua API 参考 / 错误回复示例 / KEYS 与 ARGV 说明

滚动官方文档;redis.call / redis.pcall 自 Redis 2.6 提供

对你的帮助
写秒杀扣库存或状态更新脚本时,只知道“原子执行”还不够;要明确输入不对、键类型不对时会留下什么状态。
开始前要会什么
会用 GET、SET 和 INCR;能读懂 Lua 的 if 与 return
原资料涉及的知识
脚本执行与错误 · redis.call 与 redis.pcall · 先检查再修改
学习建议
自拟练习:在独立实验实例用普通 EVAL,先写数字键,再对非整数文本执行 INCR;每组先重置输入,比较 call、pcall 和预先检查。交回复和最终键值;默认 fork 调试器会丢弃变更,不能用来证明 EVAL 会回滚。没有实例时先交预测表,不标成实测。
访问说明
官方文档公开可读;本轮未运行 Redis 实验。pcall 可以捕获命令错误,但不提供自动回滚。脚本只保护 Redis 内部的这一段执行,不能替代数据库与外部服务的业务一致性设计。

来源:redis.io (新标签页)↗
核对日期:

消息可靠性与事件流

先掌握任务可靠投递,再按业务需要补事务消息或可重放事件流。

完成标准用故障实验说明发送、处理、确认的边界,并选用任务队列、事务消息或流聚合模型。

推荐主线

RabbitMQ 项目国际社区 · 英文

P0 · 必会主线L1 · 基础后端与系统官方文档

RabbitMQ 官方 Java 教程:任务队列与可靠发布 (新标签页)↗

本次学什么
主线只学任务分发、消费确认(ACK)、重新投递、预取、持久化和生产者确认。
已学可跳过
只需先补一次生产者/消费者概念;后续 RocketMQ 和 Kafka 按差异专题选学,不再各刷一套消息入门。
展开介绍、学习准备与访问说明

让多个程序分担队列里的任务,并在任务做完后明确回复。再学习发送方怎样确认消息已到达消息服务,分清“发出”“收到”和“业务完成”。

可用资料Work Queues 的 Java 代码与运行步骤 / Publisher Confirms 专题及 Java 完整示例链接 / 官方源码仓库入口

持续维护的 Java 教程;重点第 2 与第 7 篇

对你的帮助
为订单、异步通知及 Agent 后台任务提供可实践的消息可靠性基础;确认、重投和幂等不能只靠正常收发演示来理解。
开始前要会什么
Java 与 Maven 基础;能够运行本地 RabbitMQ;完全初学者先完成同系列 Hello World;了解进程异常退出和网络失败
原资料涉及的知识
竞争消费者与手动 ACK · 预取与公平分发 · 队列和消息持久化的作用与局限 · 生产者逐条、批量与异步确认
学习建议
先正常分发任务,再在处理途中停止一个消费程序,观察未确认的消息是否再次出现。随后看第 7 篇发送确认。给任务加唯一编号,防止重复处理;消息保存到磁盘不代表业务只会执行一次。
访问说明
教程文字、代码和源文件链接公开;使用本地 broker 即可学习。没有在线评分或免费托管集群承诺,本站未运行消息故障实验。

来源:www.rabbitmq.com (新标签页)↗
核对日期:

其他来源:替代或选学(6)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Apache RocketMQ / Apache 软件基金会国际社区 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Apache RocketMQ 官方:事务消息与本地事务回查 (新标签页)↗

本次学什么
只补本地事务与消息发送的最终一致性、半事务状态和异常回查。
已学可跳过
已完成 RabbitMQ 主线的生产消费、ACK 和普通重试不重复;先按需完成最小部署,再进入事务专题。
展开介绍、学习准备与访问说明

数据库写入成功,消息却没发出去怎么办?从这个问题学习事务消息:先暂存消息,再根据数据库操作的结果决定提交或取消。

可用资料中文事务消息机制图与生命周期 / Java 事务生产者和回查示意代码 / 官方本地部署快速开始

RocketMQ 5.0 文档体系;匹配所选服务端和 SDK

对你的帮助
补足数据库更新与异步下游通知的一致性设计;区别于 RabbitMQ 的投递确认,以及 Kafka 的事件流计算。
开始前要会什么
已掌握消息生产、消费及失败重试;MySQL 本地事务和业务状态查询;能按官方快速开始运行 RocketMQ 并选择匹配 SDK
原资料涉及的知识
半事务消息与提交/回滚 · Unknown 状态和事务回查 · 事务消息主题要求 · 最终一致性及消费端处理边界
学习建议
画出数据库提交前、提交后、确认消息丢失三种情况。回查时读取真实业务记录,判断该提交、取消还是继续等待;再检查重复收到消息时会发生什么。不要让所有回查都无条件返回 Commit。
访问说明
文档公开;Java 段落包含模拟本地事务的占位逻辑,需要自行替换成可核验的业务状态,不能直接当作完整订单系统。事务消息保证生产与本地事务的最终一致性,不保证下游业务自动正确;本站未运行示例。

来源:rocketmq.apache.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Apache Kafka / Apache 软件基金会国际社区 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Apache Kafka 官方:事件重放与 Java 流聚合 (新标签页)↗

本次学什么
只补可重新读取的事件日志、流处理步骤的组织和需要保存中间状态的聚合;用 WordCount 验证 KStream/KTable 与数据序列化、反序列化(Serde)的行为。
已学可跳过
不重复普通生产者/消费者入门;已会启动 Kafka 时直接进入流应用,流计算需求不足时可后学。
展开介绍、学习准备与访问说明

用 Java 持续处理不断到来的消息:先原样转发,再拆分单词,最后累计每个词出现的次数。通过三个小程序理解流处理。

可用资料官方 Java 流应用完整步骤 / Pipe、LineSplit、WordCount 代码 / Maven 项目生成和拓扑输出 / 官方 Kafka 快速开始

Kafka 4.3.x 流应用教程;快速开始页面持续更新

对你的帮助
补充业务事件、实时统计和 Agent 运行事件聚合的处理模型;核心新增是可重放日志与状态化计算,并非再学一种普通任务队列。
开始前要会什么
Java、Maven、Lambda 与序列化基础;已有消息系统基本概念;按同版本快速开始运行 Kafka;当前快速开始要求 Java 17+
原资料涉及的知识
主题中的事件保留与重复读取 · Streams 配置与拓扑 · KStream 与 KTable · 分组、计数、状态存储与重新分区 · 输入输出 Serde
学习建议
先用快速开始验证同一事件可重复读取,已有收发经验直接进入 Streams。本站建议用重复单词和重启场景检查计数与状态恢复,并说明哪些行为取决于配置;不要把演示自动等同于外部数据库副作用的恰好一次。
访问说明
文档公开,可在本地练习。同版本快速开始要求 Java 17+;Streams 教程提到的 Java 11 编译目标不代表可以用 Java 11 运行整套环境。服务器、客户端和教程版本应配套。

来源:kafka.apache.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Apache RocketMQ / Apache 软件基金会国际社区 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

RocketMQ 中文:同一订单的消息怎样保持先后 (新标签页)↗

本次学什么
只补同组发送与消费顺序、异步处理和失败重试的边界。
已学可跳过
不重复普通生产消费或事务消息;首次只读章节并画时间线,不要求部署集群。
展开介绍、学习准备与访问说明

用订单创建、付款、发货理解消息组:同组消息需要按次序处理,不同组可以并行;收到消息的顺序还不能代替业务完成的顺序。

可用资料顺序消息:适用场景与消息分组 / 顺序消息生命周期:生产顺序与消费顺序 / 使用限制与使用建议

RocketMQ 5.0 中文文档;顺序消息的生命周期、限制与使用建议

对你的帮助
为多消费者消息顺序文章提供可对照的真实消息系统约定,补齐发送方串行、消息分组和消费处理三个环节。已有 RocketMQ 资源讲事务消息,本项只补顺序边界。
开始前要会什么
知道生产者、消费者和消费确认的作用;能区分单线程顺序调用与并发调用
原资料涉及的知识
MessageGroup · 生产顺序 · 消费顺序 · 异步处理边界 · 失败重试阻塞
学习建议
只读到使用建议:检查同一组是否由单一生产者串行发送,消费者是否处理完成再确认。给两个订单各画创建、付款、发货三步;随后考虑把收到的消息交给异步线程会发生什么。不要把同组顺序扩大成所有订单全局有序,也不要把有限次重试解释成失败消息永不被跳过。
访问说明
中文正文公开可读,无需账号。第一轮只做订单分组和处理时间线推演;页面中的服务端命令未在本轮执行,已有隔离的本地 RocketMQ 环境时再按 5.0 文档验证。

来源:rocketmq.apache.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Debezium国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Debezium Outbox:订单写成了,消息怎样跟着送出去 (新标签页)↗

本次学什么
分析本地事务与异步发送的三处失败点,区分事件唯一编号和业务分区键。
已学可跳过
Avro、跨库事务与全量平台搭建先跳过;旧演示不直接当当前部署脚本。
展开介绍、学习准备与访问说明

把业务数据和待发送事件写进同一个本地事务,再由日志采集把事件送到消息系统;事件编号用于识别重复。

可用资料Outbox Event Router 字段与路由说明 / Debezium 原作者模式文章与 Java 示例解释

Debezium 3.7 文档与 2019 年模式讲解;核对 2026-10-07

对你的帮助
“保存订单,再发消息”中间可能失败。Outbox 把两次独立写入的缺口变成可追踪的待发送记录。
开始前要会什么
理解数据库事务;知道 Kafka 消息键与分区;能读简单 JSON
原资料涉及的知识
事务发件箱 · CDC · 事件编号 · 分区键 · 重复消费
学习建议
为订单设计业务表、outbox 表与消费去重表,画出“提交前失败、提交后发送前失败、消费后确认前失败”三个时间线。给两个事件填写 id、aggregateid、aggregatetype 和 payload,推算它们的 topic/key,再说明重复事件如何不重复扣库存。交付表结构和故障时间线,不把路由器写成自动完成去重。
访问说明
已读取官方配置页及模式文章;未部署 Debezium、Kafka 或运行示例。配置页会随 stable 版本变化,2019 年文章中的运行栈只用于理解流程。

来源:debezium.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Apache Flink CDC中国 / 国际开源社区 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Flink CDC 中文:先读旧数据,再接住新变化 (新标签页)↗

本次学什么
区分快照、binlog 与恢复位置,先核对小表的最终状态。
已学可跳过
全库同步、动态加表、无主键表与生产高可用留到后续。
展开介绍、学习准备与访问说明

先把表中已有行分块读取,再接上数据库变更日志;检查点记录读到哪里,帮助理解失败后从什么位置接着做。

可用资料MySQL Source 中文文档 / 增量快照与启动模式说明 / Flink Sources 版本兼容表

Flink CDC 3.5 / Flink 1.19 或 1.20 / MySQL 8.0 练习路线;核对 2026-10-07

对你的帮助
只看“能同步”容易漏掉开始位置、快照阶段和恢复条件。本项把首次导入与后续变更分开观察。
开始前要会什么
会在 MySQL 建表并增删改;知道主键和数据库日志;有隔离的 Flink 与 MySQL 练习环境;知道怎样启用 Flink 检查点并按练习版本从检查点恢复
原资料涉及的知识
CDC · 增量快照 · binlog · checkpoint · server-id
学习建议
先画 initial 与 latest-offset 两种启动时间线,标出启动前的旧行会不会出现。再用 5 行带主键的练习表,记录一次新增、修改、删除及最近成功检查点;计划一次恢复并按主键核对最终状态。交付版本清单、时间线和核对表,先不做全库同步与动态加表。
访问说明
中文原文可读;3.5 兼容表列出 Flink 1.19/1.20。MySQL 页 Maven 示例仍写 3.3-SNAPSHOT,练习应按已发布的 3.5 依赖核对,驱动需单独准备;本轮未启动同步作业。

来源:nightlies.apache.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Redis 官方国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Redis Streams:消息领走后没处理完,怎样再接手 (新标签页)↗

本次学什么
只跟踪两条消息在领取、闲置、接手和确认后的状态变化。
已学可跳过
先跳过集群部署和新版本的其他 Stream 命令,不把重新领取当成只处理一次。
展开介绍、学习准备与访问说明

消费者领走消息后退出,消息会留在待确认列表中。此命令按空闲时长把消息交给另一个消费者,并用游标继续检查。

可用资料命令参数 / 回复结构 / 版本变化记录

XAUTOCLAIM 自 Redis 6.2 提供;7.0 起返回已删除消息的清理结果

对你的帮助
消息队列不是“取到就完成”。这份材料把待处理、重新领取和业务确认三个阶段分开。
开始前要会什么
了解 Stream 与消费组;知道处理成功后需要 XACK
原资料涉及的知识
待确认消息 PEL · 空闲时长与重新领取 · 扫描游标 · 重复处理
学习建议
先读 Required arguments 中 min-idle-time、start 和 Examples。自拟两条消息,让 A 在同一消费组领取但不确认;练习把最短空闲时间设为 1000 毫秒,先查看待确认列表(PEL)并确认空闲时间已超过此值,再让 B 从 0-0 开始重新领取,最后只确认一条。记录消息 ID、所有者、空闲时间、游标和待确认数量;交命令与状态表。一次没领到也保留回复,不把 COUNT 当保证返回条数。
访问说明
公开文档可读;XAUTOCLAIM 需 Redis 6.2+,7.0+ 回复含清理 ID 列表。本轮未运行。空闲阈值只决定能否接手,不会停止旧消费者;XACK 按流、组和 ID 确认,不核对当前所有者。业务写入仍需防重复。

来源:redis.io (新标签页)↗
核对日期:

分布式系统

研究跨节点通信、复制与故障下的一致性。

完成标准通过故障注入验证复制状态机的安全性与恢复行为。

推荐主线

麻省理工学院(MIT)美国 · 英文

P1 · 重点提升L3 · 深入后端与系统高校课程

6.5840 Distributed Systems:分布式系统 (新标签页)↗

本次学什么
RPC、复制、共识、一致性和分布式服务实验,使用课程规定的 Go 环境。
已学可跳过
数据库主题已完成的单机事务不重学;选择 MIT 实验路线后不再全量做另一套相同系统。
展开介绍、学习准备与访问说明

研究容错、复制和一致性,通过论文与 Go 实验学习 MapReduce、Raft 和键值服务。旧路径含 6.824,当前页面课程号为 6.5840。

可用资料课程大纲 / 讲义与论文阅读清单 / Go 实验说明 / 实验代码与本地测试获取说明 / 往年考试入口

Spring 2026

对你的帮助
为 Java 微服务、消息队列和缓存一致性补上故障模型与协议推理,帮助判断重试、选主和复制能够提供什么保证。
开始前要会什么
扎实的系统编程、并发与网络基础;能够学习和调试 Go;能阅读英文系统论文并分析故障时序
原资料涉及的知识
RPC 与并发 · MapReduce · 复制与 Raft · 线性一致性 · 容错键值服务 · 分布式事务 · 系统论文分析
学习建议
先复现 RPC、超时与崩溃,再做 MapReduce;进入 Raft 前写清任期、日志和提交不变式。每次修复后跑故障测试,并把教学测试通过与生产可靠性分开。
访问说明
核验时页面为 Spring 2026,公开课表和实验可阅读;主页路径会随学期更新,应同时记录版本。实验 1 明确使用 Go,并在单机运行多个进程,不能把完成它说成真实多机集群验证;未确认本学期完整公开视频。

来源:pdos.csail.mit.edu (新标签页)↗
核对日期:

其他来源:替代或选学(3)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

上海交通大学中国 · 英文

P1 · 重点提升L2 · 进阶后端与系统高校课程

Computer Systems Engineering(计算机系统工程) (新标签页)↗

本次学什么
选择中文背景的系统工程与另一套实验路线时替代 MIT。
已学可跳过
已有 MIT 实验基础时仅按弱项补文件系统或事务实例,跳过重复的 RPC、Raft 与复制基础。
展开介绍、学习准备与访问说明

IPADS 的本科系统课程连接文件系统、RPC、分布式存储、一致性、事务和复制,并在课程表中配套文件系统及 Raft 实验入口。

可用资料按周课程安排 / 讲义入口 / 文件系统实验入口 / Raft 实验入口 / 论文阅读链接

2025 年秋季学期

对你的帮助
适合在 Java Web 项目之后补足系统设计依据,理解服务通信、事务提交与复制协议的不同职责,减少只记技术名词和架构图的问题。
开始前要会什么
操作系统基础;计算机网络基础;数据结构与算法;系统编程经验与英文技术阅读能力
原资料涉及的知识
单机与分布式文件系统 · RPC 与分布式系统模型 · 一致性与原子性 · 日志和事务 · 两阶段提交 · Paxos 与 Raft 复制 · 网络与系统安全
学习建议
优先沿文件系统、RPC、一致性、日志、事务、复制的顺序学习。分别写出两阶段提交与 Raft 处理什么故障,再画一次失败恢复时间线;课程后段 GPU 等内容可以按需补读。
访问说明
学校 IPADS 课程清单将 CSE 列为本科课程,当前页面展示 2025 秋安排。本条语言按公开英文课程页面标注;未核验课堂口语语言、完整视频和校外评分资格。已核验课程安排,未执行实验。

来源:ipads.sjtu.edu.cn (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Diego Ongaro / RaftScope国际 · 英文

P2 · 按需深入L2 · 进阶后端与系统交互练习

RaftScope:暂停一组服务器,观察选举与日志 (新标签页)↗

本次学什么
读官网的共识简介,再暂停画面观察领导者与日志;用帮助中的 R、C 做模拟重启与请求。
已学可跳过
不作为零基础网络课,不把动画结果当成完整 Raft 实现的验证;首次不尝试所有故障组合。
展开介绍、学习准备与访问说明

在一组模拟服务器间观察消息、领导者选举和日志记录。通过暂停、恢复和重启模拟领导者,理解一次写入为什么需要多个节点配合。

可用资料五节点浏览器模拟器 / 暂停与重启等快捷键 / Raft 官网概念说明与论文入口

Raft 官方站点所链接的浏览器模拟器

对你的帮助
为分布式系统课程提供读论文前的图形补充;把单机保存成功与多数节点确认的区别展示出来。
开始前要会什么
知道服务器通过消息通信;理解日志记录和进程故障;先读 Raft 官网的共识与多数节点简介
原资料涉及的知识
Raft · 领导者选举 · 日志复制 · 多数节点 · 故障恢复
学习建议
先打开帮助,确认暂停键,再暂停画面找到领导者与各节点的日志。恢复后用 R 重启模拟领导者,记录重新选举的过程;熟悉后再用 C 产生一条模拟请求,分开记录日志出现与确认的时刻,不必首次就尝试所有故障。
访问说明
英文模拟页面和快捷键帮助可公开打开,动画需要 JavaScript。官方说明这是较粗糙的教学可视化;操作影响模拟节点,不是部署真实集群,也不能作为实现正确性的证明。

来源:raft.github.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Redisson 项目国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Redisson:锁过期以后,旧任务为什么还可能写数据 (新标签页)↗

本次学什么
只读锁可靠性、普通锁与 Fenced Lock 三节,解释旧任务恢复后由谁拦住写入。
已学可跳过
先跳过其余锁类型;不要仅凭有 watchdog 就推断外部业务写入安全。
展开介绍、学习准备与访问说明

任务暂停太久后,锁可能已经过期并交给别人。通过递增的通行编号,让真正接收写入的一方拒绝旧任务带来的请求。

可用资料锁可靠性说明 / RFencedLock 示例 / 租期与线程所有权说明

Redisson 滚动参考文档;另核对 4.8.0 固定源码(36172f9),API 以实际依赖版本为准

对你的帮助
自动续期只能解决一部分等待问题;要保护数据库或外部存储,还得让接收方识别过时的写入者。
开始前要会什么
了解 Java 锁与 finally;知道锁租期与进程暂停
原资料涉及的知识
watchdog 与租期 · 过时持有者 · fencing token · 接收端校验
学习建议
自拟练习:画出 A 获得编号 7 后暂停、B 获得 8 并写入、A 恢复再写的时间线。依据原文拒绝旧编号的规则,为接收端设计把比较编号、记录最大编号、业务写入放在同一原子操作中的方案;再说明相同编号重试的幂等规则。交时间线、伪代码与并发检查点;这是纸面设计,未验证具体存储实现。 A 恢复后仍携带最初的编号 7,不能另取当前编号 8 来冒充新持有者。
访问说明
本轮核对文档与 4.8.0 源码,未运行 Redisson。该版同步 lockAndGetToken(leaseTime, unit) 未转发租期,不能据此假定固定时间释放。接收端仍须把编号比较、记录与业务写入放在同一原子操作中。

来源:redisson.pro (新标签页)↗
核对日期:

应用安全与信任边界

先认识常见风险,再检查自己的输入、权限与配置。

完成标准能对一个接口列出具体问题及对应代码证据。

推荐主线

加州大学伯克利分校(UC Berkeley)美国 · 英文

P1 · 重点提升L2 · 进阶后端与系统高校课程

UC Berkeley CS161:计算机与应用安全 (新标签页)↗

本次学什么
安全原则、凭据、Web 防护与 ML/AI 安全专题;内存安全实验按基础选做。
已学可跳过
网络入门、HTTP 与 Spring Security 的配置不重学,重点分析信任边界和失败条件。
展开介绍、学习准备与访问说明

从安全原则、密码学使用和 Web 安全,建立应用的攻击面与防护边界;2025 秋还包含 ML/AI 安全专题。

可用资料课程日历和讲义入口 / 开放安全教材 / 讨论题与解答入口 / 项目说明 / ML/AI 安全讲义 PDF

Fall 2025 课程归档;教材另有持续维护版本

对你的帮助
补齐后端身份凭据、会话、输入处理及 AI 应用不可信输入的安全思维。重点是识别信任边界和验证防护,而不只是调用 Spring Security。
开始前要会什么
会编写和调试程序;HTTP、Cookie 与基础网络知识;内存安全实验需先了解 C、x86 与调用栈
原资料涉及的知识
安全原则与威胁建模 · 密码、MAC、数字签名与证书 · 会话、CSRF、XSS 与 SQL 注入 · TLS 与网络安全 · ML/AI 安全、对抗样本与提示注入
学习建议
先学安全原则、凭据与 Web 防护,再选 ML/AI 安全专题;已掌握的 HTTP 和网络基础直接跳过。将登录与工具调用应用画成信任边界图,编写验证权限和输入隔离的测试。内存漏洞实验只在具备 C 与汇编基础后选做。
访问说明
保留 2025 秋历史版本。教材、课程大纲和项目说明公开;部分作业链接进入 Gradescope,在线评分和校内实验环境不保证对外开放。录像按各入口的访问条件使用。

来源:fa25.cs161.org (新标签页)↗
核对日期:

其他来源:替代或选学(3)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

MDN Web Docs国际 · 中文

P0 · 必会主线L1 · 基础后端与系统官方文档

网站安全入门:先知道常见问题怎样出现 (新标签页)↗

本次学什么
先用网站场景认识常见风险,再读更系统的安全课程。
已学可跳过
不要急着背全部攻击名称;已有基础时直接对照自己的输入与权限检查。
展开介绍、学习准备与访问说明

用网站场景认识脚本注入、SQL 注入和伪造请求,重点看问题怎样发生。

可用资料中文解释 / 风险场景 / 防护与参考链接

MDN 中文服务端入门文章

对你的帮助
写登录、表单和数据库接口时,知道哪些输入不能直接信任。
开始前要会什么
知道表单如何发送请求;理解最基本的后端与数据库交互
原资料涉及的知识
输入处理 · 脚本注入 · SQL 注入 · 伪造请求 · 会话保护
学习建议
先读 SQL 注入与跨站脚本部分。小练习:给自己的留言功能画出“输入—保存—页面显示”三步,逐处写清参数绑定、输出转义和权限检查分别应放在哪里。
访问说明
文章公开,适合认识常见风险。文中的手工 SQL 转义示例不能作为通用防护直接照抄;实际查询应使用参数绑定,具体防护再对照 OWASP 的专门指南。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

OWASP国际 · 中文

P1 · 重点提升L1 · 基础后端与系统开放教材

OWASP Top 10:用常见风险检查自己的后端 (新标签页)↗

本次学什么
把风险类别变成一次具体代码与配置检查。
已学可跳过
先不追求记住全部编号;已通过检查的项目记录证据即可。
展开介绍、学习准备与访问说明

按十类风险整理网站容易出问题的地方,可用来检查权限、配置、依赖和错误处理。

可用资料中文分类说明 / 风险案例 / 防护思路

OWASP Top 10:2025 中文入口

对你的帮助
在了解基础风险后,把安全检查落到自己的接口和配置上,避免只背术语。
开始前要会什么
能读懂简单后端代码;已了解登录、权限和数据库访问
原资料涉及的知识
访问权限 · 安全配置 · 软件依赖 · 注入 · 异常处理
学习建议
先选访问控制、配置错误和异常处理三类。小练习:检查自己的一个接口,写出谁能调用、输入错误怎样返回、日志会不会带出敏感内容;每条都指向一处代码或配置。
访问说明
官方站点的中文入口公开;语言路径为 zh-Hant,页面含中文译文。它是风险意识资料,不是能保证安全的完整检查表或认证。

来源:top10.owasp.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MDN Web Docs国际 · 中文

P1 · 重点提升L1 · 基础计算机基础官方文档

内容摘要:把一段文字变成固定长度的检查值 (新标签页)↗

本次学什么
对照两段固定文字的摘要,区分字节长度、显示字符数、加密和认证。
已学可跳过
先跳过其他算法与大文件;需要验证发送者时另学带密钥的机制。
展开介绍、学习准备与访问说明

看 UTF-8 文字如何变成字节,再得到 SHA-256 摘要。摘要适合比较内容,但它不是能解回原文的加密,也不自动证明是谁发来的。

可用资料语法与返回值 / 基本摘要示例 / 将摘要转换为十六进制字符串

MDN 中文 Web Crypto API · SubtleCrypto.digest()

对你的帮助
接着哈希文章观察输入字节、输出长度与十六进制显示之间的关系,避免把摘要当作保密或身份认证。
开始前要会什么
知道字符串和字节不是一回事;会读少量 JavaScript
原资料涉及的知识
哈希 · 摘要 · SHA-256 · UTF-8 · Web Crypto
学习建议
用 abc 和 abd 两段文字分别求 SHA-256,记录输入字节数、输出 32 字节与十六进制显示的 64 个字符。观察输出变化即可,不由两个样本断言绝无碰撞;也不要把这个例子直接当作密码存储方案。
访问说明
文档免费公开。浏览器 API 需要安全上下文;该方法一次接收完整输入,不提供流式处理。只用固定测试文字,不用真实密码或凭据。

来源:developer.mozilla.org (新标签页)↗
核对日期:

容器化与环境复现

先用容器复现环境,再按需要管理多个应用实例。

完成标准能解释应用的启动配置、数据位置、实例数量与更新过程。

推荐主线

Docker美国 · 英文

P0 · 必会主线L1 · 基础后端与系统官方文档

Docker 官方实战:镜像与 Compose 应用栈 (新标签页)↗

本次学什么
新增镜像、运行配置与 Compose 环境复现;先完成本地应用栈。
已学可跳过
示例业务代码只需能运行,不重新学习其语言;已会单容器操作时直接进入 Compose 和镜像构建。
展开介绍、学习准备与访问说明

用一个小应用完成容器运行、Compose 多服务编排、镜像构建与可选的仓库分享,建立可复现开发环境。

可用资料可逐步执行的官方入门文档 / 官方 getting-started-todo-app 示例仓库入口 / Java 语言专项指南入口

当前官方入门实战;旧 workshop 地址已迁移

对你的帮助
将 Java API、数据库和缓存的环境需求从手工配置转成可保存的运行描述,为后端及 AI 工程实验提供一致起点。
开始前要会什么
基本终端与 Git 操作;按官方要求安装并启动 Docker Desktop;了解应用、端口和数据库的基本角色
原资料涉及的知识
镜像与容器边界 · 端口映射与后台运行 · Compose 多服务定义 · Dockerfile 构建与镜像标签 · 本地资源清理
学习建议
先完成本地运行、Compose 与构建,分享镜像阶段按需要做。本站建议随后把已有 Java 服务和测试数据库整理进单独的练习应用栈,说明端口、配置和数据目录;不在这里重学 Java 或数据库语法。
访问说明
文档和示例仓库公开。教程将 Docker 账号列为准备项,上传 Docker Hub 需要登录;可先完成本地阶段,不要求发布自己的项目。使用 Docker Desktop 应遵守适用订阅条款;本站未运行该应用。

来源:docs.docker.com (新标签页)↗
核对日期:

其他来源:替代或选学(3)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Kubernetes 文档社区国际 · 中文

P1 · 重点提升L1 · 基础后端与系统官方文档

容器运行之后:学习部署、扩容和更新应用 (新标签页)↗

本次学什么
Docker 之后只补实例管理、扩容和更新。
已学可跳过
只做单机项目时可后学;暂不配置生产集群、复杂网络或云账单。
展开介绍、学习准备与访问说明

在会用容器之后,了解怎样让平台维持应用实例、增加副本并更新程序。

可用资料中文分步模块 / 本地学习环境入口 / 部署命令示例

Kubernetes 官方中文基础教程

对你的帮助
为已有 Docker 主题补上多实例运行的下一步,理解自动重建和滚动更新。
开始前要会什么
已完成 Docker 镜像与容器基础;能使用 Linux 命令行;有能力准备本地练习集群
原资料涉及的知识
Deployment · Pod 实例 · Service 访问 · 副本数量 · 滚动更新
学习建议
先做创建集群、部署应用和查看实例,再选扩容。小练习:在本地练习集群把一个实例改成两个,观察状态并记录它们怎样被同一服务访问;完成后按教程清理练习资源。
访问说明
文档公开;需要自行准备 Minikube 等学习环境,不保证在线沙箱可用。部分示例限定处理器架构或使用 POSIX shell,Windows 学习者需核对环境。

来源:kubernetes.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Spring Boot国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Spring Boot:先停接新请求,再完成手头工作 (新标签页)↗

本次学什么
画启动、接单、停接新请求、完成旧请求、退出的时间线,注明等待期限。
已学可跳过
完整 Kubernetes 部署与其他 Actuator 端点;先核对项目版本。
展开介绍、学习准备与访问说明

从平稳停机的等待期限开始,再查看健康探针如何区分“进程还活着”和“已经能接新请求”。

可用资料停机配置说明 / Actuator 的 Kubernetes Probes 小节 / 启动与关闭状态表

Spring Boot 4.1.1 文档,2026-09-28 核阅

对你的帮助
为停机与健康页两篇文章补上 Spring 的具体行为说明,避免只看一个健康响应就认定所有业务都能正常处理。
开始前要会什么
能运行 Spring Boot Web 应用;理解 HTTP 请求与进程退出;知道配置文件的作用
原资料涉及的知识
平稳停机 · 等待期限 · 存活与就绪检查 · 应用生命周期
学习建议
先读 Graceful Shutdown,再读 Actuator 的 Kubernetes Probes 与生命周期表;跳过无关端点和集群部署。画出启动、接单、停接新请求、处理旧请求、退出的时间线,注明等待超时后仍未完成的请求不能保证成功。
访问说明
两页官方文档公开可读,无需登录。运行需要对应版本的 Java 项目;健康端点需要 Actuator。阅读状态表和本地观察不要求 Kubernetes 集群;IDE 的强制结束不一定触发平稳停机。

来源:docs.spring.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Kubernetes 文档国际 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Kubernetes 中文:三种健康检查各自决定什么 (新标签页)↗

本次学什么
只比较三种探针的处理动作和连续失败阈值,记录 Ready 与重启次数所表达的不同事实。
已学可跳过
TCP、gRPC、TLS、HTTP/2 探针扩展和完整集群搭建。
展开介绍、学习准备与访问说明

用存活、就绪和启动探针分别回答是否需要恢复容器、能否接收服务流量、是否还在初始化。

可用资料exec 与 HTTP 配置例子 / 慢启动保护示例 / Pod 事件观察步骤

2026-09-28 核阅的中文任务文档;只选 HTTP/exec 基础探针

对你的帮助
Spring 文档说明应用内部状态,这份任务文档进一步说明 Kubernetes 会怎样处理检查结果,以及慢启动为何需要单独考虑。
开始前要会什么
知道容器与 Pod 的区别;能阅读基础 YAML;理解 HTTP 状态码
原资料涉及的知识
存活探针 · 就绪探针 · 启动探针 · 失败阈值
学习建议
先读准备开始、定义就绪探针与慢启动保护,再回看存活示例;暂跳 TCP、gRPC、TLS 和 HTTP/2 探针扩展。给“正在启动、暂不能接单、进程卡住”各写一行预期动作,注明连续失败阈值;有练习集群时再记录 Ready 状态与重启次数,别把单次失败当成立刻重启。
访问说明
中文正文公开可读。画配置与状态表不需要集群;运行文中命令需要 Kubernetes 集群、已配置的 kubectl 和拉取镜像的网络。页面含新版本特性,本次学习范围不包含 HTTP/2 探针、gRPC TLS 等扩展。

来源:kubernetes.io (新标签页)↗
核对日期:

服务可观测性

采集请求耗时、错误、日志等运行数据,帮助解释服务发生了什么。

完成标准能为已有服务接入运行数据采集,并用一次请求说明耗时、错误、日志与调用追踪(trace)的联系。

推荐主线

OpenTelemetry / CNCF 社区国际社区 · 英文

P0 · 必会主线L2 · 进阶后端与系统官方文档

OpenTelemetry 官方:Java 自动插桩与遥测 (新标签页)↗

本次学什么
只补应用运行数据采集、请求记录关联和故障诊断。
已学可跳过
Spring 控制器、普通日志 API、模型训练评估不重复学;理解指标、日志和调用追踪后,就在已有应用中接入采集。
展开介绍、学习准备与访问说明

给 Java 应用加上请求追踪、运行指标和日志。跟着一次请求看它花了多久、哪里出错,学习怎样把分散的记录连起来。

可用资料Spring Boot Java 示例代码 / agent 下载与启动参数 / 控制台导出配置 / 示例 trace、log 与 metric 输出

持续维护的 Java 指南;页面应用示例基于 Spring Boot 3

对你的帮助
补充服务运行时的观测能力,为追踪后端请求、Agent 工具调用与故障定位建立证据;与模型训练中的实验指标分工。
开始前要会什么
可以运行一个 Java Web 应用;官方示例需要 JDK 17+ 和 Gradle;了解 HTTP 请求、日志和环境变量
原资料涉及的知识
零代码 Java agent 插桩 · trace、metric、log 三类信号 · 导出器与服务运行配置 · 请求与 span 输出的对应关系
学习建议
已有服务时跳过示例控制器编写,直接加载 agent,发送请求并解释输出。本站建议给既有后端的一条慢请求记录耗时和错误,再按需扩展 Collector;避免把日志很多误认为可观测性完备。
访问说明
文档及 agent 下载入口公开,入门使用控制台导出,无需购买监控平台。页面含历史 Spring Boot 示例版本及旧输出,实际依赖需固定并核对兼容性;本文只是遥测起点,不含完整生产监控平台或已验证分布式部署。

来源:opentelemetry.io (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

OpenTelemetry GenAI 社区国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

OpenTelemetry GenAI:分清 Agent、模型与工具各花了多久 (新标签页)↗

本次学什么
在 Java 遥测基础上,只补 Agent/工具操作的命名、关联和错误记录,画一份追踪树。
已学可跳过
跳过重复安装教程,不承诺自动采集全部字段;暂不展开完整 GenAI 规范。
展开介绍、学习准备与访问说明

给一次 Agent 任务里的不同操作使用明确的追踪名称和属性,分清远程 Agent 调用、本进程流程与工具执行,并记录哪里出错。

可用资料官方 GenAI agent/framework span 约定 / 属性要求级别表 / 旧站迁移说明 / 工具参数和结果的可选采集说明

独立 GenAI 规范仓库;Development 状态,2026-10-03 阅读

对你的帮助
已有 OpenTelemetry Java 入门讲怎样采集服务遥测;本条定向补 Agent 操作的记录约定,帮助在一条追踪中解释业务步骤。它不是另一套 Java 安装教程。
开始前要会什么
理解 trace 与 span 是请求和其中步骤的记录;有 Java 服务观测或手工插桩基础;能分清模型提出工具调用与应用真正执行工具
原资料涉及的知识
invoke_agent 与 CLIENT/INTERNAL · 工作流与工具操作 · 错误属性 · 工具调用标识 · 按需记录参数与结果
学习建议
先画一条 Agent 请求、模型交互、查询工具的追踪树,给每步标起止时间、操作名称和错误。参数与结果只用虚构数据,逐项决定是否采集;实际接库后再核对输出。
访问说明
已阅读新官方仓库页面及旧站迁移提示。旧 GenAI 页面明确停止维护,本条使用新入口;新文档仍标 Development。未验证 Java 自动插桩能采到哪些字段,也未运行 Collector 或观测平台。

来源:github.com (新标签页)↗
核对日期:

JVM 与并发性能诊断

从运行中的线程和性能记录中寻找问题证据。

完成标准能指出观察到的线程或耗时现象,并说明结论的范围。

推荐主线

Oracle / Java 平台文档美国 · 英文

P0 · 必会主线L2 · 进阶后端与系统官方文档

Oracle JDK 21 官方:JFR 性能诊断与并发契约 (新标签页)↗

本次学什么
补充 JVM 性能录制、瓶颈分类和根据记录判断问题的方法;Java 并发工具(JUC)的使用约定按排错需要回查。
已学可跳过
语法、OOP 和已有线程安全证明不重学;先掌握站内并发基础,再分析实际锁、GC 与 I/O 事件。
展开介绍、学习准备与访问说明

程序变慢时,先用 Java Flight Recorder 记录运行情况,判断是在计算、回收内存、等待锁,还是读写数据。找到方向后再查相应工具和代码。

可用资料JFR 性能排障专题和事件示例 / 官方 Diagnostic Tools 中录制、jcmd 与 JMC 说明 / JDK 21 java.util.concurrent 包说明

Java SE / JDK 21 固定版本官方文档

对你的帮助
新增 JVM 运行证据与并发故障诊断能力,补足从“知道线程安全”到能解释服务为何变慢的实践。
开始前要会什么
Java 多线程、集合和线程池基本用法;已理解线程安全;不熟悉时先读 JUC package 的概览和 Memory Consistency Properties;能够运行测试程序并使用 JDK 21 工具
原资料涉及的知识
JFR 录制与观测开销 · CPU、I/O、同步和 GC 瓶颈分类 · JMC 与 jfr 工具分析 · 按需回查 Executor/Future 的 happens-before 契约
学习建议
只选一个慢请求或线程竞争问题,先采集正常与异常负载的可比较录制,再提出修改并复测。JUC 的线程安全基础已掌握就直接查具体 API 契约,不重学一套 Java 基础,也不把一次采样当作普遍性能结论。
访问说明
官方文档公开。JMC 需要独立安装,并非普通 JDK 安装包自带;不同 JDK 的选项和事件有差异,应对应版本阅读。JUC 页面还列出预览 API,本条不以预览 API 为学习前提;本站未实际采样或做性能测量。

来源:docs.oracle.com (新标签页)↗
核对日期:

其他来源:替代或选学(6)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Arthas 开源项目中国 · 中文

P1 · 重点提升L1 · 基础后端与系统官方文档

Arthas 入门:看看正在运行的 Java 程序 (新标签页)↗

本次学什么
先用本地示例观察线程和运行概况,学会说明证据。
已学可跳过
不重复 JFR 性能主线;动态改类与复杂表达式后学。
展开介绍、学习准备与访问说明

用配套小程序学习连接 Java 进程,查看线程、运行概况与方法执行情况。

可用资料中文分步说明 / math-game 示例入口 / 命令参考

官方中文快速入门

对你的帮助
补充 IDE 调试之外的观察方法,帮助理解服务已经启动以后还能怎样找线索。
开始前要会什么
Java 异常和线程基础;能在终端启动本地 Java 程序
原资料涉及的知识
连接进程 · 线程栈 · 运行概况 · 方法观察 · 退出工具
学习建议
先只练 dashboard、thread 与停止工具。小练习:对自己启动的 math-game 记录一次线程状态,找到主线程正在执行的方法,并说明观察证据;复杂表达式和运行时改代码暂后学。
访问说明
文档和示例公开;连接 Java 进程需要相应权限并满足兼容要求。页面中的历史输出用于说明命令,不代表当前版本要求。

来源:arthas.aliyun.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

OpenJDK国际社区 · 英文

P1 · 重点提升L2 · 进阶后端与系统开源实战

JMH:检查测到的快慢是不是假象 (新标签页)↗

本次学什么
只做无用计算消除与常量折叠两个对照,检查基准是否真的执行了目标工作。
已学可跳过
先跳过全部样例、汇编分析和全站压测;不能用微基准直接推断接口吞吐。
展开介绍、学习准备与访问说明

从两个小样例学习:计算结果没被使用,或输入始终不变时,JVM 可能省去本来想测的工作。

可用资料官方起步说明 / JMHSample_08_DeadCode / JMHSample_10_ConstantFold

官方仓库 README 与 JMH Samples(滚动更新)

对你的帮助
补上 Java 性能实验的测量方法,避免用一次计时结果判断代码改动是否有效。
开始前要会什么
会写 Java 方法并使用 Maven;知道 JDK、预热和重复运行的基本含义
原资料涉及的知识
基准项目与独立运行 · 无用计算消除 · 常量折叠 · 实验条件记录
学习建议
只读 README 起步和 Sample 08、10。先预测两组写法会测到什么,再在独立 Maven 基准项目中比较,保存 JDK、运行参数与完整结果;结果仅说明这次环境。
访问说明
已阅读官方仓库及两个样例源码;OpenJDK 项目主页本次返回 403,改从官方 GitHub 仓库核验。未下载依赖或运行基准。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

async-profiler 项目国际社区 · 英文

P2 · 按需深入L2 · 进阶后端与系统开源实战

async-profiler:分清线程忙着计算还是正在等待 (新标签页)↗

本次学什么
只比较 CPU 与 wall 采样怎样呈现计算和等待;有锁竞争问题时再加 lock。
已学可跳过
先跳过全部事件同时开启、原生内存分析和生产持续采样;原生 Windows 不作为已支持环境。
展开介绍、学习准备与访问说明

分别查看 CPU、经过时间和锁等待的采样结果,理解一次慢请求可能是计算多,也可能是线程没有机会继续运行。

可用资料官方起步说明 / Profiling Modes 文档 / 交互火焰图输出说明

官方 README 与 ProfilingModes.md(滚动源码文档)

对你的帮助
补充已有 JFR 与 Arthas 观察路线,练习为一个具体问题选择采样方式。
开始前要会什么
理解 Java 线程状态与基本调用栈;能准备 Linux 或 macOS 的 HotSpot Java 测试进程;会使用终端
原资料涉及的知识
CPU 采样 · Wall-clock 采样 · 锁竞争 · 采样结果解释
学习建议
先用一个计算循环与一个等待任务做对照,固定任务输入和采样时长,分别查看 CPU 与 wall 结果;必要时再增加锁模式。保留原始记录,不把某一张图当作完整因果证明。
访问说明
已读官方 README 和原始文档;官方维护平台表列出 Linux 与 macOS,未列原生 Windows。未下载工具、采样进程或验证 WSL 环境。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Project Reactor国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Reactor:下游要两批数据,上游到底会发多少 (新标签页)↗

本次学什么
只看请求量怎样经过 buffer 改写,再用 StepVerifier 逐步请求和取消。
已学可跳过
flatMap 多层并发、网络背压和吞吐调优留到理解请求记录后。
展开介绍、学习准备与访问说明

沿着 request 信号往上游看,弄清“我要几条”怎样被 buffer 等操作改写;用逐步测试检查收到数据的数量和取消时机。

可用资料BaseSubscriber 与 On Backpressure 小节 / Testing 中的 StepVerifier / StepVerifier API 的初始请求量

Reactor 3.8.7 参考文档;core 与 reactor-test 版本对齐;核对 2026-10-07

对你的帮助
响应式代码并不会自动限制所有内存和并发。先看懂请求量,才能判断为什么队列继续增长或数据流停住。
开始前要会什么
会读 Java Lambda;知道 Flux 表示一串值;能写 JUnit 测试
原资料涉及的知识
背压 · request · buffer · 取消 · StepVerifier
学习建议
自拟练习:从 Flux.range(1, 12) 开始。第一条流请求 2 个单值;第二条流加入 buffer(3),在前后各放带标签的 doOnRequest,再请求 2 批,预测上游 6 条、下游 2 批。用初始请求量 0 的 StepVerifier 分步核对并取消,设置验证超时。交上下游请求记录与收到数据表;本轮未运行。
访问说明
官方文档及测试 API 可读;本轮未运行 Reactor 示例。使用相同版本的 reactor-core 与 reactor-test,测试要设置超时,避免没有后续请求时一直等待。

来源:projectreactor.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Oracle Java国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

JDK NMT:堆没涨,进程内存为什么还在变 (新标签页)↗

本次学什么
练预热后的基线/增量比较,把 Thread 分类与 reserved、committed 分开读。
已学可跳过
线上附加、完整泄漏定位、JNI 分配追踪和每个调用点明细先不做。
展开介绍、学习准备与访问说明

把 JVM 内存按堆、线程、类等类别查看,再保存基线比较增量;先区分预留空间与已经提交的内存。

可用资料NMT 启用与 jcmd 命令说明 / Troubleshoot Memory Leaks 的基线比较示例 / Enabling NMT / Accessing NMT Data using jcmd:先分清启动选项、summary 报告与 baseline 比较点。

JDK 21 HotSpot Native Memory Tracking;核对 2026-10-07

对你的帮助
只盯 Java 堆可能解释不了进程变化。NMT 提供另一组证据,但也有看不到的本地分配。
开始前要会什么
知道 Java 堆与线程栈;能启动一个自己的 Java 进程;会用 jcmd 查进程
原资料涉及的知识
Native Memory Tracking · reserved · committed · baseline · summary.diff
学习建议
只读 Enabling NMT 与 Accessing NMT Data using jcmd。启动自己的演示进程时加 -XX:NativeMemoryTracking=summary;预热后先保存 jcmd <pid> VM.native_memory summary 输出,再执行 jcmd <pid> VM.native_memory baseline 建立比较点。让 10 个平台线程等待,保存 summary.diff;结束这 10 个线程后再保存一次 summary.diff。交三份报告,对照 Thread 中 reserved(预留地址空间)与 committed(已提交内存),并保留 NMT 覆盖范围说明。 释放等待后用 join 确认线程已结束。初始 summary 与稍后的 baseline 是两个采样点;按报告的 KB 精度读数,不要求所有类别精确归零。
访问说明
JDK 21 官方资料可读;NMT 需随演示进程启动,不能临时开启或重启,官方估计有 5%—10% 开销。本轮已在本机独立 Java 21 进程采集基线及三阶段报告:新增 10 个等待平台线程后 Thread 数增加 10,结束后恢复;演示进程已正常退出。

来源:docs.oracle.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Oracle Java国际 · 英文

P1 · 重点提升L2 · 进阶Java基础官方文档

ThreadLocal:上一个任务结束了,值为什么还在 (新标签页)↗

本次学什么
验证同一工作线程上两个任务之间的值残留与异常清理。
已学可跳过
InheritableThreadLocal、虚拟线程和框架上下文传播暂不扩展。
展开介绍、学习准备与访问说明

两个任务依次使用同一工作线程时,前一个任务设置的值可能仍在;对照正常结束却未清理,以及异常后在 finally 中 remove 的结果。

可用资料ThreadLocal 官方 API / Executors 单线程执行器说明 / 独立任务复用实验

Java SE 21;单工作线程池实验;核对 2026-10-07

对你的帮助
ThreadLocal 隔离的是线程,任务完成不会自动清空应用自己放进去的值。
开始前要会什么
理解线程池会复用线程;会写 try/finally;认识 Future
原资料涉及的知识
ThreadLocal · 线程复用 · 任务边界 · finally · remove
学习建议
自拟练习:第一组先设置 demo-user-A 而不清理,再由下一任务只读取;第二组先设置值并故意抛异常,在 finally remove 后观察下一任务。交两组结果及执行器关闭记录,用 Future.get 等待而不靠 sleep。本轮两组均已运行;正常 finally 清理和跨线程传播可另做。
访问说明
已在 JDK 21.0.12 的独立单线程执行器上验证,并在结束时关闭执行器。使用虚构标记,无网络、数据库或业务服务;未测试异步上下文传播。

来源:docs.oracle.com (新标签页)↗
核对日期:

Python 工具基础

为数据与 AI 实验补 Python 容器、文件和环境使用。

完成标准能独立写一个读取、整理与保存数据的小脚本。

推荐主线

麻省理工学院(MIT)美国 · 英文

P0 · 必会主线L0 · 零基础AI基础高校课程

MIT 6.100L:计算机科学与 Python 编程入门 (新标签页)↗

本次学什么
Java 学习者重点学 Python 容器、可变对象、作用域、异常与调试差异。
已学可跳过
循环、函数、递归等可用诊断练习跳过;只有零编程基础时才走完整入门。
展开介绍、学习准备与访问说明

面向很少或没有编程经验的学习者,用 Python 3 建立程序、函数和问题求解基础。完整学期节奏比短期速成更适合真正从零开始。

可用资料公开课堂视频 / 逐讲讲义与 Python 代码 / Finger Exercises 小练习 / 编程题集与示例 / 习题课资料

2022 秋季

对你的帮助
Java 学习者可借此补齐 AI 实验常用的 Python;重点是独立读写和调试脚本,不是把 Java 语法逐字翻译。
开始前要会什么
不要求已有编程经验;建议能进行基本代数运算并阅读简单英文说明
原资料涉及的知识
Python 3 基本类型与控制流 · 函数和作用域 · 列表与可变对象 · 递归 · 面向对象 · 程序效率
学习建议
零编程基础者按逐讲材料完成小练习;已有 Java 基础者重点做列表别名、函数、递归与对象练习。自行编写一个数据清洗脚本,并解释每处输入输出和异常。
访问说明
MIT OCW 可直接读取和下载公开材料;这是 2022 年归档课程。公开自学材料不等于在校注册、人工批改或学分。

来源:ocw.mit.edu (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

Python 官方文档社区国际 · 中文

P0 · 必会主线L1 · 基础AI基础官方文档

Python 中文教程:给已经会 Java 的学习者 (新标签页)↗

本次学什么
Java 学习者用中文补 Python 容器、文件、模块与环境。
已学可跳过
通用循环和函数思想用小题自测;不要当成完全零编程基础的教材。
展开介绍、学习准备与访问说明

从另一门语言转到 Python 时,重点了解列表、字典、函数、模块、文件和异常的写法。

可用资料官方中文教程 / 完整小示例 / 标准库与术语表入口

Python 3 中文教程;阅读时核对版本

对你的帮助
为 AI 示例和数据处理脚本补 Python,同时避免重复第一门编程语言的全部训练。
开始前要会什么
已经理解变量、循环、函数等编程概念;准备与所读文档匹配的 Python 环境
原资料涉及的知识
列表与字典 · 函数参数 · 模块 · 文件读写 · 异常 · 虚拟环境
学习建议
先读第 5、6、7、8、12 章,循环语法按需回查。小练习:读入一份自己写的 JSON 学习记录,按主题统计条目数,再为缺少文件的情况给出清楚提示。
访问说明
教程公开,面向已有编程概念的读者;/3/ 链接随版本更新,学习时应选择与本机 Python 一致的版本。

来源:docs.python.org (新标签页)↗
核对日期:

把 Python 实验接成接口

先为应用定义清楚输入、输出和错误。

完成标准能调用一个本地接口,并分辨缺字段和类型错误。

推荐主线

FastAPI 项目国际 · 中文

P1 · 重点提升L1 · 基础大模型与Agent官方文档

FastAPI 接口入门:把 Python 数据接成可调用的服务 (新标签页)↗

本次学什么
先把输入、返回值和错误响应定义清楚。
已学可跳过
已有 Python API 经验可跳过;先不加登录、云部署或模型推理。
展开介绍、学习准备与访问说明

用一个小数据模型声明接口要接收哪些字段,让框架处理 JSON 解析和类型检查。

可用资料中文教程 / 短 Python 示例 / 自动接口文档说明

官方中文教程,请求体章节

对你的帮助
把 Python 或 AI 小实验交给网页或其他程序调用时,先把输入格式说明白。
开始前要会什么
Python 函数、类与类型提示;理解 HTTP 请求与 JSON
原资料涉及的知识
请求体 · 数据模型 · 必填与可选字段 · 类型检查 · 接口文档
学习建议
先读创建数据模型和声明请求参数。小练习:做一个只返回学习记录的本地接口,发送正常数据、缺少必填字段和错误类型三种请求,记录响应差别;暂不接真实模型。
访问说明
文档公开,示例标有 Python 3.10+。中文页包含人类引导的 AI 翻译,疑义可对照英文。

来源:fastapi.tiangolo.com (新标签页)↗
核对日期:

线性代数

建立向量空间、矩阵分解与几何直觉。

完成标准解释最小二乘与投影,检查矩阵维度并分析退化情形。

推荐主线

麻省理工学院(MIT)美国 · 英文

P0 · 必会主线L0 · 零基础AI基础高校课程

MIT 18.06SC:线性代数 (新标签页)↗

本次学什么
线性方程组、子空间、正交投影、特征值及矩阵分解。
已学可跳过
已掌握的矩阵计算先自测;不需要再完整学习另一门同主题课程。
展开介绍、学习准备与访问说明

Gilbert Strang 的线性代数自学版本,以方程组、向量空间和几何解释串联矩阵运算,配套解题视频和答案。虽是旧版,基础数学仍适合作为长期参考。

可用资料公开课堂视频 / 概念摘要笔记 / 配套解题视频 / 题集及答案 / 考试题与答案

2011 秋季

对你的帮助
模型会把文字或图片变成一组数字,也会同时计算很多组数字。先理解向量、矩阵和投影,后面读模型代码时就更容易看懂数据的形状。
开始前要会什么
高中代数及二维、三维坐标直觉;官方说明:校内选课要求 18.02,但学习线性代数主题本身并不需要微积分
原资料涉及的知识
矩阵消元与 Ax=b · 向量空间、基与秩 · 四个基本子空间 · 正交投影与最小二乘 · 特征值与特征向量 · 奇异值分解
学习建议
先完成矩阵乘法、消元和投影,再学特征值与 SVD。用 NumPy 验证一个最小二乘问题,解释残差为什么与列空间正交;无需先追求所有证明都熟练。
访问说明
OCW 版本专为独立学习组织,可公开读取;标注的学期是 2011 秋季。部分历史交互演示依赖旧技术,可优先使用视频、PDF 和练习。

来源:ocw.mit.edu (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

中国科学院大学中国 · 中文

P0 · 必会主线L1 · 基础AI基础高校课程

线性代数(席南华) (新标签页)↗

本次学什么
希望用中文建立线代理论时,替代 MIT 主线。
已学可跳过
MIT 主线通过练习后,不再重复向量空间、矩阵与特征值整套内容。
展开介绍、学习准备与访问说明

国科大院士系列课程中的本科数学基础课,由席南华主讲,介绍线性代数及相关代数的基本概念、方法和思维方式。

可用资料官方 MOOC 课程入口 / 课程介绍 / 教材与参考书目

公开课程页,未标学期

对你的帮助
机器学习中的向量、矩阵、线性映射和表示学习需要数学基础。学习这门课可帮助读者从数组运算进一步理解模型表达的结构。
开始前要会什么
中学数学
原资料涉及的知识
线性代数入门知识 · 代数基本概念 · 代数基本方法 · 线性代数思维方式
学习建议
按平台实际章节学习,每个概念同时写一个数值例子和一个几何解释。可以把学到的线性运算用 Python 或 Java 小程序复核,但不要用数值输出替代证明;暂时不必提前学习深度学习框架。
访问说明
已核验学校归属、主讲教师、预备知识及参考书。公开介绍没有展开逐讲内容,因此本条不补造细分课表;完整视频和测验是否可直接访问需按平台实际登录与开课状态确认。认证证书需满足要求并付费申请。

来源:www.icourse163.org (新标签页)↗
核对日期:

多变量微积分

补齐函数对参数的变化规律,为梯度与优化提供基础。

完成标准手算复合函数梯度,并用有限差分验证;解释约束极值。

推荐主线

麻省理工学院(MIT)美国 · 英文

P0 · 必会主线L1 · 基础AI基础高校课程

MIT 18.02SC:多变量微积分(重点选学) (新标签页)↗

本次学什么
先掌握单变量求导,再学偏导、全微分、链式法则、梯度与拉格朗日乘子。
已学可跳过
线代中的向量计算先自测;重积分和向量场按应用需要选学,避免重复矩阵基础。
展开介绍、学习准备与访问说明

补齐多元函数求导、梯度的几何意义和约束极值,为理解反向传播与训练中的梯度计算提供数学基础。课程完整内容还覆盖重积分和向量微积分。

可用资料官方分单元学习页面与讲义 / 官方列出的课堂、习题讲解视频入口 / 题目、习题集与解答入口 / 单元考试及答案入口

Fall 2010 OCW Scholar(历史公开版;部分课堂视频录于 2007)

对你的帮助
新增成果是能手算多元复合函数的导数、解释方向导数并建立约束优化方程。已有线性代数课程主要处理向量空间与矩阵,本课重点转向函数如何随参数变化;它也不重复概率建模或机器学习算法全景。
开始前要会什么
官方先修为 18.01 单变量微积分:导数、链式法则、基本积分;熟悉函数、坐标系与基本向量运算;尚未掌握单变量微积分时,先补先修再进入本课
原资料涉及的知识
偏导数与切平面近似 · 全微分与多变量链式法则 · 梯度、等值线与方向导数 · 多变量极值与拉格朗日乘子 · 二重积分及变量替换(按需选学) · 三重积分与向量积分定理(研究方向需要时扩展)
学习建议
线代已掌握者先自测第 1 单元,优先完成第 2 单元 A–C 的偏导、链式法则、梯度和约束极值。用纸笔推导一个复合损失函数,再以有限差分检查梯度;这是本站建议的衔接练习。重积分用于连续概率时再补,向量场及积分定理可按研究需要选读,避免重学已熟练的矩阵运算。
访问说明
已核验公开大纲、链式法则单元和第 5 次习题解答资源页;没有逐一播放全部视频或测试在线评分。旧课程页面仍提到 Java Applet/Mathlet,未验证其当前兼容性,学习不依赖这些旧交互工具。

来源:ocw.mit.edu (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Duane Q. Nykamp / Math Insight美国 · 英文

P1 · 重点提升L1 · 基础AI基础开放教材

Math Insight 偏导短读:一次只改变一个量 (新标签页)↗

本次学什么
先把偏导理解为固定其他变量的一维求导,再做一个两变量函数的差分核对。
已学可跳过
跳过更高维例题、方向导数、梯度和可微性反例;这些留给主课程。
展开介绍、学习准备与访问说明

先固定另一个变量,再观察函数沿一个方向怎样变化;把公式里的偏导数对应到图上的局部斜率。

可用资料Partial derivatives are analogous to ordinary derivatives / Partial derivative examples 的 Example 1–3 / 偏导图及 WebGL 部件说明

作者 Introduction to partial derivatives 与前 3 个例题;2026-10-07 核查

对你的帮助
进入多变量微积分前,先弄清“对谁求导、其他量怎么办”,可以减少把不同方向变化混在一起的错误。
开始前要会什么
会计算 x² 这类单变量函数的导数;认识二维坐标和函数值
原资料涉及的知识
偏导数 · 固定变量 · 切片斜率 · 有限差分
学习建议
先读固定温度或固定保温量的解释,再读例题 1–3。自设 f(x,y)=x²y,在 (2,3) 分别求对 x 和对 y 的偏导;所谓前向差分,就是用“函数值增加了多少,除以坐标增加了多少”近似斜率。对 x 算 [f(2+h,3)-f(2,3)]/h;对 y 算 [f(2,3+h)-f(2,3)]/h,h 分别取 0.1 与 0.01。交两个方向的手算与数值表,并写清哪一个变量始终没变。
访问说明
英文正文、例题和图说明公开可读,阅读不依赖视频。三维演示需要 JavaScript/WebGL;本轮未验证拖动或播放。

来源:mathinsight.org (新标签页)↗
核对日期:

概率与统计

从随机变量走向估计、检验与不确定性分析。

完成标准选择概率模型,解释置信区间与检验的假设及适用边界。

推荐主线

浙江大学中国 · 中文

P0 · 必会主线L1 · 基础AI基础高校课程

概率论与数理统计 (新标签页)↗

本次学什么
条件概率、随机变量、常见分布、大数定律、估计与检验。
已学可跳过
已熟练的计算先自测;不要把另一门概率课程列为连续必修。
展开介绍、学习准备与访问说明

从随机现象进入概率分布和统计推断,官方介绍列出九章、六十四讲,覆盖随机变量、极限定理、参数估计、假设检验及回归分析。

可用资料官方 MOOC 课程入口 / 九章课程内容概述 / 教材书目

公开课程页,未标学期

对你的帮助
理解训练数据的不确定性、抽样误差、评估指标和实验结论需要概率统计。它也能帮助区分一次模型输出、样本统计量和可靠的总体判断。
开始前要会什么
微积分
原资料涉及的知识
概率基本概念 · 一元与多元随机变量及分布 · 随机变量的数字特征 · 大数定律与中心极限定理 · 统计量与抽样分布 · 点估计与区间估计 · 假设检验与拟合检验 · 方差分析与回归分析
学习建议
先用掷骰子和抽样模拟对应概率概念,再学习估计与检验。分析模型评估时,明确样本来源、独立性假设、随机种子和重复次数,避免把统计显著直接等同于工程收益。
访问说明
已核验公开课程介绍、内容范围与微积分前置要求。未实测平台内全部视频和作业,不保证当前可免登录学习或获得证书;页面未明确可据以标注的学期。

来源:www.icourse163.org (新标签页)↗
核对日期:

其他来源:替代或选学(5)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

麻省理工学院(MIT)美国 · 英文

P0 · 必会主线L1 · 基础AI基础高校课程

MIT 18.05:概率与统计导论 (新标签页)↗

本次学什么
偏好英文时替代浙大主线;已有基础者仅选贝叶斯或统计推断练习。
已学可跳过
跳过已掌握的分布、随机变量和估计检验基础。
展开介绍、学习准备与访问说明

学习怎样描述随机现象、用样本推测整体,以及判断一次分数变化是否只是运气。课程将概率、统计和数据实验放在一起。

可用资料逐课阅读和课堂活动材料 / 题集与 PDF 答案 / 考试与答案 / R 教程及示例代码 / Open Learning Library 练习检查器入口

2022 春季

对你的帮助
模型准确率、采样波动和 Agent 实验对比都需要概率统计。学完应能区分观察到的分数差异与具有证据支持的改进。
开始前要会什么
官方先修:18.02 多元微积分或相当基础;基础代数;部分实验使用 R;课程提供 R 入门材料
原资料涉及的知识
计数与条件概率 · 随机变量及常见分布 · 贝叶斯推断 · 假设检验 · 置信区间 · 线性回归
学习建议
微积分不足时先补先修,再按条件概率→期望方差→推断学习。用模拟检查一次置信区间的覆盖率;若改用 Python,应自行验证结果,不把改写版本当作官方作业。
访问说明
本版以阅读、讲义、活动和题集为主,未将它标成完整公开视频课。练习检查器所在平台可免费使用,注册用于记录进度;第 11 套题没有检查器。课程实验主要使用 R。

来源:ocw.mit.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Daniel Kunin 等 / Seeing Theory美国 · 英文

P1 · 重点提升L0 · 零基础AI基础交互练习

Seeing Theory:抛硬币、掷骰子,看懂概率与平均数 (新标签页)↗

本次学什么
只做 Basic Probability 的硬币和骰子演示,对照理论概率、出现比例与平均数。
已学可跳过
首轮可跳过方差公式及后续推断章节;不把模拟次数增加理解成误差每一步都缩小。
展开介绍、学习准备与访问说明

用硬币和骰子的模拟结果,观察理论概率、实际出现比例和平均数之间的关系。先看少量结果,再比较次数增加后的变化。

可用资料抛硬币和掷骰子演示 / 可调整的概率条 / 方差演示与章节说明

已归档的 Basic Probability 可视化章节

对你的帮助
为模型评估和随机实验补直觉,特别适合澄清“概率一半”为什么不意味着每十次就一定出现五次。
开始前要会什么
会计算比例和平均数;能阅读简短英文按钮和说明
原资料涉及的知识
概率 · 频率 · 期望 · 随机实验
学习建议
先保持公平硬币设置,分别观察 10 次和再增加 100 次后的正面比例;记录一次偏离预测的结果。随后用骰子比较一次点数和多次平均数,解释平均数为何可以落在骰子不可能直接掷出的数值上。
访问说明
推荐入口为英文版;网站标注已归档。页面可公开阅读,模拟依赖 JavaScript。少量随机结果不是概率规律的证明,也不保证误差随每一步都缩小。

来源:seeing-theory.brown.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Victor Powell、Lewis Lehe / Explained Visually国际项目 · 英文

P1 · 重点提升L1 · 基础AI基础交互练习

Markov Chains:看下一步怎样依赖现在的状态 (新标签页)↗

本次学什么
只操作前面的 A/B 概率滑块,比较停留与切换;再读天气示例。
已学可跳过
页面底部 playground 本轮为空白,可跳过;不将短序列当成长期比例的保证。
展开介绍、学习准备与访问说明

用两个状态之间的移动说明转移概率,再比较容易来回跳和容易留在原地的随机过程。把表格中的一行读成“从当前状态出发,下一步去哪里”。

可用资料双状态动画 / 概率输入控件 / 天气序列对照 / 作者的矩阵解释

指定入门内容与浏览器控件;2026-09-26 核对

对你的帮助
补充 AI 基础里的随机过程直觉。相同的总体比例并不意味着相同的连续变化方式,适合与概率和随机数文章配合。
开始前要会什么
理解概率和比例;能读两行两列的表格
原资料涉及的知识
马尔可夫链 · 状态转移 · 转移矩阵 · 随机模拟
学习建议
先只看 A/B 两个状态:用自己的话说清每一行从哪里出发。随后比较正文中的容易保持原状态的设置与平均切换的设置,记录一次连续停留;不要把单次短序列当成长期比例的保证。
访问说明
双状态动画和概率滑块已实测:将留在 A、B 的概率分别调为 0.9,对应离开概率自动变为 0.1。所选正文可公开阅读;页面底部另一个 playground 在本轮浏览器中为空白,因此只推荐前面的双状态和天气讲解。它不是实际天气预报。

来源:setosa.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

D3 / Mike Bostock、Observable美国 · 英文

P1 · 重点提升L1 · 基础AI基础官方文档

直方图分箱:同一组数换个边界,图会怎样变 (新标签页)↗

本次学什么
固定数据和显示范围,只变明确的箱边界,并核对边界值与范围外的值。
已学可跳过
先跳过三种自动选箱公式、SVG 绘制和完整 D3 课程。
展开介绍、学习准备与访问说明

把几个数逐个放进区间,观察分箱边界、范围和被排除的值怎样影响统计图。

可用资料bin(data) 的 x0/x1 / bin.domain(domain) / bin.thresholds(thresholds)

D3 7 文档(页面标示 7.9.0);本轮使用现有 d3-array 3.2.4,2026-10-07 核查

对你的帮助
比较耗时或模型分数分布时,箱数与范围是图的一部分;先保留原始数字,才能判断图形变化来自数据还是画法。
开始前要会什么
会判断一个数是否落在某区间;能读数组;运行 API 时需一点 JavaScript
原资料涉及的知识
直方图 · 分箱边界 · domain · thresholds · 排除值
学习建议
选八个 0 到 10 之间的数,确保含一个边界数和最大值。保持数据与范围不变,用两套明确边界分箱;逐箱列成员和数量,再加入一个范围外的值。交两张分箱表和排除记录,最后手画对应图。
访问说明
已用现有 d3-array 3.2.4 与 Node.js 24.18.0 实跑两组固定边界,核对八个数的归属及 -1、11、null、NaN 的排除;未绘制或操作浏览器图表。

来源:d3js.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Victor Powell / Explained Visually国际 · 英文

P1 · 重点提升L0 · 零基础AI基础交互练习

条件概率:条件换了,分母为什么也换了 (新标签页)↗

本次学什么
用同一张四格计数表分别回答已知 A 与已知 B,并解释两种分母。
已学可跳过
先跳过完整贝叶斯推导、统计显著性与把短时间落球频率当作精确概率。
展开介绍、学习准备与访问说明

用落球和两块挡板观察不同条件下的比例,把交集相同与分母不同分开看。

可用资料开头的红蓝挡板说明 / world(全体)及两个条件视角 / actual(实际计数)与 expected(理论值)

作者交互图解;2026-10-07 核查

对你的帮助
读分类结果或调查比例时,要先知道数字是在全体中算,还是只在某一类里算。
开始前要会什么
会计算部分除以整体;能分清两个集合与它们的重叠
原资料涉及的知识
条件概率 · 分母 · 交集 · P(A|B)
学习建议
先画四格,分别填“同时属于 A 和 B、只属于 A、只属于 B、两者都不属于”的人数,四格合计 40,并让 A、B 总人数不同。P(B|A) 读作“已知属于 A,再看其中有多少属于 B”,分母用 A 总人数;反过来再算一次。页面只看开头挡板说明,切换 world(全体)、P(B|A)、P(A|B),对照 actual(实际计数)与 expected(理论值)。交四格表、两个计算式和一次观察记录。 调滑块后重新核对 A、B 和交集三个值:改变一项时,页面可能同时调整交集。
访问说明
英文原作者页面公开。本轮实际调节 A 与交集比例,核对 0.25 和 0.5 两种条件结果,并切换两个条件视角;落球和实际计数可见。嵌入评论/广告组件有报错,未验证全部交互或随机频率收敛。

来源:setosa.io (新标签页)↗
核对日期:

机器学习

理解模型如何从数据学习,并检查它对新数据的表现。

完成标准能说明一个预测任务的输入、答案来源和独立检查数据。

推荐主线

Google for Developers美国 · 中文

P0 · 必会主线L1 · 基础AI基础工程课程

机器学习速成课程:用图和小练习理解模型 (新标签页)↗

本次学什么
先按先修说明做好准备,再学回归、分类、数据切分和泛化,用小练习检查模型对新数据的表现。
已学可跳过
已能独立完成这些基础练习时,直接选 CS229 或 CS189 深入;速成课不替代后续的数学推导与完整算法训练。
展开介绍、学习准备与访问说明

从回归与分类开始,用图和练习说明模型怎样学习,以及为什么训练成绩好仍可能答错新问题。

可用资料中文讲解 / 交互图 / 练习与 Colab 入口

中文课程入口;按模块选学

对你的帮助
给偏理论的高校机器学习课程补一条较容易开始的中文路线。
开始前要会什么
已有编程经验,能独立完成小程序并阅读 Python 代码;熟悉变量、线性方程、函数图像、直方图和统计平均值;按课程准备说明补矩阵乘法、NumPy 和 pandas;高级主题的微积分可后补
原资料涉及的知识
回归与分类 · 训练数据 · 过拟合 · 模型评估 · 数据质量
学习建议
先看先修说明,再学回归、分类与数据切分。小练习:写出一个预测任务,列出输入、答案来源,以及哪些数据只留到最后检查;解释为何不能用考试题反复改模型。
访问说明
课程页面公开,部分练习使用 Colab,账号与访问条件按练习说明确认。中文入口不代表所有视频都是中文。

来源:developers.google.com (新标签页)↗
核对日期:

其他来源:替代或选学(8)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

斯坦福大学(Stanford)美国 · 英文

P0 · 必会主线L1 · 基础AI基础高校课程

Stanford CS229:机器学习(SEE 公开版) (新标签页)↗

本次学什么
完成基础练习后,用推导与作业深入监督和无监督学习、正则化与模型选择;基础已熟练者可直接从这里开始。
已学可跳过
先完成概率和线代等数学先修;与 CS189 选一套深入,不必重新刷完 Google 的基础模块。
展开介绍、学习准备与访问说明

Andrew Ng 的经典机器学习公开课程,围绕监督学习、概率建模、学习理论和无监督学习建立完整的基础框架。

可用资料20 节公开讲课视频入口 / HTML 与 PDF 文字稿 / 详细讲义与数学复习笔记 / 4 套作业、数据和参考答案

公开课程页,未标学期

对你的帮助
适合作为数学基础后的机器学习主线,补上损失函数、泛化和模型选择的推导,帮助理解训练失败的原因,而不只会调用库。
开始前要会什么
能独立编写非简单程序;基础概率论;基础线性代数;建议掌握导数和梯度,以跟随优化推导
原资料涉及的知识
线性与逻辑回归 · 生成式分类与 SVM · 正则化和模型选择 · 学习理论 · 聚类、EM 与 PCA · 强化学习与控制
学习建议
先学线性回归、逻辑回归和正则化,完成一套作业后再扩展。可自行用 Python 重写小实验并与推导核对;CS189 和 CMU 10-701 作为替代或补充,不必三门从头重复。
访问说明
这是 Stanford Engineering Everywhere 的经典旧版,入口未明确标注学期,不冒称当年 CS229。配套含 Matlab/Octave 资料;不代表现代 PyTorch 或大模型训练课程。

来源:see.stanford.edu (新标签页)↗
核对日期:

替代主线 · 选择一条即可

加州大学伯克利分校(UC Berkeley)美国 · 英文

P1 · 重点提升L2 · 进阶AI基础高校课程

UC Berkeley CS189/289A:机器学习导论 (新标签页)↗

本次学什么
具备多元微积分、线代、概率和 Python 基础后,可用本课替代 CS229,完成推导与编程作业。
已学可跳过
回归、分类、模型选择和聚类等与 CS229 重叠,两门选一套完整完成即可。
展开介绍、学习准备与访问说明

兼顾数学和 Python 实验的机器学习课程,从数据、概率模型与回归推进到深度学习和生成模型。

可用资料官方链接的 YouTube 课程播放列表 / 逐讲 PDF 与讨论材料 / 作业 notebook、Colab 和数据材料入口 / 课程内容 GitHub 仓库

2025 秋季

对你的帮助
适合已能看懂梯度和矩阵的学习者,用更完整的数据实验训练模型选择、偏差方差分析与算法实现能力。
开始前要会什么
多元微积分及多元链式法则;线性代数;概率与离散数学;能编写、调试较复杂的 Python 程序
原资料涉及的知识
数据处理与 ML 问题定义 · K-means 和高斯混合模型 · 回归与偏差方差权衡 · 分类与神经网络 · 表示学习 · 生成模型
学习建议
可作为 CS229 的替代主线;已学过 CS229 者优先做数据处理、偏差方差和 notebook 作业。记录训练集与验证集的分数,保留误差分析,而不是只看最终准确率。
访问说明
公开课表和部分作业材料可用于自学。指定教材的校内电子书入口要求 CalNet 登录;Gradescope、课堂互动及部分云端操作属于课程平台流程,不能据此承诺校外评分或全部免登录。

来源:eecs189.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

南京大学中国 · 英文

P1 · 重点提升L2 · 进阶AI基础高校课程

高级机器学习(Advanced Machine Learning) (新标签页)↗

本次学什么
仅补尚未掌握的决策树与集成、特征选择和半监督学习专题。
已学可跳过
CS229 已掌握的回归、分类、聚类和基础降维按自测跳过。
展开介绍、学习准备与访问说明

李宇峰面向计算机专业硕士开设的机器学习课程,公开课件目录与两项作业说明入口,涵盖模型选择、经典学习模型和更进一步的学习方法。

可用资料公开课程信息 / 讲义目录与 PDF 入口 / 专题调研作业说明入口 / 数据集学习作业说明入口 / 教材书目

2025 年公开课程(作业截止日期为 3 月、5 月)

对你的帮助
适合完成基础数学和入门建模后系统检查知识框架,特别是模型选择、集成和特征处理,避免把机器学习学习路线缩减为调用某一个神经网络框架。
开始前要会什么
线性代数;概率统计与微积分;基础机器学习概念;能够用一种语言处理数据与实现简单模型
原资料涉及的知识
模型选择 · 线性模型与支持向量机 · 神经网络、决策树和贝叶斯模型 · 集成学习 · 聚类 · 降维与特征选择 · 半监督学习
学习建议
以一个小型表格数据集串联线性模型、树与集成模型,统一训练验证划分。先复现合理基线,再讨论参数选择和特征处理;把调研作业转化成自己的方法比较笔记。
访问说明
课程面向硕士,非零基础入门。公开课程信息和课件目录使用英文,指定教材为中文《机器学习》;本条语言按已核验页面标注,未核验授课录像语言。部分 PDF 抓取超时,不宣称所有文件均已下载验证。

来源:cs.nju.edu.cn (新标签页)↗
核对日期:

定向补充 · 只学指定内容

卡内基梅隆大学(CMU)美国 · 英文

P2 · 按需深入L3 · 深入AI基础高校课程

CMU 10-701:机器学习导论(研究生理论路线) (新标签页)↗

本次学什么
研究方向选择学习理论推导和项目论证,训练假设、结论和证据的对应关系。
已学可跳过
不再完整重复入门算法;只在推导缺口出现时回查基础模型。
展开介绍、学习准备与访问说明

面向具备较强数学和计算机基础的学习者,系统推导机器学习算法,并训练理论分析与实验设计。

可用资料公开讲义及部分批注版 / 习题课讲义和答案 / 6 套作业题目入口 / 项目要求与阅读清单

2025 秋季

对你的帮助
适合作为准备读论文、研究训练算法的补充。对于 Java 后端就业主线,优先完成一门基础 ML 课程及项目,再选读本课理论章节。
开始前要会什么
能独立编写数百行规模程序;作业要求 Python;概率统计;离散数学与证明能力;大学微积分和线性代数
原资料涉及的知识
回归、分类与 MLE/MAP · 模型选择与正则化 · 神经网络和 Transformer · 聚类与降维 · 学习理论 · 集成学习、核方法与强化学习
学习建议
不要与 CS229、CS189 同时从头刷。基础完成后选学习理论、核方法或实验设计,独立写出推导,并以小数据实验检查假设失效时模型如何变化。
访问说明
官网把本课定位于博士层次基础课;虽名为导论,先修要求很强。录像托管 Panopto,未核实其对校外匿名用户开放,不将其列为公开视频;Gradescope 提交与校内服务另有权限。

来源:www.cs.cmu.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Amazon MLU / Jared Wilber、Lucía Santamaría美国 · 英文

P1 · 重点提升L1 · 基础AI基础交互练习

MLU Explain:一步步看决策树怎样分类 (新标签页)↗

本次学什么
先跟随树干高度和粗细的分类图,再移动一条划分边界,追踪一个点经过的判断。
已学可跳过
首次可跳过熵公式和 ID3 细节;不急着创建云服务或安装源码开发环境。
展开介绍、学习准备与访问说明

根据树干高度和粗细把点分成几组,观察每次划线怎样变成一条判断规则。随后查看分得过细时出现的问题。

可用资料随滚动推进的分类图解 / 可移动的划分边界 / 样本混合程度与信息增益演示

Decision Trees 图解;项目源码已于 2026-03-06 归档

对你的帮助
把机器学习中的分类模型还原成连续的“如果……就……”判断,能帮助读者理解训练是在选择规则,而不是给每个问题手写答案。
开始前要会什么
会读横轴和纵轴;理解条件判断;知道训练数据是带有示例答案的数据
原资料涉及的知识
决策树 · 分类 · 训练数据 · 过拟合 · 划分规则
学习建议
先只读 Let's Build a Decision Tree 到 Don't Go Too Deep。沿一个点画出经过的判断,再到边界演示移动一次划线,记下左右两组如何改变;最后用一句话解释为什么训练图上分得更细,不代表新数据一定分得更准。
访问说明
英文图文可公开阅读,交互需要 JavaScript;所选页面不要求创建云资源。源码仓库已归档,适合作为概念图解,不能替代对真实新数据的测试。

来源:mlu-explain.github.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Daniel Smilkov、Shan Carter / Playground 开源项目美国 · 英文

P1 · 重点提升L0 · 零基础AI基础交互练习

Playground:看神经网络怎样把两种点分开 (新标签页)↗

本次学什么
保留初始设置,读取两项 loss,点击 Step 后再次读取;随后勾选 Show test data,辨认测试点与预测背景。 完成后:记录一次单步前后的训练误差与测试误差,并指出哪一组点用于测试;不把一次误差下降写成未来一定更准。
已学可跳过
首轮跳过正则化、手动编辑权重及复杂数据集。
展开介绍、学习准备与访问说明

把训练过程画成一片不断变化的颜色。先看两种颜色的点,再点一次 Step,观察模型的预测背景和误差怎样变化,不用先写训练代码。

可用资料浏览器交互画布 / 单步训练按钮 / 训练与测试误差显示 / 作者的颜色含义说明

在线交互版;2026-09-26 核验

对你的帮助
适合给“模型从例子中学习”建立直觉。既有机器学习速成课提供系统讲解,这里补一个可直接操作的独立实验入口。
开始前要会什么
能看懂平面上的两类点;知道误差用来衡量预测与目标的差别
原资料涉及的知识
二分类 · 训练误差与测试误差 · 神经网络可视化
学习建议
保留初始数据与设置,先记录 Training loss 和 Test loss,再点几次 Step。一次只改一个设置。颜色表示这个玩具模型的数值与预测,不能把颜色深浅当作经过校准的现实正确率。
访问说明
英文公开页面,本次无需登录即可运行;需要启用 JavaScript。无需安装 TensorFlow。项目由 Google 团队成员发起,但帮助页明确说明它不是 Google 官方产品,也不提供 Google 产品支持。

来源:playground.tensorflow.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Cleanlab 文档团队美国及国际开源社区 · 英文

P1 · 重点提升L2 · 进阶AI基础官方文档

Cleanlab:把可疑标签找出来,再由人核对 (新标签页)↗

本次学什么
读标签问题表,为三条可疑样本写人工复核依据;不直接改标签。
已学可跳过
自动清洗、重新训练、总体健康分。
展开介绍、学习准备与访问说明

从作者的合成数据图和问题表,认识错标、离群点与近似重复,并学习怎样安排人工复核。

可用资料合成数据散点图 / Datalab 问题表 / 标签质量排序示例

stable 教程;2026-09-28 核验

对你的帮助
评测不只检查模型,参考标签也可能有问题;工具给出的可疑项需要回到材料逐条确认。
开始前要会什么
理解分类标签与预测概率;理解训练数据和未用于训练的样本有区别
原资料涉及的知识
数据质量 · 标签检查 · 人工复核 · 样本外预测
学习建议
先看 Workflow 1 的问题表,再看 Workflow 3 的圈点图。挑三条疑似错标,写出还需哪份原始材料才能确认。留意预测概率须来自未用该样本训练的模型;低分也可能表示样本含糊。首轮跳过自动改标签、重新训练和总体健康分,不因模型不同意就删数据。
访问说明
页面与结果表公开可读。完整运行需要 cleanlab、scikit-learn 等依赖;本轮未安装或训练。图上结果属于作者的合成数据,不能作为自有数据的效果承诺。

来源:docs.cleanlab.ai (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Martin Wattenberg、Fernanda Viégas、Ian Johnson / Distill美国 · 英文

P1 · 重点提升L2 · 进阶AI基础论文与研究

t-SNE 图解:图上分成几团,就能证明数据有几类吗 (新标签页)↗

本次学什么
先读第 1—3 节,比较参数、团块在图上占据的范围与团块间距离,再看随机噪声反例。
已学可跳过
先跳过拓扑案例和底层优化推导;不要把二维图直接当作聚类质量评分。
展开介绍、学习准备与访问说明

用简单点集说明 t-SNE 图形怎样受参数和迭代影响,以及为什么不能直接把团块在图上占据的范围和彼此间距当成原数据的样子。这里讨论范围,不是否定图中的点数。

可用资料原作者图解论文 / 简单点集与多参数对照图 / 附带交互图和文章源码链接

How to Use t-SNE Effectively(2016);核对 2026-10-03

对你的帮助
为查看向量、特征和模型表示的散点图补上解释边界,减少“画出几团就证明分类有效”的误判。
开始前要会什么
认识散点图与数据特征;知道把多个特征压到二维会改变部分信息
原资料涉及的知识
降维可视化 · t-SNE · perplexity · 图形误读 · 重复运行
学习建议
先读第 1—3 节,比较同一输入在三个 perplexity 参数下的结果。记录团块在图上占据的范围(不是点数)和间距,把看到的现象与能证明的事实分栏;再看随机噪声例子,不急于给真实数据贴类别标签。
访问说明
公开正文与参数对照说明可读;本轮未启动交互计算,也未复现文中数据。属于 2016 年方法解读,不是当前软件 API 教程。

来源:distill.pub (新标签页)↗
核对日期:

凸优化与最优性

新增约束建模、对偶与最优性分析能力。

完成标准判断一个问题的凸性,给出最优性条件并检查数值解的可行性。

推荐主线

斯坦福大学(Stanford)美国 · 英文

P1 · 重点提升L3 · 深入AI基础高校课程

Stanford EE364A:凸优化与最优性分析 (新标签页)↗

本次学什么
凸集、凸函数、约束优化、对偶、最优性和求解方法。
已学可跳过
线代和通用 ML 不重学;用熟悉的回归模型自测建模,神经网络非凸情形不能直接套用全局结论。
展开介绍、学习准备与访问说明

从凸集、凸函数走向问题建模、最优性条件、对偶理论和数值求解,训练识别并可靠求解凸优化问题的能力。

可用资料课程大纲与先修说明 / 修订讲义 PDF / 教材官方下载入口 / 补充练习与示例代码入口

2025–2026 学年夏季课程主页;公开教材与修订讲义

对你的帮助
新增成果是判断问题是否凸、利用对偶与最优性条件检查解,并把约束和正则项转为可求解模型。相比 ML 入门中的梯度下降概述,本课补充优化理论与建模训练;神经网络训练通常非凸,不能直接套用凸问题的全局最优结论。
开始前要会什么
熟练线性代数与概率基础(官网明确要求);基本 Python 编程,以使用课程采用的 CVXPY;建议先掌握多变量求导、梯度和拉格朗日乘子
原资料涉及的知识
凸集、凸函数与凸性判别 · 线性规划、二次规划与半定规划 · 约束建模与 disciplined convex programming · 对偶问题、最优性条件与可行性 · 无约束、等式约束及内点求解方法 · 统计学习和资源分配中的优化建模
学习建议
先学凸集、凸函数、优化问题及对偶部分;将熟悉的岭回归作为建模自测,只在不理解时回看线代或 ML 推导。再研究约束求解和内点方法,用 CVXPY 与自己实现的小规模算法对照可行性和目标值。新增练习成果应包括凸性说明、约束检查及求解误差分析,避免把本课变成又一轮通用 ML 入门。
访问说明
课程主页、修订讲义和教材下载入口公开。当季课堂录像面向已选课学生,作业提交使用 Gradescope;不提供社会学习者的评分服务。教材完整习题答案需教师申请。

来源:web.stanford.edu (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Christoph Lippert / HealthML Mathematics for Machine Learning德国 · 英文

P1 · 重点提升L1 · 基础AI基础开放教材

凸集小练习:连线有没有跑到边界外 (新标签页)↗

本次学什么
只学凸集定义和连线反例,先用二维坐标理解全部线段必须留在集合内。
已学可跳过
跳过整本教材、Python 环境、凸函数、Hessian、对偶和求解器。
展开介绍、学习准备与访问说明

在图形里选两点,再检查连接它们的整条线段。用一个反例区分“看起来像凸集”和真正满足定义。

可用资料凸与非凸多边形的两张图 / t x+(1-t)y 的定义 / 可展开的画图源码

Math4ML Convex sets 单节,作者网页;2026-10-07 核查

对你的帮助
判断约束允许哪些解,是优化建模的起点;先用二维图理解凸性,再进入抽象的最优性条件。
开始前要会什么
会读平面坐标与线段;会计算两个坐标的加权平均
原资料涉及的知识
凸集 · 线段 · 凸组合 · 反例
学习建议
只读两张图和定义。先在单位正方形中任选两点,计算 t=0、0.25、0.5、0.75、1 的线段点;再在 1≤x²+y²≤4 的圆环中找两点,使中点落进孔里。交点坐标与图,说明一个反例能否定凸性,但检查有限几条线段不能证明所有情况。
访问说明
作者英文单节、静态图和 Python 画图代码公开;仅本节需要基础坐标运算,整本教材另有线代与微积分先修。本轮未运行其 Python 代码。

来源:healthml.github.io (新标签页)↗
核对日期:

深度学习基础

一次建立反向传播、训练流程和常用网络的基础。

完成标准从零训练一个小模型,记录梯度和过拟合;保持其他条件不变,只去掉或更换一个部分,记录差异(消融实验)。

推荐主线

复旦大学中国 · 中文

P0 · 必会主线L2 · 进阶AI基础高校课程

神经网络与深度学习(课程配套开放教材) (新标签页)↗

本次学什么
计算图、反向传播、优化与基础网络;配合代码和练习巩固。
已学可跳过
线代、链式法则和概率先修不在此重复整课讲解。
展开介绍、学习准备与访问说明

从一个小神经网络怎样计算和学习讲起,再介绍图像、文本和大语言模型。数学讲解较完整,可以和配套 PyTorch 小实验一起学。

可用资料开放教材 PDF / 章节习题 / PyTorch 实践资源 / 可视化资源入口

第二版开放材料(页面标注 2026、即将出版)

对你的帮助
适合作为本站深度学习与大模型训练路线的理论参考:先解释损失与梯度,再理解具体网络结构,最后进入语言模型和 Agent。
开始前要会什么
线性代数、微积分与概率基础;Python 基础;基础机器学习概念
原资料涉及的知识
机器学习与线性模型 · 前馈、卷积和循环网络 · 网络优化与正则化 · 注意力与 Transformer · 无监督学习与生成模型 · 大语言模型与智能体 · 数学基础附录
学习建议
先按第一部分完成小型网络的前向、反向与优化实验,再读注意力章节。每章至少用一个可解释的小输入核对形状和梯度;LLM 与智能体部分作为后续拓展,不要求初学者一次全部掌握。
访问说明
正文 PDF 和配套实践入口公开。主页现为系列书导航,第二版专页仍标“即将出版”;公开 PDF 不等于已经正式出版。数学暂不熟悉时,可先看同站通识版。

来源:nndl.ai (新标签页)↗
核对日期:

其他来源:替代或选学(7)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

麻省理工学院(MIT)美国 · 英文

P1 · 重点提升L1 · 基础AI基础高校课程

MIT 6.S191:深度学习导论 (新标签页)↗

本次学什么
时间有限时用短课快速入门或诊断;掌握不足的部分再回到主线深入。
已学可跳过
它是短期替代,不要求在完整基础课后从头重学,也不等同于完整深度训练。
展开介绍、学习准备与访问说明

以较短的课程串联神经网络、序列建模、视觉、生成模型和强化学习,并配套 Python 实验。

可用资料2026 课表链接的公开讲课视频 / 讲课幻灯片 / 官方 GitHub 三组软件实验 / Colab notebook

2026 版公开材料(课表日程为 3 月 30 日至 5 月 25 日)

对你的帮助
适合在数学与 Python 入门后建立深度学习全景,再决定深入 NLP、视觉还是模型训练;并非无需基础的零门槛速成。
开始前要会什么
基础线性代数:矩阵乘法;基础微积分:求导与链式法则;Python 经验有帮助;建议先能独立运行 notebook
原资料涉及的知识
神经网络与训练 · 序列建模 · 计算机视觉 · 生成模型 · 深度强化学习 · 大模型微调实验
学习建议
先完成 Lab 1 的张量、训练和序列实验,画出损失曲线并检查生成样本。其余实验按方向选择;遇到算力要求先做小规模验证,再决定是否扩展。
访问说明
官方代码仓库当前说明为 2026 版,Colab 运行需要 Google 账号,并指导使用 GPU;公开代码不保证免费 GPU 配额或实验始终兼容最新环境。代码更新时应记录 commit。

来源:introtodeeplearning.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

卡内基梅隆大学(CMU)美国 · 英文

P1 · 重点提升L2 · 进阶AI基础高校课程

CMU 11-785:深度学习 (新标签页)↗

本次学什么
只选完整模型实现、实验对比与研究项目,强化训练排错。
已学可跳过
已掌握的 MLP、CNN、RNN 与基础梯度按诊断跳过;不再完整刷一轮基础课。
展开介绍、学习准备与访问说明

通过神经网络基础、序列与注意力模型以及较重的实现任务,训练独立构建、调试和改进深度学习模型的能力。

可用资料官方面向校外学习者的 YouTube 录像 / 讲课与习题课幻灯片 / 课程笔记 / 作业材料及项目要求

2025 春季

对你的帮助
适合希望超出模型 API 调用、认真掌握训练过程的学习者;能补上张量实现、梯度、实验记录和模型误差分析。
开始前要会什么
Python 3 编程;能学习和使用 NumPy、PyTorch;微积分求导与链式法则;线性代数和基础概率
原资料涉及的知识
多层感知机 · 梯度与优化 · 卷积和序列模型 · 注意力与序列到序列 · 模型实现与消融实验 · 课程研究项目
学习建议
先用一小批样本训练简单网络,确认程序能学会这批数据,再做完整任务。保存最简单版本的结果,每次只去掉或加入一个改动,看看它是否真有帮助。已有语言模型基础者可按自己的实现弱项选学。
访问说明
官网明确校外学习者可通过 YouTube 查看讲课和习题课录像,标为 Old 的视频属于旧版本。MediaServices 出勤、AutoLab、Piazza 和课程竞赛评分不等同于公开自学服务;实验算力需自行准备。

来源:deeplearning.cs.cmu.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

D2L 作者团队与开源社区国际社区 · 英文

P1 · 重点提升L1 · 基础AI基础开放教材

动手学深度学习 D2L:模型构造与状态保存实验 (新标签页)↗

本次学什么
仅做第 6.5—6.6 节:自定义层、参数注册和状态保存,用小实验检验能否独立组织模型代码。
已学可跳过
不从头重刷线代、反向传播、CNN、RNN 或 Transformer;主线已经做过同样模型构造任务时直接跳过。
展开介绍、学习准备与访问说明

从作者提供的自定义层与文件读写代码出发,练习把数学操作封装成模型组件,以及保存、加载模型参数。

可用资料作者维护的开放在线书 / PyTorch 等框架代码分支 / 章节练习与示例结果

英文在线书 1.0.3,第 6.5—6.6 节选学

对你的帮助
补充深度学习理论课的代码构造能力,交付可检验的模型组件,而不重新安排一整套深度学习入门。
开始前要会什么
Python 类与函数;张量、自动微分和基本网络概念
原资料涉及的知识
自定义无参数层 · 自定义可训练层 · 组合网络组件 · 张量文件读写 · 模型状态保存与加载
学习建议
只选 PyTorch 分支。实现一个可训练层并验证输出形状和梯度,再保存参数、重建模型并比较加载后的输出;自行补充空输入与异常维度测试,不把这一小实验当成完整训练恢复方案。
访问说明
在线书与代码可直接阅读。本条只需小规模张量和网络实验,可优先使用本机 CPU;全书更大型训练或云 GPU 可能产生费用。书中依赖版本应与本地环境核对,未承诺当前所有 Notebook 均已实跑或提供自动评分。

来源:d2l.ai (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Grant Sanderson / 3Blue1Brown;文字改编 Josh Pullen美国 · 英文

P1 · 重点提升L0 · 零基础AI基础开放教材

3Blue1Brown:用手写数字看懂神经网络的一层 (新标签页)↗

本次学什么
先看 Neurons 的网络图,再读 How Information Passes Between Layers 中正负权重的像素图。 完成后:画出一个神经元接收两个输入的简图,在图上标出权重、相加、偏置与激活函数的位置,并注明这是该课的示例结构。
已学可跳过
先跳过矩阵记法、完整训练算法与视频;不要求逐张识别手写数字。
展开介绍、学习准备与访问说明

从一张手写数字图出发,把像素、神经元、权重和输出连起来。先看一张网络图:左边输入亮度数字,右边为不同数字类别给出输出,中间通过计算逐层传递。

可用资料原作者图文讲解 / 神经网络分层示意图 / 权重颜色图 / 原作视频入口

2017 年第 1 课;作者站图文版于 2026-09-26 核验

对你的帮助
给“参数很多的函数”一个可见的样子。它解释网络内部的一层怎样计算,与 Playground 观察整个训练过程互相补充。
开始前要会什么
会做加法与乘法;知道图片可以看成许多像素
原资料涉及的知识
神经元 · 权重与偏置 · 前向计算 · 激活函数
学习建议
先读 Neurons 和 How Information Passes Between Layers,选一个输出节点,追踪它怎样接收前一层的数值。本课使用特定的 Sigmoid 网络;节点数值范围和“边缘、圆圈”的解释不能直接推广到所有神经网络。
访问说明
英文图文正文无需登录,本次已确认网络示意图可见。页面另有视频与手写交互;部分视频在本次访问中仍缓冲,未把视频播放或手写识别成功作为阅读前提。

来源:www.3blue1brown.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Keras 文档团队国际开源社区 · 英文

P1 · 重点提升L1 · 基础AI基础官方文档

Keras:一轮训练里有多少批、多少次更新 (新标签页)↗

本次学什么
为十条数据画批次账本,声明末批策略,再区分批次步与更新次数。
已学可跳过
编译优化、分布式训练和性能比较。
展开介绍、学习准备与访问说明

对照 batch_size、epochs、steps_per_epoch 与 initial_epoch,读懂训练循环的计数口径。

可用资料Model.fit 参数定义 / 数据迭代终止条件 / Adam 梯度累积参数说明

Keras 3 API;2026-09-28 核验

对你的帮助
把“训练十轮”拆成可检查的数据批次;设置每轮步数或梯度累积后,不能再凭轮数猜更新次数。
开始前要会什么
知道训练会分批处理样本;能阅读函数参数名
原资料涉及的知识
Epoch · Batch · 训练步数 · 梯度累积
学习建议
先读 fit 的 batch_size、epochs、initial_epoch、steps_per_epoch。给十条数据画每批四条的账本,先声明保留末批、每批更新一次;再讨论主动截短一轮会改变什么。另看 Adam 的 gradient_accumulation_steps,分开计批次与参数更新。首轮跳过编译优化、分布式训练和性能比较。
访问说明
API 正文公开可读,纸上计数无需安装。实际训练需 Keras 和支持的后端;本轮未运行。参数语义按 Keras 3 解释,不当作所有框架的统一契约。

来源:keras.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

《动手学深度学习》作者团队中国及国际作者团队 · 中文

P1 · 重点提升L1 · 基础AI基础开放教材

动手学深度学习:步子变大,为什么反而离目标更远 (新标签页)↗

本次学什么
只算平方函数的前三步,比较两种学习率并保存 x、x² 对照表。
已学可跳过
泰勒展开证明、牛顿法、多维推导和整本教材安装。
展开介绍、学习准备与访问说明

用平方函数观察参数怎样一步步移动,比较学习率小时的缓慢靠近与过大时的来回跳动。

可用资料一维更新公式 / 平方函数代码 / 不同学习率的曲线图

中文 2.0.0;只选 11.3.1 一维梯度下降

对你的帮助
先把一次参数更新算明白,再理解训练中的学习率;无需从整套神经网络开始。
开始前要会什么
知道平方和正负数;愿意把导数先理解为当前位置的变化率
原资料涉及的知识
梯度下降 · 学习率 · 一维函数 · 更新轨迹
学习建议
先看 11.3.1 的 f(x)=x² 与 x←x−η·2x,其中 η 是学习率,决定每一步迈多大。从 x=10 出发,分别取 η=0.2 和 1.1,记录前三步的 x 与 x²,交一张对照表。首轮跳过泰勒展开证明、牛顿法和多维推导;简单函数上的结果不保证真实网络每步都下降。
访问说明
中文正文和图公开可读,无需账号。整页绘图代码依赖 d2l 和相应框架;纸上或标准库循环计算无需安装它们。配套标准库小练习不依赖教材的绘图环境。

来源:zh.d2l.ai (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Gabriel Goh / Distill美国 · 英文

P1 · 重点提升L2 · 进阶AI基础论文与研究

Distill:带一点历史方向,下降路线会怎样变 (新标签页)↗

本次学什么
用两步更新图区分当前梯度与历史状态;仅在控件可用时补观察轨迹。
已学可跳过
特征分解、最优收敛率与真实模型速度结论。
展开介绍、学习准备与访问说明

沿二次函数上的轨迹,观察动量怎样利用之前的方向,以及为什么它也会引起振荡。

可用资料作者图解 / 步长与动量参数示例 / 二次函数上的更新公式

Why Momentum Really Works,2017 年作者原文

对你的帮助
给优化器的“历史状态”一个可观察的例子,补上单纯滚小球比喻解释不了的行为。
开始前要会什么
理解梯度下降的一步更新;能区分当前梯度与上一步保存的数值
原资料涉及的知识
动量 · 优化轨迹 · 学习率 · 二次函数
学习建议
先看开头轨迹和 First Steps,再对照动量的两行更新式。保持步长相同,画出 β=0 与 β>0 时第二步会用到哪些旧值;若本机控件能用,再记录一组轨迹变化。首轮跳过特征分解证明和最优收敛率,不把动量解释成永远更快或永不振荡。
访问说明
作者原文公开可读;若本机无法使用互动控件,可先对照更新式阅读静态图。理论示例是简化函数,不能直接当作真实模型训练速度的结论。

来源:distill.pub (新标签页)↗
核对日期:

经典 AI 与规划

补齐搜索、约束和概率推断,为 Agent 决策提供算法工具。

完成标准比较启发式搜索策略,或用约束和概率模型解决一个小任务。

推荐主线

加州大学伯克利分校(UC Berkeley)美国 · 英文

P1 · 重点提升L1 · 基础AI基础高校课程

UC Berkeley CS188:人工智能导论 (新标签页)↗

本次学什么
启发式搜索、对抗搜索、约束满足、贝叶斯网络与概率推断。
已学可跳过
MDP 和强化学习基础由强化学习主题承担;已有的数据结构与概率基础只按需复习。
展开介绍、学习准备与访问说明

用搜索、决策、概率推断和强化学习理解智能系统,并通过 Pacman 项目把策略真正写成可测试的程序。

可用资料课表中的讲义和视频入口 / 2018 版补充讲课录像 / 课程在线教材 / 讨论题及答案 / 公开 Pacman 项目与本地 autograder

2025 秋季

对你的帮助
为 Agent 的规划、状态表示和不确定性提供算法基础。课程中的 Agent 多是经典决策程序,不能直接等同于调用大模型的工具助手。
开始前要会什么
已有编程和基础数据结构经验;命题逻辑与概率基础;官方建议具备 CS61A、CS61B、CS70 相当背景;Python 可通过 Project 0 补习
原资料涉及的知识
BFS、UCS 与 A* 搜索 · 对抗搜索和约束满足 · 马尔可夫决策过程 · 强化学习 · 贝叶斯网络与隐马尔可夫模型 · 概率推断
学习建议
先做 Project 0 和搜索项目。用同一张迷宫比较广度优先搜索(BFS)、按路径成本搜索(UCS)和带方向估计的 A*:各检查了多少位置,能否找到最短路线。再学习有奖励的决策任务,写清状态、可选动作和得分规则。
访问说明
2025 秋季归档页同时链接旧版视频,观看时应核对标题年份。Project 1 明确支持在本地运行 autograder;正式提交和评分使用 Gradescope,不等于公开自学者享有在校评分。

来源:inst.eecs.berkeley.edu (新标签页)↗
核对日期:

视觉与多模态

在深度学习基础上选修视觉任务及跨模态研究。

完成标准实现一个视觉任务并做误差分析,按目标阅读自监督或多模态论文。

推荐主线

斯坦福大学(Stanford)美国 · 英文

P1 · 重点提升L2 · 进阶AI基础高校课程

Stanford CS231n:深度学习与计算机视觉 (新标签页)↗

本次学什么
视觉网络、任务与实验;自监督、扩散和视觉语言内容按研究目标选学。
已学可跳过
线性分类、Softmax、反向传播与基础优化器已在 DL 完成时直接跳过。
展开介绍、学习准备与访问说明

从图像分类、反向传播和卷积网络逐步进入注意力、生成模型与视觉语言模型,强调训练和实现细节。

可用资料2025 讲义与课程笔记 / Python、反向传播、PyTorch 复习 Colab / 3 套含编程和书面题的作业 / 项目要求与参考阅读

2025 春季

对你的帮助
适合通过直观图像任务理解深度学习,也为多模态 Agent 提供背景;只做文本后端应用时可先选读核心训练章节。
开始前要会什么
Python 与 NumPy;微积分和矩阵运算;基础概率统计;建议已有基本机器学习概念
原资料涉及的知识
线性分类与 Softmax · 反向传播和优化 · CNN 与正则化 · RNN 与 Transformer · 自监督与扩散模型 · 视觉语言模型
学习建议
先做 Assignment 1 的分类与反向传播,确认梯度检查和验证集表现,再推进 CNN 或 Transformer。多模态方向读后半程;无需为学习文本 Agent 完整跑完所有视觉任务。
访问说明
2025 当年讲课视频通过 Stanford Canvas 提供,官网注明仅注册学生可访问。公开讲义和作业可自学;Colab 需要相应账号及运行资源,正式提交使用 Gradescope。

来源:cs231n.stanford.edu (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Georgia Tech、Oregon State / CNN Explainer 作者团队美国 · 英文

P1 · 重点提升L1 · 基础AI基础交互练习

CNN Explainer:移动小窗口,观察输出格子怎样变化 (新标签页)↗

本次学什么
只操作 Convolutional Layers 下的 Understanding Hyperparameters 方格实验,固定其余设置后比较 Stride。 完成后:固定输入 5×5、窗口 3×3、填充 0,分别记录步长 1 和 2 的输出尺寸,并在纸上画出两种移动位置。
已学可跳过
先跳过上传图片、网络训练、完整分类准确率及“哪个设置一定更好”的推断。
展开介绍、学习准备与访问说明

在方格上移动一个小窗口,观察卷积怎样从局部输入生成输出。先做页面下方的尺寸实验,只改变窗口每次移动几格,就能看到输出网格的大小改变。

可用资料卷积尺寸交互方格 / 预设图片与网络图 / 逐层计算说明 / 作者公开源码说明

Tiny VGG 教学网络与尺寸小实验;2026-09-26 核验

对你的帮助
让卷积核、步长这些词有具体画面。不必先运行图像训练项目,也能分清窗口大小和移动步长是两个设置。
开始前要会什么
能数方格的行与列;知道图片由像素组成
原资料涉及的知识
卷积窗口 · 步长 · 填充 · 图像分类
学习建议
找到 Convolutional Layers 下的 Understanding Hyperparameters:设 Input Size=5、Padding=0、Kernel Size=3,比较 Stride=1 与 2 的输出格子。只解释尺寸和移动方式,不能由这张小图断定某个步长的模型准确率更高。
访问说明
英文公开页面,浏览器启用 JavaScript 即可开始;无需上传自己的图片或安装 Python。本次主网络最初加载较慢,随后正常呈现;尺寸控件已验证响应。视频不是完成本项的必要条件。

来源:poloclub.github.io (新标签页)↗
核对日期:

强化学习

从序贯决策基础进入深度方法与研究专题。

完成标准解释 Bellman 关系,在小环境中实现一个用于比较的参考方案(基线),再比较探索与估计误差。

推荐主线

伦敦大学学院(UCL)英国 · 英文

P1 · 重点提升L2 · 进阶AI基础高校课程

UCL David Silver:强化学习 (新标签页)↗

本次学什么
MDP、价值估计、时序差分、策略方法与探索。
已学可跳过
概率和函数逼近基础按需回查;经典 AI 主题不再重复安排这一整段。
展开介绍、学习准备与访问说明

以马尔可夫决策过程、动态规划和无模型学习建立强化学习基础,再进入函数近似、策略梯度与探索。

可用资料教师官方页面链接的讲课视频 / 10 讲幻灯片 / Easy21 编程作业 / 往年试题与答案

2015(Advanced Topics,页面未标春秋学期)

对你的帮助
理解奖励、价值函数和策略更新后,才更容易判断 LLM 强化学习训练与普通工具编排的区别。
开始前要会什么
建议已掌握条件概率与期望;建议具备基本微积分和线性代数;建议能独立实现随机模拟;教学页未单列完整先修清单
原资料涉及的知识
MDP 与 Bellman 方程 · 动态规划 · 蒙特卡洛和时序差分 · 无模型控制 · 价值函数近似与策略梯度 · 探索、规划与学习
学习建议
先学前五讲,再做 Easy21 小游戏。比较两种学习方式:一局结束后回看总得分,以及每走一步就更新判断。固定实验设置,重复运行几次并保留结果;理解这些差别后再读策略梯度。
访问说明
这是 2015 经典课程,原教师网站现跳转至该官方教学页;不能将其当作最新 RLHF 或 LLM Agent 工程课。材料公开,旧课程讨论组和考试安排不代表当前仍提供服务。

来源:davidstarsilver.wordpress.com (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

加州大学伯克利分校(UC Berkeley)美国 · 英文

P1 · 重点提升L3 · 深入大模型与Agent高校课程

UC Berkeley CS185/285:深度强化学习 (新标签页)↗

本次学什么
只补模仿学习、深度 Actor-Critic、模型方法、离线 RL 与语言模型相关专题。
已学可跳过
跳过 MDP、Bellman 方程和表格学习等已完成内容;按目标选择实验。
展开介绍、学习准备与访问说明

从模仿学习、策略梯度和 Actor-Critic 推进到离线强化学习、模型方法与 LLM 强化学习,配套较完整的实验任务。

可用资料2026 讲义与习题课材料 / 5 套作业 PDF 和官方 starter code / 默认项目要求 / 官网提供的 2023 秋季公开视频

2026 春季

对你的帮助
为研究型 Agent 和语言模型策略优化补齐算法与实验设计。调用工具、持久执行等后端工程仍需单独练习,不能用课程训练任务替代。
开始前要会什么
官方要求 CS189 或相当机器学习基础;强化学习与 MDP 入门;数值优化;Python/PyTorch 与深度学习实验经验
原资料涉及的知识
行为克隆与分布偏移 · 策略梯度和 Actor-Critic · Q-learning · 变分推断与模型方法 · 离线强化学习 · LLM 强化学习
学习建议
先完成 CS188 的 MDP/RL 或 David Silver 前几讲。只选一项模仿学习或策略梯度作业完整复现,比较多随机种子及训练预算,再进入 LLM RL 和离线强化学习。
访问说明
2026 当年录像通过 bCourses 提供;官网公开链接的视频属于 2023 秋季。Gradescope、讨论平台与课程计算资源面向注册学生,不能默认校外可用。不同年份作业与环境依赖应分别保存。

来源:rail.eecs.berkeley.edu (新标签页)↗
核对日期:

NLP 与语言表示

建立语言任务和表示基础,衔接后续大模型实现。

完成标准完成一个 NLP 实验,解释表示、注意力和评估的关系。

推荐主线

斯坦福大学(Stanford)美国 · 英文

P0 · 必会主线L2 · 进阶大模型与Agent高校课程

Stanford CS224N:深度学习自然语言处理 (新标签页)↗

本次学什么
词向量、序列建模、注意力、Transformer 概念与 NLP 实验。
已学可跳过
DL 的反向传播和优化器不重复;语言模型的大规模训练实现放在下一主题。
展开介绍、学习准备与访问说明

从词向量和神经网络理解语言表示,继续学习序列、注意力与大语言模型,通过 Python/PyTorch 作业落实模型构建。

可用资料2025 幻灯片与公开作业 / Python/PyTorch 实现任务 / 项目说明与参考阅读 / 官网链接的 2023 完整公开视频

2025 冬季

对你的帮助
连接 embedding、语言建模和 LLM 应用,帮助 Java 后端学习者理解所调用模型的输入、训练目标与局限。
开始前要会什么
熟练 Python,能够学习 NumPy 与 PyTorch;多元微积分和线性代数;基础概率统计;机器学习基础有帮助,但官网未将其写成绝对不可缺少条件
原资料涉及的知识
词向量与语言表示 · 反向传播与优化 · 序列模型 · 注意力与 Transformer · 预训练语言模型 · NLP 实验与项目
学习建议
先完成词向量与反向传播部分,再逐步做序列和 Transformer 任务。把一个小型文本模型的分词、张量形状、损失及评测过程写清,再衔接本站 RAG 和 Agent 工程。
访问说明
2025 课堂录像限已注册学生登录 Canvas;官方同时提供 2023 版公开视频。两版内容和作业会有差异,应以选定学期的题目、代码和依赖为准,不能把旧视频标成 2025 录像。

来源:web.stanford.edu (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Georgia Tech / Polo Club of Data Science美国 · 英文

P1 · 重点提升L1 · 基础大模型与Agent交互练习

Transformer Explainer:看一句话怎样变成下一个 Token 的候选 (新标签页)↗

本次学什么
只看默认输入、左侧 Token 列、Embedding 图 1 与 Output Probabilities;加载不足时使用正文示意图。 完成后:从默认示例指出一个被拆开的单词,并用自己的话说明右侧概率图描述什么、不能证明什么。
已学可跳过
首轮跳过自定义生成、模型下载等待、完整矩阵推导及辅助层的概括说明。
展开介绍、学习准备与访问说明

先沿默认句子的左侧看 Token 如何切分,再看右侧下一 Token 的候选概率。一个英文单词可能被切成几块;输出条形图表示模型会怎样选择后续文本。

可用资料默认句子的模型流程图 / Embedding 图解 / 输出概率图 / 作者的交互说明

GPT-2 small 教学模型;2026-09-26 在线版

对你的帮助
把站内 Token 与温度文章中的数字流程画出来。适合先认识输入、分词结果和输出候选,再进入注意力的数学计算。
开始前要会什么
知道 Token 是模型处理文本的单位;能区分概率大小与事实是否正确
原资料涉及的知识
Token 切分 · 下一 Token 预测 · 温度与采样
学习建议
第一遍只看默认句子、Token 列和 Output Probabilities;找出一个被拆开的单词。若模型加载完成,再固定输入与 Top-k/Top-p,只改变温度。此页演示 GPT-2,结构细节不代表所有新模型,候选概率也不是答案可信度。
访问说明
英文公开页面,无需账号或 API Key。页面提示自定义生成需加载约 600 MB 的 GPT-2 模型;本次已看到默认流程图及候选概率,未验证自定义生成完成。网络或设备不足时先读页面下方的图文说明。

来源:poloclub.github.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Hugging Face Transformers 文档团队国际开源社区 · 英文

P1 · 重点提升L1 · 基础大模型与Agent官方文档

Hugging Face:对照补齐位置与 Attention Mask (新标签页)↗

本次学什么
将 input_ids 与 attention_mask 的新增位置一一连线,解释有效零值。
已学可跳过
整本术语表和未核对的其他框架 mask 约定。
展开介绍、学习准备与访问说明

并排读两行 input_ids 与 attention_mask,区分真实词元和为凑齐批次长度加上的位置。

可用资料BERT 两段文本示例 / 补齐后的 input_ids / 对应的二值 attention_mask

Transformers v5.17.0;仅选 attention mask 小节

对你的帮助
把“遮住补齐位置”落实到一一对应的数组,避免只看数值零就判断它是不是有效数据。
开始前要会什么
知道 Token 是分词后的处理单位;能阅读两行整数列表
原资料涉及的知识
Padding · Attention Mask · 批次输入 · 有效位置
学习建议
只看 attention mask 小节。把短序列新增的位置与 mask 中的 0 逐项连线,再另画一组“数值为 0 但仍有效”的普通数据,说明为什么应单独记有效位置。首轮跳过整本术语表;文中 1/0 约定属于该接口,注意力屏蔽不自动替你设置损失函数的忽略位置。
访问说明
固定版本页面公开可读。手工对照无需模型或账号;运行原分词器示例需 Transformers 和分词器文件,首次获取可能联网,本轮未下载。

来源:huggingface.co (新标签页)↗
核对日期:

大模型训练与系统

把语言模型概念转为训练实现与系统实验。

完成标准复现一条小规模语言模型训练链路,并记录数据、速度与质量权衡。

推荐主线

斯坦福大学(Stanford)美国 · 英文

P1 · 重点提升L3 · 深入大模型与Agent高校课程

Stanford CS336:从零构建语言模型 (新标签页)↗

本次学什么
语言模型实现、数据处理、训练与效率实验。
已学可跳过
已学 NLP 的词向量和 Transformer 概念快速自测;重点新增实现、系统性能与实验依据。
展开介绍、学习准备与访问说明

围绕分词、Transformer、训练系统、数据处理与对齐构建语言模型,属于实现负担较大的进阶课程。

可用资料2025 代码讲义与 PDF / 5 项官方作业说明及代码入口 / 官方 spring2025 讲义归档仓库 / Assignment 1 的 spring2025 归档 release

2025 春季

对你的帮助
适合希望深入模型训练与系统效率的学习者,能把 token、训练数据、算力和损失曲线连接起来;并非学习 Java Agent 接口集成的起点。
开始前要会什么
熟练 Python 与软件工程;深度学习与 PyTorch 基础;线性代数、微积分、概率与机器学习;系统性能分析基础及实验算力规划
原资料涉及的知识
分词器与 Transformer 实现 · 优化器和训练循环 · GPU、Triton 与分布式训练 · 缩放规律 · 预训练数据过滤和去重 · SFT 与推理强化学习
学习建议
先完成分词器、模型单元测试及极小数据训练,再考虑性能优化。逐项记录数据版本、参数规模、硬件、时间和验证损失;高级系统任务待预算与基础具备后再做。
访问说明
2025 主页可读,但作业 2 的旧 PDF 链接已返回 404,仓库默认内容已改为 2026;学习旧版请选官方 Spring 2025 Archive 标签。完整训练和性能实验需要合适的 GPU,课程页上的云价格是 2025 历史示例。

来源:cs336.stanford.edu (新标签页)↗
核对日期:

其他来源:替代或选学(5)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

上海交通大学中国 · 中文

P1 · 重点提升L2 · 进阶大模型与Agent高校课程

大语言模型(CS2916) (新标签页)↗

本次学什么
仅补尚未覆盖的 MoE、长上下文、推理时计算和合成数据专题。
已学可跳过
跳过重复的 Transformer、预训练与 SFT;RAG 和工具调用归 Agent 主题。
展开介绍、学习准备与访问说明

上海交大 CS2916 课程网站公开从神经网络与 Transformer,到预训练、对齐、评估、推理优化、RAG 和 Agent 的安排及部分课件。

可用资料课程介绍与按周安排 / 课程大纲 / 部分公开课件 / 论文阅读链接

2025 年春季学期

对你的帮助
适合在能训练小模型后建立大模型全流程地图,区分训练、对齐、检索增强和工具调用各自解决的问题,并与 Java 服务集成路线连接。
开始前要会什么
Python 和基础深度学习;线性代数、概率与梯度优化;注意力和 Transformer 基础;英文论文阅读能力
原资料涉及的知识
Transformer 与语言表示 · 预训练与训练基础设施 · 指令微调和对齐 · 模型评估 · MoE 与长上下文 · 推理优化与推理时计算 · 合成数据 · RAG、工具调用与 Agent
学习建议
先读 Transformer、预训练、让模型更符合任务要求的方法,以及效果评估四部分。选一个文档问答或工具调用小实验,记下数据、提问方式、结果和费用,再比较一次改动有没有帮助。
访问说明
已核验教师校属、2025 课程表及一份 Transformer 课件。课程作业页仍写“等待发布”,因此不列为可用作业库;未核验完整公开视频。课程页面中的实验或训练话题不等于提供免费计算资源。

来源:gair-nlp.github.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Hugging Face国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent工程课程

Hugging Face LLM Course:数据标注与 LoRA 微调选学 (新标签页)↗

本次学什么
只补第 10 章的人工标注流程和第 11 章的模板、SFTTrainer、LoRA 工具实践,交付一份基线与微调对比记录。
已学可跳过
Transformer、预训练、SFT 原理和通用 NLP 入门在主线已学时跳过;同一微调能力已在 CS336 或站内实验完成时,仅补 Argilla 数据流程。
展开介绍、学习准备与访问说明

先用 Argilla 整理数据并写清人工标注规则,再学习如何用这些例子调整已有语言模型。后半部分介绍对话格式、训练工具和节省显存的方法。

可用资料第 10 章数据整理讲义 / 第 11 章微调讲义与代码 / 官方 SFTTrainer 与 LoRA 实践入口

在线课程第 10—11 章(按核验日材料)

对你的帮助
补齐从领域样本到微调实验的最后一段实现能力,避免只会训练通用示例,却无法说明数据质量和微调增益。
开始前要会什么
Python 和深度学习基础;理解语言模型训练、训练集与验证集隔离;能够运行小型 PyTorch 模型
原资料涉及的知识
Argilla 数据标注 · 数据整理与人工反馈 · 对话模板 · SFTTrainer · LoRA 适配 · 微调结果检查
学习建议
选一个小任务,先写标注标准并固定独立测试集,再比较基础模型与微调模型。记录模型、数据、模板和库版本;小模型跑通后再扩大预算,不能以训练损失下降代替泛化效果。
访问说明
课程材料免费公开;下载某些模型或发布数据需要账号或接受模型协议。微调需要与模型规模相符的内存或显存,租用 GPU、托管服务和 API 可能收费。本次仅核验材料,未运行微调,也不保证证书或自动评分。

来源:huggingface.co (新标签页)↗
核对日期:

定向补充 · 只学指定内容

PyTorch 项目国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

PyTorch 官方性能诊断:Profiler 与调优指南 (新标签页)↗

本次学什么
补齐训练脚本的 Profiler 操作:定位算子、内存与调用栈,做一次有基线的性能改进实验。
已学可跳过
模型结构、优化器推导和分布式训练理论已学即跳过;若主线已完成同等性能实验,只按当前瓶颈查手册。
展开介绍、学习准备与访问说明

找出 PyTorch 训练中最耗时、最占内存的步骤,再判断数据读取或计算是否需要调整。先找到慢在哪里,再比较修改有没有帮助。

可用资料官方 Profiler 教程与完整示例 / Performance Tuning Guide / 可下载脚本及 Notebook 入口

官方在线教程(按已安装 PyTorch 版本核对)

对你的帮助
为大模型训练与系统主题补充可执行的性能诊断方法,让优化结论有测量依据。
开始前要会什么
能写 PyTorch 训练循环;理解 CPU/GPU、张量及反向传播;Profiler 教程当前声明 torch ≥ 2.3.0
原资料涉及的知识
CPU/GPU 算子耗时 · 内存统计 · 调用栈与 trace · 分阶段采样 · 数据加载与计算瓶颈 · 优化前后对照
学习建议
复用一段已有训练代码,先记录少量步骤,找到最慢的地方,每次只改一个因素。比较每秒处理数量、内存占用和结果;正式计时时关闭分析工具,并确认 GPU 上的计算已经完成。
访问说明
文档和示例公开可读。CPU 部分可在本机练习;GPU 分析需受支持硬件与匹配环境,云 GPU 可能收费。分析工具自身会引入开销,示例中的性能数值不是本机或生产环境的承诺;本次未执行硬件性能实验。

来源:docs.pytorch.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

EleutherAI国际社区 · 英文

P1 · 重点提升L3 · 深入大模型与Agent开源实战

EleutherAI lm-evaluation-harness:可复现语言模型评测 (新标签页)↗

本次学什么
补充真实模型评测的工程复现:固定 YAML 与代码版本,保存逐题输出,并解释与论文结果的差异。
已学可跳过
跳过一般准确率与数据切分入门;不重做模型训练。与 HF Agents 的任务轨迹评测分工,本条仅覆盖语言模型基准与评分实现。
展开介绍、学习准备与访问说明

用同一组题目测试语言模型,保存每道题的回答和评分依据。通过固定模型、题目和代码版本,让别人也能检查你的实验结果。

可用资料官方开源代码仓库 / User Guide 命令行说明 / Task Configuration 指南

官方仓库与在线指南(实验时固定 commit)

对你的帮助
把训练结果从一个最终分数变成可追溯证据,补足模型研究中的评测实现与横向比较能力;它不替代完整 Agent 端到端评测。
开始前要会什么
能运行 Python 模型推理;理解训练/验证/测试切分及基本评价指标;能阅读 YAML、命令行参数与 Git 版本
原资料涉及的知识
任务配置 YAML · 模型与任务版本固定 · few-shot 与提示设置 · 输出保存与评分复查 · 自定义评测任务 · 复现实验报告
学习建议
先用少量题目检查输入和评分。正式测试时固定模型、题目配置、代码版本、示例数量、随机种子和运行环境,并保存逐题回答。调试时的小样本分数不能当作完整成绩;题目是否进入训练数据也要单独说明。
访问说明
仓库和指南可免费阅读,代码可本地使用;模型、数据集的许可与访问条件需分别确认。小模型可先小样本试跑,大模型需要相应算力,API 或云 GPU 可能收费。本次未运行基准,不保证复现任何论文分数。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Hugging Face TRL国际 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

TRL:训练时,究竟在要求模型学哪几个 Token (新标签页)↗

本次学什么
只读助手/回答损失与文本 collator,用两组小数组核对 labels 中被忽略的位置。
已学可跳过
先跳过模型下载、LoRA、多 GPU、packing 和真实性能比较。
展开介绍、学习准备与访问说明

把输入 Token、注意力标记和训练标签并排看,区分补齐位置、用户提示和助手回答哪些会参与损失计算。

可用资料SFT 配置说明 / 文本 DataCollator 示例 / 提示与回答的训练范围图

固定 TRL v0.26.0 文档;SFTTrainer 与文本 DataCollator

对你的帮助
训练能启动不代表训练目标设置正确。该短读帮助在开始长时间微调前,检查实际参与学习的位置。
开始前要会什么
理解 Token 与批量补齐;知道损失是训练要降低的误差;能读 Python 列表
原资料涉及的知识
completion_only_loss · assistant_only_loss · labels=-100 · 聊天模板的助手标记
学习建议
自拟练习:固定 padding_free=False,写两组不等长的虚构 Token ID,并分别提供提示/回答掩码、助手掩码及补齐位置;画出 attention_mask 与 labels,说明提示位置可被关注但不参与损失。交逐位置对照表;有匹配环境时仅运行文本 collator,不下载模型或训练。
访问说明
固定版本公开文档可读;未训练模型。assistant_only_loss 需要能返回助手掩码的聊天模板;不同数据格式的默认损失范围不同,不能直接套用到任意模板或其他版本。

来源:huggingface.co (新标签页)↗
核对日期:

让 AI 根据自己的资料回答

先找对资料,再检查模型是否按资料作答。

完成标准用少量笔记和固定问题完成一次检索与回答分开检查的记录。

推荐主线

Datawhale中国 · 中文

P0 · 必会主线L1 · 基础大模型与Agent开源实战

动手学知识库问答:先找资料,再让模型回答 (新标签页)↗

本次学什么
完成一条小知识库流程,分开检查检索和回答。
已学可跳过
模型训练、复杂 Agent 和全部厂商接口不用重学;已有 RAG 项目只补评估缺口。
展开介绍、学习准备与访问说明

把自己的文档读入、切成小段并建立检索,再把找到的内容交给模型回答问题。

可用资料中文分章教程 / Notebook 与源码 / 示例文档 / 评估章节

LLM Universe 公开教程;选第一部分

对你的帮助
提供中文项目路线,让“知识库问答”从概念变成能拆开检查的几个步骤。
开始前要会什么
Python 基础;能安装项目依赖;理解模型接口调用
原资料涉及的知识
文档处理 · 文本切分 · 向量检索 · 检索问答 · 结果评估
学习建议
先读第一部分的知识库搭建、问答与评估;本条只补基础流程,混合检索与重排另学。小练习:只用自己的三篇笔记准备五个问题,先检查找到的段落是否正确,再检查回答;记下“没找到”和“找到了却答错”的差别。
访问说明
仓库和正文公开;部分模型接口或云环境需账号且可能收费。进阶部分仍在创作。

来源:github.com (新标签页)↗
核对日期:

其他来源:替代或选学(12)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Microsoft Learn / Azure AI Search美国 · 中文

P1 · 重点提升L1 · 基础大模型与Agent官方文档

Microsoft Learn:文档切块怎样保住上下文 (新标签页)↗

本次学什么
只比较切分、重叠和上下文边界,检查条件是否随结论一起保留。
已学可跳过
不创建云服务或索引器;接口参数并非通用最佳切块大小。
展开介绍、学习准备与访问说明

用中文比较固定长度、按内容结构和保留语义联系的切分思路。关注切分边界、重复内容和输入长度之间的取舍,不先陷入云服务配置。

可用资料中文切分方法比较 / 重叠注意事项 / 字符与token区别 / 切分参数示例表

常用分块技术、内容重叠与数据分块因素;2026-09-26 核验

对你的帮助
为知识库检索补上文档准备这一步。已有RAG课程面向完整流程,本项只练习判断数字、适用条件和例外是否被切到不同片段。
开始前要会什么
知道知识库会检索相关片段;知道模型一次能接收的内容有上限
原资料涉及的知识
RAG · 文档切分 · 重叠 · 上下文边界
学习建议
只读常用分块技术、内容重叠注意事项和数据分块因素,选一条带“仅限”的虚构规则比较切分前后。页面数字是服务情境下的起点,不是通用最佳大小;中文字符也不能按固定比例换算为所有模型的token。
访问说明
本次可以公开读取所选正文,页面同时出现登录提示。阅读概念无需开通云服务;运行页面中的索引器、嵌入或云示例需要相应资源,本项不要求运行。

来源:learn.microsoft.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Milvus 开源项目与 Zilliz中国及国际开源社区 · 中文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Milvus 中文:先按词找原文,再检查检索结果 (新标签页)↗

本次学什么
追踪三条文本到 BM25 查询的流程;圈出查询词并保存返回原文。
已学可跳过
其他语言 SDK、索引调优和混合检索。
展开介绍、学习准备与访问说明

用三条短文本追踪 BM25 全文搜索:文字先被分析成词项,再按相关程度排序并返回原文。

可用资料全文搜索流程图 / 字段与 BM25 函数配置 / 三条文本插入与查询示例

当前页面 v3.0.x;2026-09-28 核验

对你的帮助
给 RAG 增加一个可核对的词项检索入口,帮助区分“找到了相关文字”和“答案已被证实”。
开始前要会什么
知道文档 ID 与查询的作用;若实际运行,需匹配版本的 Milvus 服务和客户端
原资料涉及的知识
RAG 检索 · BM25 · 词项分析 · 返回原文
学习建议
先读“BM25 实现”“插入文本数据”“执行全文搜索”。纸上圈出示例查询与三条文本重合的词,写出期望返回的原文;已有相容测试环境时再记录实际排名。换成中文前先核对分析器。首轮跳过其他语言 SDK、索引调优与混合检索;相关性分数不是真实性概率。
访问说明
中文正文公开可读;代码连接数据库服务,不能当成只靠 Python 标准库的例子。未启动服务或验证 SDK 兼容性;不同文档版本需单独核对。

来源:milvus.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

阿里云 OpenSearch 文档团队中国 · 中文

P1 · 重点提升L1 · 基础大模型与Agent官方文档

阿里云中文:关键词结果与向量结果怎样一起看 (新标签页)↗

本次学什么
围绕型号词与意思相近的查询画两路候选合并图,分别标各路数量和总返回数量。
已学可跳过
购买实例、服务配置、付费模型与未经实测的性能结论。
展开介绍、学习准备与访问说明

看清文本检索和向量检索各自产生候选,再通过加权或排名融合得到结果的流程。

可用资料方案介绍 / 商品短文本示例 / 查询权重与返回数量说明

OpenSearch 向量检索版文档;2026-09-28 阅读

对你的帮助
混合检索有多路候选数和最终结果数,不能只盯着一个 TopK;改组合方式后仍要用固定问题验证。
开始前要会什么
知道关键词检索和向量相似度的基本用途
原资料涉及的知识
混合检索 · 文本与向量 · 候选数量 · RRF
学习建议
先读“方案介绍”,再看“添加数据”和“查询”的小例子。自拟一个型号词查询和一个意思相近的查询,分别列出希望关键词路、向量路找到的资料,并画两路合并图;这些是预期,不能伪称实测排名。首轮跳过购买、控制台配置与模型服务,保留“混合未必更好”的评测问题。
访问说明
中文正文无需账号即可阅读。真正操作涉及阿里云实例和可能付费的服务;本资源只安排纸上练习,未购买、登录或部署。文中配置属于阿里云产品,不能当成其他同名项目的 API。

来源:help.aliyun.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Sentence Transformers 文档团队国际开源社区 · 英文

P1 · 重点提升L1 · 基础大模型与Agent官方文档

Sentence Transformers:相关资料有没有进前几条 (新标签页)↗

本次学什么
固定两个问题、五条材料与相关 ID,检查前三条结果的 Recall@3。
已学可跳过
模型/数据下载、其他评估器和未固定标注的调参。
展开介绍、学习准备与访问说明

把问题、文档和事先标好的相关文档 ID 分开保存,再检查前 k 条结果漏掉了多少已知相关资料。

可用资料评估器输入结构 / 检索指标列表 / 结果报告示例

当前 API 文档;仅选 InformationRetrievalEvaluator

对你的帮助
让检索比较有一份固定的判断依据,而不是看见几个相似句子就宣布改好了。
开始前要会什么
知道查询 ID、文档 ID 与 TopK;会计算简单比例
原资料涉及的知识
检索评估 · Recall@k · 相关文档标注 · 固定测试题
学习建议
只看 InformationRetrievalEvaluator 的 queries、corpus、relevant_docs。准备两个问题、五条虚构材料,每题至少标一个相关 ID;先固定标注,再列前三条结果,交出找到和漏掉的相关 ID 及 Recall@3。首轮跳过整库下载、其他评估器和调参;资料外问题另测,标注不完整也会限制结论。
访问说明
API 正文公开可读。完整示例会加载模型和数据集。该评估器只纳入相关 ID 集合非空的问题,不能替代资料外问题的拒答测试;示例分数不代表自有数据效果。

来源:sbert.net (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Sentence Transformers 文档团队国际开源社区 · 英文

P1 · 重点提升L1 · 基础大模型与Agent官方文档

Sentence Transformers:先找候选,再重新排队 (新标签页)↗

本次学什么
用候选卡片分别构造召回缺失与排序靠后,交两类失败记录。
已学可跳过
Wikipedia 向量化、模型下载及把相关分数当正确概率。
展开介绍、学习准备与访问说明

用流程图区分召回候选与重排候选,理解为什么第二步仍然依赖第一步有没有找来正确资料。

可用资料Retrieve & Re-Rank 流程图 / Bi-Encoder 与 Cross-Encoder 图解 / 原作者示例脚本入口

Retrieve & Re-Rank 当前示例文档;2026-09-28 阅读

对你的帮助
发生检索错误时,先判断是资料没进入候选,还是进来了却排得太后,改动才有针对性。
开始前要会什么
知道查询和候选文档是什么
原资料涉及的知识
两阶段检索 · 召回 · 重排 · Cross-Encoder
学习建议
先看流程图及 Retrieval、Re-Ranker 两节。画五张候选卡,先移走其中唯一能支持答案的一张,再尝试只重排剩余卡;交出候选缺失和排序靠后两类失败记录。首轮跳过整套 Wikipedia 向量化与模型下载,不承诺换上重排器就能提高每个任务的效果。
访问说明
文档与图公开可读。代码需要相应库、模型或语料,完整 Wikipedia 示例并非轻量本地练习。重排分数不应直接当成答案正确概率。

来源:www.sbert.net (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Elastic国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Elasticsearch:用固定问题检查搜索排序有没有变好 (新标签页)↗

本次学什么
固定问题和相关度标注,只比较一次查询改动;逐题查看 details 与 unrated_docs。
已学可跳过
跳过集群运维、在线流量实验和模型生成;不要把漏标文档直接认定无关。
展开介绍、学习准备与访问说明

准备一小组真实问题和人工相关度标注,用同一批材料比较两种查询方式。除了总分,还逐题看排错的结果和没有标注的文档。

可用资料排序评估 API 请求示例 / 指标参数与解释 / 逐题结果和未标注文档的响应说明

Ranking evaluation 官方文档;2026-10-03 阅读

对你的帮助
本站已有 Recall@k 和重排入门;本条补搜索服务中的可重复评估接口、分级相关度及漏标检查。它能帮助 Java RAG 项目把检索问题与生成问题分开定位。
开始前要会什么
了解搜索查询和文档 ID;会阅读 HTTP/JSON;懂前几条结果与人工相关度标注的关系
原资料涉及的知识
_rank_eval 请求 · 分级相关度标注 · MRR 与 DCG · 逐题 details · unrated_docs 漏标检查
学习建议
先固定六段材料和三条问题,按无关、部分相关、直接相关标注。保持材料与标注不变,只修改一种查询设置,并逐题解释得分变化与漏标情况。
访问说明
已阅读官方 Ranking evaluation 页面;未启动 Elasticsearch、建立索引或调用 _rank_eval。练习若实际运行需自备可控实例并核对版本;指标只反映所选问题、标注与排序,不直接证明回答正确。

来源:www.elastic.co (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Docling 项目国际 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Docling:资料转成文字后,哪些页面还要人工核对 (新标签页)↗

本次学什么
只读质量等级与逐页记录,为六处原文信息做人工对照表。
已学可跳过
先跳过模型替换、批量服务和自动放行阈值,不把等级直接当正确率。
展开介绍、学习准备与访问说明

先看转换后的质量等级,再对照原页检查遗漏和阅读顺序。页面介绍整份文档与逐页的 confidence 记录,适合放在知识库入库之前。

可用资料质量等级说明 / ConversionResult 字段入口 / 逐页记录示意

滚动官方文档;质量等级自 Docling v2.34.0 引入

对你的帮助
检索能找到一段文字,不代表这段文字从 PDF 中取对了。此材料补上文档转换后的复核步骤。
开始前要会什么
能区分原始 PDF 与提取后的文字;了解 Python 对象与字段
原资料涉及的知识
文档与逐页质量等级 · mean_grade 与 low_grade · 原页人工对照
学习建议
自拟练习:选一份自有的三页材料,预先标出六处标题、数字或表格关系;逐页对照转换结果和质量等级。交原页位置、转换文字、核对结论及待修项;没有实际运行时只提交检查表设计。
访问说明
公开文档可读;本次未安装或执行转换。页面明确 table_score 尚未实现,数值计算和权重也可能调整,不能把等级当成表格内容正确的证明。

来源:docling-project.github.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

飞桨 PaddleOCR中国 · 中文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

PaddleOCR 中文:双栏、表格和正文该按什么顺序读 (新标签页)↗

本次学什么
只看产线组成和 Python 输出示例,检查双栏阅读顺序与表格对应。
已学可跳过
先跳过模型训练、服务化、多硬件性能比较与全量模型表。
展开介绍、学习准备与访问说明

从一页文档的标题、文字、表格和图片入手,了解版面解析如何恢复多栏阅读顺序,并分别保存 JSON 与 Markdown 结果。

可用资料中文产线说明 / Python 与命令行示例 / 输出字段及导出方法

PaddleOCR 3.x/PP-StructureV3;main 分支滚动文档

对你的帮助
中文材料进知识库前,常见错误不只是识字错误,也包括两栏串读和表格行列错配。该文提供可用来逐项检查的结构化输出入口。
开始前要会什么
能运行基础 Python 脚本;知道 OCR 是从图片中识别文字;能准备不含敏感信息的自有文档
原资料涉及的知识
版面区域与阅读顺序 · 结构化 JSON · 逐页 Markdown · 可选识别模块
学习建议
自拟练习:画一张有两个文字栏及一个小表格的页面,手工编号阅读顺序;有环境时再导出 JSON 和 Markdown,对照顺序、标题归属与表格对应。交原页、编号图、两份输出和错误记录。
访问说明
已读中文官方仓库文档;未下载模型或运行。3.x 的可选依赖与推理引擎须按安装页对应,CPU/GPU 及模型配置会影响资源占用,文中基准不能代表个人电脑。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Microsoft Learn美国 · 中文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Azure 中文:检索前,先划清这个人能看哪些资料 (新标签页)↗

本次学什么
用两组用户、四份资料检查可见范围,说明组标识从哪里取得。
已学可跳过
先跳过购买云服务与完整 Entra 集成;不把隐藏返回字段当访问控制。
展开介绍、学习准备与访问说明

给文档记上允许访问的组,再在查询中带上可信的组列表,让不匹配的文档不进入结果。重点理解身份核验与字符串筛选各负责哪一部分。

可用资料中文设计模式 / 索引字段说明 / 查询筛选示例

Azure AI Search 滚动文档;页面 REST 示例 api-version=2026-04-01

对你的帮助
RAG 资料相关还不够;还要判断提问者是否能读。这里提供能画成请求流程图的筛选模式。
开始前要会什么
理解登录用户和权限组;能读 JSON 与简单筛选表达式;知道检索结果会交给模型
原资料涉及的知识
group_ids 文档字段 · search.in 筛选 · 身份来源 · 每次查询的权限条件
学习建议
自拟练习:为两组用户和四份虚构资料列访问表,再画登录身份→可信组列表→筛选→模型的流程。加入遗漏筛选及用户伪造组名两种失败例,交预期可见文档 ID 和拒绝原因。
访问说明
公开说明可读;未创建云资源。本模式按可信组标识做字符串过滤,不执行身份认证;retrievable=false 也不是字段级安全。原文“创建安全字段”的请求路径误指文档写入;创建索引应使用 POST {endpoint}/indexes?api-version=2026-04-01,并以同版 Indexes - Create 定义为准。练习仅做可见范围推演,未验证云端请求。

来源:learn.microsoft.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Qdrant国际 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Qdrant:两个条件满足了,为什么仍可能匹配错记录 (新标签页)↗

本次学什么
只对照普通数组过滤和 nested,为同一版本已批准的资料列预期结果。
已学可跳过
先跳过向量模型、索引调优、地理过滤和其他新条件。
展开介绍、学习准备与访问说明

同一文档带有多条附加信息时,两个条件可能分别命中数组里的不同条目。通过普通 must 与 nested 的对照,看清条件是否必须落在同一个对象上。

可用资料官方正反例 / REST 过滤请求 / Java/Python 等 SDK 对照

滚动官方文档;nested object filter 自 v1.2.0 可用

对你的帮助
RAG 按版本、部门或有效状态筛资料时,过滤条件写错会把不合要求的内容送进候选。本项补足数组字段的精确语义。
开始前要会什么
能读 JSON 对象和数组;理解 AND 条件;有检索过滤的基本概念
原资料涉及的知识
payload 附加字段 · must 条件 · 数组元素 · nested 同对象匹配
学习建议
自拟练习:写三份资料的 revisions 数组,让 version=v2 与 approved=true 在其中一份资料的不同元素中分别成立。先推导普通 must 和 nested 的结果,再交两份请求及预期 ID 表。
访问说明
公开文档可读;未启动 Qdrant。版本说明只针对 nested 功能,不代表页面所有新条件都适用于 v1.2.0;实际应匹配自己的服务端和 SDK 版本。

来源:qdrant.tech (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Microsoft Learn美国 · 中文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Azure 中文:一条引用怎样回到原页和原表格 (新标签页)↗

本次学什么
只读跨度、边界区域和表格三节,整理一条引用所需的信息。
已学可跳过
先跳过自定义模型和云端批量处理;模拟 JSON 不当作识别效果。
展开介绍、学习准备与访问说明

把引用文字、字符位置、页码和页面坐标连起来。重点看表格单元格与脚注,知道只有一句摘录时还缺少哪些定位信息。

可用资料中文响应字段说明 / 2024-11-30 REST 参数表 / 服务快速开始

Document Intelligence v4.0;REST API 2024-11-30

对你的帮助
回答附上资料名后,读者仍要能找到原文。此材料补上从检索片段返回原页位置的字段及边界。
开始前要会什么
能读 JSON 数组和字段;知道 PDF 页码与页面坐标;了解 Java 字符串的基本操作
原资料涉及的知识
spans 字符偏移 · boundingRegions 页码与坐标 · 表格行列及跨格 · 引用与脚注关联
学习建议
自拟练习:画一页含表格和脚注的资料,手写标为模拟数据的响应。保留含表情符号的完整 content、stringIndexType 与 pages[].unit;分别按 UTF-16 码元和用户感知字符列偏移,另外记录页码、表格与脚注坐标。交 JSON 和定位对照表;模拟结果不标为云端实测。
访问说明
文档可读;真实分析需 Azure 订阅与资源,免费层有额度限制,付费层按服务计费。本轮只核对文档。中文页把参数写成 stringIndexIndex;REST 正确名为 stringIndexType,Java 可选 utf16CodeUnit。

来源:learn.microsoft.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Spring AI国际 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Spring AI:资料更新后,旧片段怎样退出知识库 (新标签页)↗

本次学什么
只读按条件删除与文档版本示例,核对目标资料的旧片段清单。
已学可跳过
先跳过存储选型和吞吐优化;别把示例的两步调用当原子更新。
展开介绍、学习准备与访问说明

给资料片段记录所属文档和版本,再按明确条件删除旧片段。通过“一份资料从三段变成两段”检查是否留下过期内容。

可用资料Document Versioning Use Case / 按条件删除示例 / SimpleVectorStore 固定版本源码

Spring AI v1.1.8 固定标签的向量库文档与源码

对你的帮助
重新导入新版资料,不一定会清掉旧版多出来的片段。此材料补上知识库更新后的清理范围与核对步骤。
开始前要会什么
会读 Java 集合和 Map;了解文档切块与向量库;能区分片段 ID 和整份资料的编号
原资料涉及的知识
片段 ID 与 docId · 版本元数据 · 按 ID 或条件删除 · 更新中途失败
学习建议
自拟练习:为两位虚构所有者各建一份同名资料,把其中一份从 v1 三段改成 v2 两段。用 ownerId、docId、version 限定删除范围,逐步核对完整片段 ID 清单;分别推演删旧后写新失败、写入部分新版后失败。交范围条件、清单与恢复说明;未运行部分只列预期。
访问说明
固定文档与源码已读;本轮未运行。v1.1.8 文档版本示例中的 AND 加 Arrays.asList 构造方式与同版本 Filter.Expression API 不匹配,练习优先使用字符串条件或正确的左右操作数形式。实际写入通常需嵌入模型和存储;SimpleVectorStore 仅供测试演示。

来源:github.com (新标签页)↗
核对日期:

Agent 工程与研究

理解模型与工具怎样配合,并观察调用过程。

完成标准能构建一个小工具调用流程,记录参数、结果与失败情况。

推荐主线

Hugging Face国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent工程课程

Hugging Face Agents Course:选一套框架完成评测项目 (新标签页)↗

本次学什么
首次接触 Agent 时先学 Unit 1 的消息与工具,再在 Unit 2 选一种框架,记录一次工具调用的参数、结果和失败。
已学可跳过
已完成站内 Agent 起步时跳过 Unit 1;已有 RAG 项目时跳过 Unit 3,Unit 4 基准项目按需选做,函数调用微调留给训练主题。
展开介绍、学习准备与访问说明

用现成工具做一个能调用函数的 AI 助手,再用固定题目检查它做得怎么样。课程提供多种框架,选一种完成小项目即可。

可用资料公开在线讲义 / 框架单元 / 最终项目与官方评测说明

在线维护课程(按核验日材料选学)

对你的帮助
补充现有 Agent 主线的工程落地:独立搭建工具执行循环,并从评测失败样本反推实现问题。
开始前要会什么
Python 基础及依赖环境管理;理解模型消息、工具调用与基本 Agent 流程
原资料涉及的知识
框架实现选一 · 工具调用实践 · GAIA 子集最终项目 · 逐题失败记录与改进
学习建议
在 Unit 2 选一种框架。做 Unit 4 项目时,保存题目、输入、调用了什么工具、最终结果和失败原因。先用少量题目跑通流程,再扩大测试;公开题库的分数不能代表所有实际任务。
访问说明
课程讲义可免费阅读。Hub/Spaces 与提交榜单可能需要账号;托管推理、第三方 API、GPU 或额外托管可能有费用或额度限制。未实测评分服务、证书领取或每个托管示例,不能把课程免费等同于所有运行资源免费。

来源:huggingface.co (新标签页)↗
核对日期:

其他来源:替代或选学(8)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

加州大学伯克利分校(UC Berkeley)美国 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent高校课程

UC Berkeley LLM Agents MOOC:大语言模型智能体 (新标签页)↗

本次学什么
能运行一个小工具调用流程后,再选规划、评测安全、多智能体和人机协作讲座,研究实际遇到的问题。
已学可跳过
通用 LLM、训练与 RAG 基础已掌握时不再重学;以任务成功率和失败分析检验能力。
展开介绍、学习准备与访问说明

由 Berkeley 教师与研究者组织的专题公开课,覆盖推理、规划、工具、RAG、框架、多智能体和评测安全,适合作为研究视野与项目选题来源。

可用资料12 场讲座的公开视频入口 / 幻灯片与论文阅读清单 / 历史测验归档入口 / 3 个实验及说明入口 / 官方课程 GitHub 索引

2024 秋季

对你的帮助
可把站点中的 Java Agent 工程模块放进更大的研究图景,理解每种方法解决的具体问题,以及实验结果和真实应用之间的距离。
开始前要会什么
建议掌握 Python、API 与 JSON;建议已有语言模型、提示和检索基础;建议能够阅读英文论文摘要;课程页未列硬性先修清单
原资料涉及的知识
语言模型推理 · 规划与工具使用 · RAG 与 Agent 框架 · 代码和多模态应用 · 多智能体协作 · 评测、安全与人机协作
学习建议
先看整体介绍、规划工具和评测,再选一个实验方向。给自己的 Java 助手建立固定任务集,比较单次模型调用与 Agent 流程的成功率、成本和失败原因;避免只复述框架演示。
访问说明
官网明确课程已结束,讲课视频仍可自学。2024 年实验与证书截止日期已过去,不承诺现在提交即可获证;部分实验在 Google Drive,实际运行还需核对当年的依赖、服务权限与费用。

来源:llmagents-learning.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

北京大学中国 · 中文

P1 · 重点提升L1 · 基础大模型与Agent高校课程

物理与人工智能(选学 LLM 与 Agent 模块) (新标签页)↗

本次学什么
只选 LLM/Agent 模块及科学场景案例,作为中文补充,按已公布材料学习。
已学可跳过
不要求学整门物理课;API、RAG、工具接入和框架起步已学即跳过。进行中的课程以实际资料为准。
展开介绍、学习准备与访问说明

北京大学“物理与人工智能”课程前段介绍 LLM API、Agent 工作流、RAG 和工具调用,公开配套技术指南与代码示例,后段进入 AI 与物理应用。

可用资料2026 秋课程大纲 / LLM 与 Agent 技术指南 / API 和提示模板示例 / 工具调用与 Agent 代码示例入口

2026 年秋季学期(进行中)

对你的帮助
Java 后端学习者可选学前段,用 Python 理解模型服务、上下文与工具调用,再把接口思想迁移到自己的服务。它是完整跨学科课程中的模块,并非独立 Agent 学分课程。
开始前要会什么
Python 基础;HTTP API 与 JSON 基础;若继续后半学期,需补相应物理知识
原资料涉及的知识
LLM API 配置与调用 · LLM 局限性 · Agent 工作流 · RAG 架构 · 提示工程与多轮对话 · 工具调用与 MCP · 示例项目组织
学习建议
先跑通最小 API 调用,再增加多轮记录、一个本地工具和简单检索。每一步记录输入输出、超时与失败处理;先用公开示例数据,不把密钥或真实业务敏感信息提交进仓库。物理专题可以按兴趣选学。
访问说明
2026 秋课程仍在进行,课表表示教学计划,学习时以已发布的讲义和作业为准。服务器账号按选课安排发放;校外实践需自备环境,模型接口可能收费。

来源:aiphy.pku.edu.cn (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Hugging Face 与 Anthropic 合作课程国际 · 英文

P1 · 重点提升L1 · 基础大模型与Agent工程课程

MCP 工具接入:把一个小工具交给 AI 调用 (新标签页)↗

本次学什么
只补 MCP 客户端、服务端与工具协议的实际分工。
已学可跳过
已懂 Agent 和提示词时跳过重复介绍;多服务部署与公开项目发布后学。
展开介绍、学习准备与访问说明

介绍 AI 应用如何用统一方式发现并调用外部工具,再用一个小应用把过程接起来。

可用资料公开课程讲义 / SDK 实践 / 项目说明

官方英文 MCP Course;选 Unit 1—2

对你的帮助
在已经会普通工具调用后,补上客户端、服务端和工具描述之间的分工。
开始前要会什么
Python 或 TypeScript 基础;理解接口与模型工具调用;能阅读英文步骤
原资料涉及的知识
工具描述 · 客户端与服务端 · 请求与结果 · 工具接入 · 小应用
学习建议
先读 Unit 1,再从 Unit 2 只选一个工具。小练习:做一个仅返回本地模拟天气的工具,记录工具名称、参数、返回内容与失败提示;先不连接真实账号或写入外部数据。
访问说明
讲义公开;平台项目需要账号,课程页面提供免费证书流程说明。模型和托管服务可能另收费。

来源:huggingface.co (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Model Context Protocol 项目国际开源社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

MCP 规范:参数填对之后,还要检查哪些权限 (新标签页)↗

本次学什么
为读取与取消订单各写参数/权限/确认/错误检查卡,构造一个格式正确但未授权的请求。
已学可跳过
传输部署、真实操作及信任未经核验的工具注释。
展开介绍、学习准备与访问说明

把参数格式、服务器权限检查、执行错误与用户确认分开,了解工具协议提供了什么、应用仍要负责什么。

可用资料tools/list 与 tools/call 示例 / 工具定义与结果结构 / Security Considerations

MCP 2025-11-25 规范的 Tools 章节

对你的帮助
工具描述和 JSON Schema 不能独自证明一次操作被授权,应用还要核对身份、对象和动作。
开始前要会什么
能阅读简单 JSON;知道调用工具可能读取资料或改变外部状态
原资料涉及的知识
工具调用 · JSON Schema · 访问控制 · 错误处理
学习建议
先读 Tool 定义和 Security Considerations,再看 Error Handling。给虚构的“读取订单”和“取消订单”各画一张检查卡,写清参数、当前身份、可操作对象、敏感动作确认与失败返回;交出一个格式正确却应拒绝的请求。首轮跳过传输部署和真实工具执行;不把不可信服务器的 annotations 当成安全承诺。
访问说明
固定日期规范公开可读,无需账户或模型。本资源是协议阅读练习,不连接服务器、不发真实操作。协议版本与客户端实现需分别核对,声明支持不等于已通过权限审计。

来源:modelcontextprotocol.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Model Context Protocol 社区国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent开源实战

MCP Inspector CLI:把工具接入检查变成固定步骤 (新标签页)↗

本次学什么
只做握手、列工具和三组无副作用调用;把失败定位到连接或工具执行。
已学可跳过
先跳过 OAuth、公开服务接入与会真实写入业务数据的工具。
展开介绍、学习准备与访问说明

先检查服务能否握手和列出工具,再用固定参数调用一个无副作用工具,保存返回内容与退出状态,定位协议连接和工具执行分别在哪一步失败。

可用资料官方 CLI 命令说明 / 参数与错误码表 / 独立的 CLI 冒烟测试指南

官方仓库 main 文档;2026-10-03 阅读,运行前固定发布版本

对你的帮助
已有 MCP 课程和工具权限规范讲接入概念;本条补命令行检查与回归记录。它可检查 Java 提供的 MCP 服务,无需把业务服务改写成 JavaScript。
开始前要会什么
读懂 JSON 与命令行参数;了解 MCP 服务端、客户端和工具的分工;实际运行需 Node.js/npm 及本地 MCP 测试服务;所读 main 文档写 Node.js 22.19.0 起,安装时按选定发布版本复核
原资料涉及的知识
initialize 握手 · tools/list 工具清单 · tools/call 固定参数 · JSON 参数与退出状态 · 无副作用的自动检查
学习建议
只选一个本地 echo 或加法工具。设计正常输入、错误类型和未知工具三例,分别记录握手、工具清单和调用结果,再决定哪些检查值得放入自动构建。
访问说明
已阅读官方 CLI README 和测试指南;未安装 Inspector、连接 MCP 服务或执行工具。仓库 main 会变动,命令与发布包需对应;握手或工具调用成功不能证明权限设计完整。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

A2A Project国际社区 · 英文

P2 · 按需深入L3 · 深入大模型与Agent开源实战

A2A TCK:检查 Agent 服务声明的协议能力 (新标签页)↗

本次学什么
已有 A2A 服务后,只选一种已声明传输和 MUST 要求,阅读逐项兼容报告。
已学可跳过
初学者先跳过;不对公共或真实业务 Agent 批量运行,不把 SDK 示例启动等同兼容通过。
展开介绍、学习准备与访问说明

按照 Agent Card 声明的接口运行协议兼容检查,把必须满足、建议满足和可选能力的结果分开记录。适合已经有本地 A2A 服务后定向补测。

可用资料官方测试工程 / CLI 参数说明 / 兼容等级规则 / JSON/HTML/JUnit 报告说明

官方 TCK 仓库 main;2026-10-03 阅读,运行时固定提交与协议版本

对你的帮助
A2A Java SDK 解决怎样实现服务;TCK 是独立的协议兼容测试工程,补充外部检查视角。它不是 Agent 框架主页,也不评价模型回答质量。
开始前要会什么
已有可控的 A2A 测试服务并理解 Agent Card;了解所选传输的请求和响应;官方要求 Python 3.11+、uv;需按仓库设置测试环境
原资料涉及的知识
MUST/SHOULD/MAY 要求级别 · Agent Card supportedInterfaces · JSON-RPC、gRPC、HTTP+JSON · 按传输筛选 · 兼容性报告与 JUnit XML
学习建议
已有本地 A2A 服务后,只选 Agent Card 实际声明的一种传输和 MUST 级别。保存测试版本、能力声明及逐项结果;再用一个故意缺字段的测试服务验证检查会失败。
访问说明
已阅读官方仓库 README;未安装 TCK、运行被测服务或获得兼容报告。工具能筛选传输与要求级别,但运行需可控被测服务和版本对齐,入门成本高于阅读协议;通过所选套件不等于完整协议认证或业务安全保证。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

LangChain/LangGraph美国 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

LangGraph:恢复任务时,哪些步骤会再执行一次 (新标签页)↗

本次学什么
只读恢复、确定性与幂等三节,用本地计数器比较完整与部分失败的 task。
已学可跳过
先跳过多智能体、真实业务写入、模型 API 和托管服务部署。
展开介绍、学习准备与访问说明

沿着暂停与恢复的流程,看 entrypoint 重新进入后怎样取回已完成 task 的结果,以及未完成的 task 为何仍可能重跑。

可用资料Functional API 官方示例 / Determinism 与 Idempotency / 副作用错误示例和改法 / Entrypoint → Executing / Resuming:同一 thread_id,以及 interrupt 与异常后的不同恢复方式

Functional API 官方文档及 LangGraph 1.2.14 固定源码;2026-10-07 核对,未安装运行该框架

对你的帮助
Agent 重启后能继续并不代表写入一定只发生一次。该材料适合检查工具操作、状态保存与恢复之间的边界。
开始前要会什么
熟悉 Python 函数和装饰器;理解重复请求和幂等;知道检查点是保存过的执行状态
原资料涉及的知识
task 与 entrypoint · 检查点结果复用 · 中断恢复 · 部分失败与幂等
学习建议
先读 Entrypoint 下的 Executing、Resuming,再读 Determinism 和 Idempotency。用本地计数记录安排两组对照,每组使用自己的固定 thread_id,并在该组恢复时保留同一检查点存储。interrupt 暂停用 Command(resume=...) 恢复;故意异常后先解除失败条件,再用 None 和原 config 恢复。记录完成 task 与未完成 task 的调用次数,再加固定操作编号防重复。交事件表、两次恢复入参及次数对照;本轮未运行。
访问说明
公开文档与 LangGraph 1.2.14 固定源码已核对;现有 Python 3.12.14 未安装 LangGraph,因此未执行框架练习。InMemorySaver 只保存在进程内存中,不能据此验证进程重启恢复。

来源:docs.langchain.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Spring AI国际 · 英文

P2 · 按需深入L2 · 进阶大模型与Agent官方文档

Spring AI 2.0:这次请求究竟能调用哪些工具 (新标签页)↗

本次学什么
只读请求工具与名称解析两节,为三个无副作用工具画两张清单。
已学可跳过
先跳过多 Agent、工具搜索与记忆;不把仅隐藏工具描述当成执行权限控制。
展开介绍、学习准备与访问说明

把客户端默认工具、单次请求追加的工具和按名称查找的工具分开,检查应用最终允许执行的工具范围。

可用资料Passing Tools to ChatClient / Tool Resolution / v2.0.1 DefaultChatClient 源码

Spring AI v2.0.1 固定标签;不直接套用 1.x 或 SAA 示例

对你的帮助
模型收到哪些工具,与服务端最终能执行哪些工具是两次检查。固定版本后列出这两张清单,能发现配置组合造成的意外扩大。
开始前要会什么
会读 Spring AI 工具声明;理解客户端与底层模型的不同入口;会写只记录调用的 Java 测试替身
原资料涉及的知识
defaultTools 与 tools · 请求工具清单 · ToolCallbackResolver · 名称解析回退开关
学习建议
自拟练习:把三个固定文字工具分别放入默认清单、单次请求和名称解析器。记录发给模型的清单,再用模拟 ToolCall 或直接调用执行器,尝试执行仅在解析器里的工具。对照回退关闭/开启的结果,交配置和预期表;实际运行后再附捕获记录,本轮未运行。
访问说明
公开固定版本文档;只检查请求组装可使用模型替身,无需真实模型 API。2.0 的入口和执行循环与 1.x 有差异。本轮只读文档与源码,没有完成运行验证。

来源:github.com (新标签页)↗
核对日期:

检查 AI 输出

把答案正确性、来源和失败处理变成可以复查的记录。

完成标准能准备一组有参考答案的问题,区分答对、证据不足和应拒绝的情况。

推荐主线

Microsoft Generative AI for Beginners美国 · 中文

P1 · 重点提升L1 · 基础大模型与Agent开源实战

检查 AI 回答:识别编造、偏差与不合适的输出 (新标签页)↗

本次学什么
用具体问题与参考资料检查回答,并记录失败时怎样处理。
已学可跳过
不必先开通云安全服务;模型训练和通用 ML 评估另学。
展开介绍、学习准备与访问说明

用应用案例说明 AI 回答可能出错,以及开发者可以怎样准备检查问题和处理失败。

可用资料中文课程正文 / 场景示例 / 检查思路

课程第 3 课,官方仓库中文译文

对你的帮助
在做知识库或聊天应用时,把“看起来像正确答案”变成有来源、有记录的检查。
开始前要会什么
用过一个生成式 AI 应用;知道模型输出需要核实
原资料涉及的知识
编造内容 · 输出检查 · 公平性 · 隐私 · 失败处理
学习建议
先读“幻觉”和“测量潜在危害”。小练习:为学习问答准备五条容易误解的问题,给每条写出可信参考、可接受回答和应当说不知道的条件;不要把加了检索当作不会编造的保证。
访问说明
公开仓库可读,中文页标明由 AI 翻译,关键概念应对照英文。文中的云工具有独立账号与费用条件,阅读本课不要求开通服务。

来源:github.com (新标签页)↗
核对日期:

其他来源:替代或选学(5)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Anthropic / Claude Platform Docs美国 · 英文

P1 · 重点提升L1 · 基础大模型与Agent官方文档

Anthropic:读懂流式消息何时真的结束 (新标签页)↗

本次学什么
读事件顺序、部分 JSON 和结束原因,区分文字结束与业务完成。
已学可跳过
不调用收费 API;先用站内本地事件重放理解状态。
展开介绍、学习准备与访问说明

沿事件顺序读一条生成消息,从内容块开始、增量片段到消息结束。重点看半截工具参数、流中错误和停止原因,理解页面不再出字为什么不等于任务成功。

可用资料事件序列说明 / 文本增量示例 / 部分JSON参数说明 / 流中错误示例

Event types、Text delta、Input JSON delta 与停止原因;2026-09-26 核验

对你的帮助
补充AI应用输出阶段的工程直觉。已有Agent课程讲工具与循环,本项只练习消息状态、参数完整性与应用定稿之间的区分。
开始前要会什么
认识JSON字段;知道网页可以逐步接收消息
原资料涉及的知识
流式输出 · 增量事件 · 工具参数 · 结束原因
学习建议
先圈出message_start、内容块事件和message_stop,再检查text_delta与input_json_delta怎样累积。沿Stop reasons页面区分end_turn、max_tokens和tool_use。保留厂商协议与自定义应用定稿事件的区别,不把显示完成当作业务操作已完成。
访问说明
公开文档阅读无需账号;调用模型API另需账号、密钥并可能产生费用。本项不调用API,只对照站内本地事件重放示例。

来源:platform.claude.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Promptfoo国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Promptfoo HTTP:给现有 AI 接口留一组回归题 (新标签页)↗

本次学什么
给一个已有接口写三组固定输入和结构断言,保留原始响应与判定原因。
已学可跳过
先不做红队全量扫描、模型排行榜和需要额外模型调用的评分。
展开介绍、学习准备与访问说明

把固定问题送给已有 HTTP 接口,提取要检查的响应,再用结构和内容规则比较改动前后的结果。可以从不调用模型的本地假响应开始。

可用资料HTTP provider 请求与响应示例 / Assertions and Metrics 文档 / JSON、字符串与自定义断言列表

HTTP/HTTPS provider 与断言文档;2026-10-03 阅读

对你的帮助
Java 服务只要暴露约定的 HTTP 接口就能采用这种测试思路;重点是保留输入、原始输出和检查规则,避免只凭一次对话判断改动是否更好。
开始前要会什么
HTTP、JSON 和少量 YAML;有一个可控的本地接口或响应样例;运行工具需相应 Node.js/npm 环境
原资料涉及的知识
HTTP 请求配置 · transformResponse 响应提取 · 固定测试输入 · JSON 与自定义断言 · 回归失败分析
学习建议
先为一个本地接口写正常答案、缺少字段、应拒绝三例,检查响应提取是否丢掉重要证据。先把输出结构测清楚,再加需要人工核对的答案质量评估。
访问说明
已阅读 HTTP provider 与断言文档;未安装工具或调用模型/API。Java 适用性来自语言无关的 HTTP 接口方式,不是 Java SDK 实测。模型或模型评分器可能产生费用,起步练习只用本地响应和确定规则。

来源:www.promptfoo.dev (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Ragas 开源社区国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Ragas:把工具选对、参数填对和任务完成分开检查 (新标签页)↗

本次学什么
用四段手写调用记录比较工具、参数、顺序和业务结果,先固定评分目标。
已学可跳过
不运行真实工具,不把单个工具分数当整体可靠性,也不先接入模型裁判。
展开介绍、学习准备与访问说明

根据一段多轮调用记录,比较实际工具与预期工具及参数。先分清顺序必须一致的流程和允许并行的流程,再单独讨论最终任务是否完成。

可用资料固定版本的 Agent 指标说明 / 正常及错误调用样例 / 严格/灵活顺序示例 / 新旧导入 API 的说明

固定 v0.4.1 文档;2026-10-03 阅读,不标为最新版

对你的帮助
已有模型分数材料主要检查回答或通用指标;本条补 Agent 执行轨迹。Java 服务可以导出记录,再按文档数据结构做离线分析,不必迁移业务框架。
开始前要会什么
能看懂工具名称、参数与多轮消息;少量 Python 基础;能写清预期调用和允许的执行顺序
原资料涉及的知识
ToolCallAccuracy · 严格顺序与灵活顺序 · 参考工具调用 · ToolCallF1 的用途 · 过程检查与目标检查的区别
学习建议
先手写四段记录:正确顺序、错误参数、交换可并行步骤、只声称成功但缺少调用。对照参考调用解释工具得分与业务结果为什么可能不同。
访问说明
已阅读 v0.4.1 指标页面;未运行 Ragas、转换 Java 日志或调用评分模型。页面区分 ToolCallAccuracy 与目标完成指标;旧 ragas.metrics 导入在该版本文档中已标弃用,练习应按固定版本 API。

来源:docs.ragas.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Pydantic国际 · 英文

P1 · 重点提升L1 · 基础大模型与Agent官方文档

Pydantic:JSON 长得正确,还要检查类型与业务条件 (新标签页)↗

本次学什么
先看 strict 模式,再加一个上下限联合检查,保存输入与判定原因。
已学可跳过
先跳过复杂 Union、自定义类型、日志平台和自动修复模型输出。
展开介绍、学习准备与访问说明

比较字符串数字与整数的处理,再为两个字段增加联合检查。把模型返回的 JSON 能读、类型合适和满足业务约束分开验证。

可用资料严格模式示例 / 类型转换边界 / 字段与模型校验器说明

Pydantic v2 滚动文档;本轮实测 Python 3.12.14 / Pydantic 2.13.5,核对同版本官方说明

对你的帮助
工具参数或结构化答案即使能解析,也可能发生悄悄类型转换,或出现开始值大于结束值等矛盾。
开始前要会什么
基础 Python 类与异常;能读 JSON;知道输入校验的用途
原资料涉及的知识
默认类型转换 · strict 模式 · 字段校验 · model_validator 联合检查
学习建议
自拟五组 quantity/lower/upper 输入:正常整数、字符串数字、负数量、上下限颠倒,以及后两种同时出现。分三份规则:只有 int 类型;数量加 Field(ge=0);再加 mode="after" 的上下限联合校验。每份分别用默认和 strict 模式运行,记录错误位置与联合校验有没有执行。字段先失败时,after 不会运行,不能把未报出的业务问题当作已通过。另用同一有效日期字符串比较 model_validate 与 model_validate_json 的 strict 结果。交规则、输入和对照表。
访问说明
公开文档无需账号。已用现有 Python 3.12.14 / Pydantic 2.13.5 执行离线小实验,区分类型、非负条件与上下限关系,并比较 Python 输入和原始 JSON 输入的日期校验;没有调用模型或接口。

来源:pydantic.dev (新标签页)↗
核对日期:

定向补充 · 只学指定内容

networknt / JSON Schema国际 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Java JSON Schema:工具加了参数,旧请求还能通过吗 (新标签页)↗

本次学什么
只读输入校验、草案选择和对象规则,用六条请求检查新旧规则。
已学可跳过
先跳过性能榜、自定义关键词和注册中心;不把输入通过当业务授权通过。
展开介绍、学习准备与访问说明

用 Java 校验新旧两份工具参数规则,分别检查必填字段、额外字段和日期格式;再看组合规则时,为什么新增字段可能仍被拒绝。

可用资料固定提交的 Java 用法 / 官方对象规则说明 / 2.0.4 发布记录

networknt 2.0.4 固定提交;练习使用 JSON Schema Draft 2020-12

对你的帮助
工具参数升级后,旧调用记录和新调用方可能同时存在。该材料把“规则写出来了”推进到逐条检查兼容结果。
开始前要会什么
能读 Java 对象与 JSON;了解 Maven 依赖;知道输入规则与业务权限是两件事
原资料涉及的知识
规则版本与草案版本 · 必填及额外字段 · format 校验开关 · allOf 与 unevaluatedProperties
学习建议
自拟练习:保存 v1、v2 两份工具规则,写明 $schema、字段类型与 format,v2 新增一个可选字段。准备六条请求,分别改变一个条件:旧请求、新字段、漏必填、类型错误、陌生字段、坏日期。坏日期用例的其余字段保持合法,再对照 format 断言开关。交规则和逐条判定;尚未运行。
访问说明
公开文档;2.0.4 使用 Jackson 2,支持 Java 8+。Draft 2019-09 起 format 默认只作注释,要验证日期需启用相应断言。示例可在本地完成,无需模型服务;本轮未编译运行。

来源:github.com (新标签页)↗
核对日期:

机器学习系统部署与监控

学会管理训练完成后的数据、模型版本、上线服务和后续维护。

完成标准部署已有模型,追踪版本,模拟漂移并完成一次诊断与回滚记录。

推荐主线

斯坦福大学(Stanford)美国 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent高校课程

Stanford CS329S:生产环境中的机器学习系统 (新标签页)↗

本次学什么
数据质量、离线评估、部署、实验追踪、分布漂移和监控。
已学可跳过
模型结构、优化器和 GPU 训练实现由 ML/DL/CS336 承担;本主题复用已有模型。
展开介绍、学习准备与访问说明

围绕数据、离线评估、部署、实验追踪和分布漂移,学习让模型在真实业务中持续可靠运行。

可用资料教学大纲 / 讲义与幻灯片入口 / 部署及监控教程入口 / 公开项目演示入口

Winter 2022 公开课程资料(历史版本)

对你的帮助
补充从训练完成到长期运行的工程能力:把业务指标、数据质量、服务监控和版本管理串起来。与 CS336 的语言模型实现及训练效率形成分工。
开始前要会什么
已完成一门机器学习或深度学习基础课;能够实现一个非平凡程序;熟悉 PyTorch、TensorFlow 或 JAX 中至少一个框架
原资料涉及的知识
训练数据与特征工程 · 离线评估 · 部署与基础设施 · 数据分布漂移和监控 · 实验追踪与版本管理 · 持续学习与业务指标
学习建议
只学数据质量、离线评估、部署、监控和版本管理;已学过的模型结构、优化器和训练基础按需回查。本站建议复用已有模型,完成一次带版本记录的服务部署,再模拟数据漂移并记录诊断与回滚过程。
访问说明
官网提供公开大纲和讲义入口,部分文件使用 Google Docs。完整课堂录像面向选课学生,未承诺全部公开;公开资料学习不包含校内旁听资格或评分。2022 年工具教程需结合对应工具当前文档使用。

来源:stanford-cs329s.github.io (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Full Stack Deep Learning国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent工程课程

Full Stack LLM Bootcamp:迭代测试与语言界面选学 (新标签页)↗

本次学什么
补充 LLM 特有的提示版本、回归测试与语言界面设计,复用已有应用完成一次迭代。
已学可跳过
跳过 LLM Foundations、基础 Prompt、RAG 和一小时建应用;一般部署、数据漂移与监控已由 CS329S 覆盖,不重复整课。
展开介绍、学习准备与访问说明

学习怎样保存提示词版本、反复检查模型回答,以及让用户看懂和控制 AI 应用。适合已经做出小应用后,逐步改善效果和使用体验。

可用资料2023 年公开视频入口 / 讲座章节摘要 / 官方幻灯片入口

Spring 2023(历史公开课程,只选长期方法)

对你的帮助
为已有模型部署主题补充生成式应用特有的测试和交互问题,帮助后端开发者理解用户反馈如何进入下一轮改进。
开始前要会什么
已有一个可运行的 LLM 或 Agent 应用;理解基本测试、接口和部署流程
原资料涉及的知识
提示与实验迭代 · 生成结果测试 · 评估指标选择 · 语言界面设计 · 用户预期与反馈闭环
学习建议
只看 LLMOps 中的迭代、测试、部署监控方法,以及 UX for Language User Interfaces。给现有应用增加一组回归样例并修改一个易误解的交互,再用相同任务比较修改前后结果;旧服务配置另查当前官方文档。
访问说明
公开讲座、章节摘要和幻灯片入口已核验;未逐一播放视频或测试旧项目。课程属于 2023 年材料,模型排名、价格、服务配置和 API 示例不能直接当作当前建议。自行运行旧应用可能涉及付费 API、云服务或 GPU;本条不承诺证书。

来源:fullstackdeeplearning.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MLflow 项目国际 · 英文

P1 · 重点提升L2 · 进阶AI基础官方文档

MLflow:这次分数用的是哪一份数据 (新标签页)↗

本次学什么
只为两份小 CSV 登记并读回输入信息,核对来源、摘要和用途。
已学可跳过
先跳过云端服务、模型注册、自动部署和完整训练平台。
展开介绍、学习准备与访问说明

给一次运行登记数据名称、摘要、来源和用途,再从运行记录中查回来。重点是让训练数据和评测数据有可追踪的身份。

可用资料from_pandas 示例 / log_input 与运行查询 / DatasetSource API

MLflow 滚动 Python API;使用 mlflow.data 与 log_input

对你的帮助
只保存一个准确率,无法判断两次实验是不是用了相同的数据。该材料补上指标之外的数据来源记录。
开始前要会什么
会使用 pandas DataFrame;了解训练集与评测集;知道一次实验需要保存输入和结果
原资料涉及的知识
Dataset 元数据 · digest 数据摘要 · source 来源 · training/evaluation 用途
学习建议
自拟练习:准备两份只改一行的十行 CSV,分别登记到两次运行;把训练和评测用途写清。交运行 ID、数据名称、摘要、行数、来源和脚本版本,再检查能否找到处理前后的对应文件。
访问说明
公开 API 可读;未安装或创建运行。登记元数据不应被当作已保存完整处理后数据;来源重新加载也可能需要可用的存储和权限。建议练习另存数据副本和预处理脚本。

来源:mlflow.org (新标签页)↗
核对日期:

可靠实验与统计报告

判断一次性能提升是否有足够证据支持。

完成标准完成一份包含全部运行记录、区间估计、异常值分析和适用边界的比较报告。

推荐主线

RLiable 作者团队(Google Research / Mila)国际研究合作 · 英文

P1 · 重点提升L2 · 进阶AI基础论文与研究

RLiable 论文与实验:可靠的比较和统计报告 (新标签页)↗

本次学什么
新增多次运行比较、区间估计和稳健统计报告;用小型结果矩阵复现实验结论。
已学可跳过
不再重学 RL 算法,也不重复模型评测框架的安装和任务配置;概率基础不熟时先回到统计主题。
展开介绍、学习准备与访问说明

模型这次分数高,是否只是运气好?学习同时查看多次运行和多个任务的结果,用分数范围说明结论有多稳,而不只报一个平均分。

可用资料作者论文主页与原文入口 / 配套开源实现 / 交互 Notebook 入口 / 公开基准运行数据入口

NeurIPS 2021 论文;配套仓库已于 2025-10-15 归档

对你的帮助
为模型训练与 Agent 算法实验补充统计报告能力。该论文使用强化学习基准,迁移到其他任务时需重新检查样本结构、独立性和指标含义。
开始前要会什么
Python 与 NumPy 基础;概率统计、抽样与置信区间概念;能理解多任务、多次运行得到的分数矩阵
原资料涉及的知识
分层 bootstrap 置信区间 · 性能分布 · 四分位均值 IQM · 改进概率 · 多次运行和结果不确定性
学习建议
先用一张小表区分任务、重复次数和得分,比较只报平均分与同时给出区间的差别。加入几个极端分数,再观察平均分和四分位均值(只对中间 50% 的分数求平均)怎样变化。保留每次结果,不只挑最好的一次。
访问说明
论文与代码可公开阅读;原仓库已归档,学习历史方法时固定依赖,不把它当作持续维护的生产库。访问部分云端数据可能需要登录。可先用自造小型分数矩阵练习,不要求重新训练大型 RL 模型。

来源:agarwl.github.io (新标签页)↗
核对日期:

其他来源:替代或选学(10)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

PyTorch 文档团队国际开源社区 · 英文

P1 · 重点提升L1 · 基础AI基础官方文档

PyTorch:相同随机种子为何还不够 (新标签页)↗

本次学什么
列种子、随机库、调用顺序、版本、设备五栏,区分种子与运行条件。
已学可跳过
CUDA 注意力后端和多设备优化。
展开介绍、学习准备与访问说明

把随机数种子、算法是否确定,以及设备和版本变化分开检查,知道重复实验还要记录什么。

可用资料可复现性限制说明 / PyTorch、Python、NumPy 的种子示例 / 确定性算法设置说明

PyTorch 2.14 文档;2026-09-28 核验

对你的帮助
补上“种子相同”之外的运行条件,避免把一次可重复误说成所有机器都会逐位相同。
开始前要会什么
会阅读短 Python 代码;知道 CPU、GPU 和库版本是不同运行条件
原资料涉及的知识
随机种子 · 实验复现 · 确定性算法 · 运行环境
学习建议
先读开头限制和 Controlling sources of randomness,再看 Avoiding nondeterministic algorithms。为一个实验列出种子、随机库、调用顺序、框架版本、设备五栏;用已有小例子重复运行并保存输出。首轮跳过 CUDA 注意力后端细节;不要把固定种子当成跨版本或跨设备保证。
访问说明
固定版本公开文档,无需账号。只读和记录环境无需安装;真实 PyTorch 或 CUDA 行为未在本机复跑。确定性设置可能降低性能,也可能遇到不支持的操作。

来源:docs.pytorch.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

scikit-learn 文档团队国际开源社区 · 英文

P1 · 重点提升L1 · 基础AI基础官方文档

scikit-learn:同一个人的数据,该分到哪一边 (新标签页)↗

本次学什么
交两份虚构记录的切分清单,分别检查组不重叠和时间顺序。
已学可跳过
网格搜索、置换检验与把随机拆行当作所有场景的默认。
展开介绍、学习准备与访问说明

从同一对象有多条记录和按时间产生的数据入手,选择更接近实际使用场景的验证划分。

可用资料GroupKFold 代码与划分图 / TimeSeriesSplit 示例 / 打乱顺序的适用性说明

页面标注 scikit-learn 1.9.1;只选分组与时间切分

对你的帮助
随机拆行不一定是在测试新对象或未来数据;先说明想检验什么,再决定怎么划分。
开始前要会什么
知道训练集与测试集的用途;能阅读样本编号和组编号
原资料涉及的知识
分组划分 · 时间划分 · 交叉验证 · 数据泄漏
学习建议
先看 Group K-fold,再看 Time Series Split。给三位虚构用户各写两条记录,画一个组间不重叠的划分;另画按时间先训练后验证的方案,交出两份索引清单和各自测试目标。首轮跳过网格搜索与置换检验;划分正确也不能自动修好事后字段或重复内容泄漏。
访问说明
官方正文与示例输出公开可读;纸上检查不用安装。运行原例需 NumPy 和 scikit-learn。stable 页面会更新,复现实验应记录实际安装版本。

来源:scikit-learn.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

DVC 项目国际 · 英文

P1 · 重点提升L2 · 进阶AI基础官方文档

DVC:改了参数以后,怎样找回当时的结果 (新标签页)↗

本次学什么
只跑两次小脚本实验,比较参数与输出,再验证一次结果恢复。
已学可跳过
先跳过远程存储、排队并行、网格搜索和真实模型训练。
展开介绍、学习准备与访问说明

把实验命令、输入和参数写进配置,运行后对照参数与指标,再把某次实验结果恢复到工作目录。

可用资料运行实验指南 / 参数覆盖示例 / 结果比较及恢复入口 / 主文入口 Get Started: Experimenting Using Pipelines;只看创建阶段、登记参数与指标的部分。

DVC 滚动用户指南;基于 dvc.yaml 的实验流程

对你的帮助
避免把结果散放在 result-final、result-new 等文件夹里。学习者可以先用小脚本练习,不必训练大型模型。
开始前要会什么
熟悉 Git 工作区与提交;会写读写 JSON 的小脚本;能读 YAML;已安装 DVC;先在独立小仓库完成初始化并建立一个能运行的 dvc.yaml 阶段。
原资料涉及的知识
dvc.yaml 实验阶段 · 参数依赖 · exp run / show / apply · 已跟踪文件的恢复范围
学习建议
先从主文的 Get Started: Experimenting Using Pipelines 入口建立最小阶段:输入用自己固定的十个数,params.yaml 放阈值,脚本输出 metrics.json,dvc.yaml 写明命令、输入、参数和输出。确认文件已由 Git 或 DVC 跟踪后,再只读 Running the pipeline(s) 与 Experiment results,运行两个阈值并恢复第一次。交配置、两次实验 ID、输入与指标,以及恢复后的文件比对;本轮未运行。
访问说明
公开说明可读;本轮未安装或运行。此页针对已有 DVC pipeline,且只有 Git 或 DVC 跟踪的文件能随实验保存和恢复;排队不等于已经执行。

来源:doc.dvc.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Hugging Face国际 · 英文

P2 · 按需深入L2 · 进阶AI基础官方文档

Hugging Face Datasets:数据处理没重跑,是不是读了缓存 (新标签页)↗

本次学什么
只用四行数据观察 map 前后的指纹与输出,分清重新处理和缓存复用。
已学可跳过
先跳过 Hub 大数据下载、多进程及手动清除整机缓存。
展开介绍、学习准备与访问说明

数据集和处理步骤会参与生成指纹,缓存据此识别已有结果。通过小数组变换,理解为什么有时重用结果,有时整条处理链重新计算。

可用资料指纹机制说明 / 三行数据的 map 示例 / 哈希及缓存边界说明

Datasets 滚动概念文档;Fingerprint 与 Hashing 小节

对你的帮助
做数据清洗或分词实验时,需要区分代码真正重新执行与取回已有结果,才能解释耗时和产物变化。
开始前要会什么
基础 Python 函数;理解数据转换与缓存;会读列表和字典
原资料涉及的知识
数据集指纹 · 转换函数哈希 · 不可序列化函数 · 缓存复用
学习建议
先读 Fingerprint,再看 Dataset.from_dict 的缓存说明。自拟四行数据,先用 save_to_disk 保存到独立练习目录,再用 load_from_disk 读回。固定两个不依赖外部可变状态的转换函数,从同一份原始数据按同一顺序执行两遍,记录输出、_fingerprint、cache_files 与缓存相关日志;再用 load_from_cache_file=False 做重新计算对照。交记录并区分指纹相同、缓存文件存在与实际重用;本轮未运行。
访问说明
公开文档可读;未安装或运行。文档展示 _fingerprint 作观察入口,不宜把这个内部属性当稳定业务标识;不能哈希的转换会警告并采用随机指纹。 from_dict 创建的内存数据集没有关联缓存目录;练缓存重用前先落盘并读回。不要只凭指纹相同或耗时变短判定命中。

来源:huggingface.co (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Castorini / University of Waterloo加拿大 · 英文

P2 · 按需深入L2 · 进阶大模型与Agent开源实战

Pyserini:把中文检索实验保存成可复查的结果文件 (新标签页)↗

本次学什么
只做自建小索引与中文批量查询,保存 run 文件及环境信息。
已学可跳过
先跳过大型语料、稠密模型、Faiss 和排行榜复现。
展开介绍、学习准备与访问说明

用自建的小文本集和固定问题批量检索,保存每条问题对应的文档、名次与分数;特别检查中文索引和查询使用的语言设置。

可用资料自建索引教程 / 中文三文档示例 / 固定版本安装说明

Pyserini 2.4.0 固定标签

对你的帮助
只展示一条检索成功案例,很难比较修改前后效果。该材料给出输入文件与批量结果文件格式,便于留下可核对的实验记录。
开始前要会什么
会基础 Python;理解按词检索;能准备固定问题及相关文档编号
原资料涉及的知识
JSONL 文档集 · TSV 查询集 · 中文分析器设置 · TREC 结果文件
学习建议
自拟练习:写十条中文 FAQ 和四个问题,预标相关文档。固定 pyserini==2.4.0、中文索引和输入参数,重复两次检索;再只改查询语言,暂不重建索引。交 JSONL、.tsv、结果与变化记录;结果不变也如实记录。安装文档的 ==latest 是占位,不能照抄;本轮未运行。
访问说明
开源材料可读;2.4.0 安装说明以 Python 3.12、Java 21 为基线,依赖较多。此处只学本地 BM25,不需模型 API,也不需大型预建索引;本轮未安装或检索。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Autodesk Research / Justin Matejka、George Fitzmaurice加拿大 · 英文

P1 · 重点提升L1 · 基础AI基础论文与研究

一样的平均数:画出来为什么是两回事 (新标签页)↗

本次学什么
对照图 1/2,再用自拟小数据做平均数相同、分布不同的反例。
已学可跳过
先跳过模拟退火算法、重跑研究代码与依赖旧链接的数据下载。
展开介绍、学习准备与访问说明

看统计量相近而形状不同的数据图,练习为数字摘要补上原始分布的线索。

可用资料Anscombe’s Quartet 与图 1 / Datasaurus Dozen 与图 2 说明 / Method 开头两段

CHI 2017 研究页面;2026-10-07 核查

对你的帮助
模型成绩、耗时和数据质量报告常先看平均值;这份材料帮助检查平均值背后有没有分组、异常点或不同形状。
开始前要会什么
会算平均数;认识散点图的横轴和纵轴
原资料涉及的知识
数据可视化 · 摘要统计 · 散点图 · Datasaurus
学习建议
读图 1、图 2 的说明,再自行构造两组各 8 个数,使平均数相同而分布明显不同。用相同横轴画点图,另写一句平均数不能回答的问题。交原始数表、均值计算与两张点图;不要求下载原论文数据。
访问说明
研究机构原站英文正文可公开读;本轮未验证动画和旧下载入口。初学只读图例与两位小数的说明。

来源:www.research.autodesk.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Seeing Theory / Brown University美国 · 英文

P1 · 重点提升L1 · 基础AI基础交互练习

Bootstrap 小实验:重复抽原来的数据,能看到什么 (新标签页)↗

本次学什么
固定一次原样本,观察有放回重抽样的重复项与均值分布。
已学可跳过
跳过前面圆周率估计、置信区间动画与更复杂 Bootstrap 区间算法。
展开介绍、学习准备与访问说明

先保存一份样本,再从这份样本有放回地抽取,观察重复计算的均值如何变化。

可用资料第 4 章 The Bootstrap 说明 / Sample、Resample 与 Resample 100 times 控件

作者归档站第 4 章 The Bootstrap;2026-10-07 核查

对你的帮助
理解重抽样报告的来源:它重新利用已有样本,能帮助观察估计量的波动,但不会凭空增加新观测。
开始前要会什么
会算平均数;知道有放回抽样会让同一项重复出现
原资料涉及的知识
Bootstrap · 有放回抽样 · 样本均值 · 标准误
学习建议
只读 The Bootstrap。先自定 10 个数并编号,用纸签有放回抽取 10 次,重复两轮,记录每轮编号、数值和均值。再到页面选择分布、Sample 一次,随后保持这份样本只做 Resample 100 times,观察均值直方图。交纸面抽样表、网页设置与操作顺序、直方图截图,并明确两部分数据来源不同。
访问说明
作者站点已归档,正文仍公开可读。本轮在桌面浏览器选择 Normal、生成 n=10 样本,再执行 100 次重抽样,观察到均值直方图;仅验证此操作路径。导航有叠字及脚本报错,未完整验收整章或移动端。

来源:seeing-theory.brown.edu (新标签页)↗
核对日期:

定向补充 · 只学指定内容

NumPy 项目国际开源社区 · 英文

P1 · 重点提升L1 · 基础AI基础官方文档

NumPy:给不同用途分开分配随机数流 (新标签页)↗

本次学什么
在一个进程里分出两条有固定用途的随机数流,检查新增辅助抽样是否影响正式样本。
已学可跳过
先跳过多进程、GPU、跳跃生成器以及碰撞概率推导。
展开介绍、学习准备与访问说明

把辅助抽样和正式样本分给两个随机数生成器,观察辅助步骤多取一个数时,正式样本是否跟着变化。

可用资料SeedSequence spawning 小节 / Compatibility policy / PCG64 生成器说明

NumPy 滚动文档,核查时为 2.5;最小练习在本地 NumPy 2.3.5 执行

对你的帮助
只固定一个种子,程序前面新增一次随机调用仍会影响后面的结果。按用途分流,可以减少互不相关的步骤相互影响。
开始前要会什么
会运行短 Python 函数;了解随机种子与顺序调用;已安装 NumPy;不需要 GPU 或多进程
原资料涉及的知识
SeedSequence.spawn · 独立生成器 · 用途与子流对应关系 · 重复实验记录
学习建议
自拟练习:种子用 20261007。先共用一个 Generator(PCG64(seed)),辅助步骤取 3 个 random 数,正式步骤取 8 个 0–99 整数;让辅助步骤再多取一次,比较正式样本。再从新建的 SeedSequence(seed).spawn(2) 得到两个子种子,固定第 0 个给辅助、第 1 个给正式样本,重复比较。每轮重新创建根种子;交四份正式样本、用途与 spawn_key 对照、Python/NumPy 版本和生成器名称。
访问说明
官方正文与示例无需账号。已用 NumPy 2.3.5 在 Windows 单进程执行自拟最小实验;没有验证跨版本、跨机器或并行运行。

来源:numpy.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Matplotlib 项目国际开源社区 · 英文

P1 · 重点提升L1 · 基础AI基础官方文档

Matplotlib:直方图的柱高和面积分别表示什么 (新标签页)↗

本次学什么
用八个固定数字和两个不等宽区间,复查计数、每箱占比与密度面积。
已学可跳过
先跳过正态分布拟合、自动分箱算法、复杂绘图排版及大样本模拟。
展开介绍、学习准备与访问说明

用宽度不同的两个区间,分清样本数、样本占比和概率密度;检查密度图的总面积,而不是把柱高直接相加。

可用资料Normalizing histograms: density and weight / 不等宽分箱示例 / 可下载 Python 与 Notebook 示例

Histogram bins, density, and weight;核查页面标注 Matplotlib 3.11.2

对你的帮助
两根柱子各装一半样本,宽度不同时,密度高度也会不同。先写清纵轴含义,才能复查图表结论。
开始前要会什么
会算比例与长方形面积;能读短 Python 数组代码;手算只需纸笔;运行和绘图分别需要 NumPy、Matplotlib
原资料涉及的知识
不等宽分箱 · count 与 density · 每箱样本占比 · 图表复查
学习建议
自拟练习:数据取 [0.1,0.2,0.3,0.7,1.1,1.5,2,3.5],边界取 [0,1,4]。先算每箱计数、计数除以 8、再除以箱宽的密度。分别画 count、每箱占比、density 三图,标出边界和纵轴名称;解释为什么两箱占比都为 1/2,密度高度却是 1/2 与 1/6。交数值表和图,并检查密度乘箱宽后的总和。
访问说明
官方图文、源码与 Notebook 下载入口公开,无需账号。本轮已用 NumPy 核对自拟数据的计数和密度计算,未安装或渲染 Matplotlib。

来源:matplotlib.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Data Carpentry / OpenRefine国际 · 英文

P1 · 重点提升L1 · 基础AI基础开放教材

OpenRefine:清洗步骤能不能完整重做 (新标签页)↗

本次学什么
用同一份公开 CSV 对比批量操作重放、单格修改与完整项目归档,记录每种保存方式的范围。
已学可跳过
先跳过聚类纠错、在线对齐服务、多人服务器部署与自动化客户端。
展开介绍、学习准备与访问说明

用公开样例数据导出清洗操作,再在第二个项目应用;对比操作 JSON、结果 CSV 和完整项目归档各保留了什么。

可用资料Using scripts / Exporting and Saving Data / SAFI 样例 CSV / 官方 Reusing operations 说明

OpenRefine for Social Science Data 第 5–6 节;结合 OpenRefine 当前手册核查

对你的帮助
留下最终表格还不足以解释它怎么变成这样;操作脚本也未必包含所有手动修改。复查需要知道保存文件的范围。
开始前要会什么
会识别 CSV 的行与列;已安装本地 OpenRefine 并能从浏览器打开;先按教材第 2 节学会导入数据和修改单元格
原资料涉及的知识
清洗操作记录 · Extract 与 Apply · 单格修改边界 · 项目归档
学习建议
自拟练习:从教材 Setup 下载 SAFI CSV,保留原件,以相同设置导入为 A、B 两个项目。操作前清空筛选与临时排序,记录首行的 key_ID。A 中把 village 列批量改成大写,再只手动把已记录 key_ID 对应行的 village 单元格改为 DEMO_ONLY;这只是对照试验,不当作真实纠错。导出操作 JSON 并在 B 应用,检查批量变化和单格变化是否都出现。再把 A 导出为完整项目归档,导入后检查历史。交原始数据身份、JSON、归档及差异表;导出全表 CSV 前清除筛选条件并核对行数。
访问说明
教材与样例下载无需账号;已实际取得原始 CSV 并核对 131 行、62 列。实际操作需要本地 OpenRefine;本轮仅完成样例下载与行列检查,尚未安装或执行 GUI 清洗、导出和重放。

来源:datacarpentry.github.io (新标签页)↗
核对日期:

用规则查找文字

从几行文字中找出符合条件的部分,并检查哪些情况应该排除。

完成标准能解释一条简单正则表达式,并准备至少一条匹配和一条不匹配的输入。

推荐主线

RegexOne国际 · 英文

P1 · 重点提升L0 · 零基础计算机基础交互练习

RegexOne:用小练习学会匹配文字 (新标签页)↗

本次学什么
先做 Lesson 1–5,认识普通字符、字符范围和大小写;有需要再补首尾与分组。
已学可跳过
先不做邮箱、HTML 和复杂日志题;不要把练习规则直接当作完整的业务输入校验。
展开介绍、学习准备与访问说明

在几行示例文字中输入一条匹配规则,观察哪些文字被选中。从普通字母开始,再认识字符范围、重复次数和首尾位置。

可用资料逐课说明与交互输入框 / 每题匹配与跳过样例 / 提示和答案解释

交互教程:Lesson 1–5,按需补首尾与分组

对你的帮助
给字符串处理增加可见的反馈,适合在写 Java 输入检查或日志提取之前,先弄清规则实际匹配了什么。
开始前要会什么
能区分字母、数字和标点;能阅读简单英文题目
原资料涉及的知识
字符串 · 正则表达式 · 字符范围 · 匹配与排除
学习建议
从首页的第一题开始,先找三行文字共同出现的部分。做到第 5 课后,记录一条应该匹配和一条应该排除的输入;改变大小写再检查结果。先独立预测,再看提示,不必一口气完成所有练习。
访问说明
英文练习页可公开打开;交互需要 JavaScript。网页上的规则用于认识语法,搬进 Java 字符串时还需处理反斜杠转义,并检查匹配方法的含义。

来源:regexone.com (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Jeff Avallone / Regexper国际 · 英文

P1 · 重点提升L0 · 零基础计算机基础交互练习

Regexper:把正则里的分支和可选部分画出来 (新标签页)↗

本次学什么
只读分组、分支和可选路径,用一条短规则解释匹配与排除。
已学可跳过
跳过回溯性能、复杂前后查找、Unicode 扩展和邮箱等大型表达式。
展开介绍、学习准备与访问说明

把短正则表达式画成从左到右的路径,看清哪里二选一、哪里可以跳过、哪里会重复。

可用资料Reading Railroad Diagrams / Alternation、Subexpressions 与 Optional / Display 图示与导出入口

原作者可视化工具与 Reading Railroad Diagrams;2026-10-07 核查

对你的帮助
知道几个符号后,容易看错它们作用于哪个字符或分组;路线图帮助解释一整条规则的结构。
开始前要会什么
认识普通字符、括号和简单正则表达式;能区分匹配一个字符与匹配一段文字
原资料涉及的知识
正则分组 · 选择分支 · 可选量词 · 路径图
学习建议
输入 ^(cat|dog)s?$,先画出 cat/dog 二选一和 s 可跳过的两处路径,再看工具图。为 cat、cats、dog、dogs、catdog、dogs! 和空文本逐项预测匹配结果;把 ? 改为 + 后重新解释差别。交两张草图或生成图和预测表;实际匹配要另用项目所用的正则引擎检查。
访问说明
原作者工具页、文档及源码入口公开可读;需要浏览器脚本生成图。本轮未成功接入浏览器执行 Display,未验证图形生成和导出。

来源:regexper.com (新标签页)↗
核对日期:

用小游戏看懂网页布局

通过移动页面元素,理解对齐方式与排列方向怎样配合。

完成标准能解释自己写的一条 CSS 对齐规则,并在方向改变后重新判断主轴。

推荐主线

Thomas Park / Codepip;中文译者 Tim Guo 等国际项目 · 中文

P2 · 按需深入L0 · 零基础网页基础交互练习

Flexbox Froggy:写几行 CSS,把青蛙送到荷叶上 (新标签页)↗

本次学什么
用简体中文完成前几关,再观察 flex-direction 如何改变主轴。
已学可跳过
先跳过更复杂的组合布局与商业课程;不需要先学 JavaScript 框架。
展开介绍、学习准备与访问说明

通过青蛙与荷叶的位置练习网页布局:修改容器的对齐方向、间距或排列方式,再观察元素移动。提供简体中文关卡文字。

可用资料浏览器游戏 / 简体中文提示 / 难度选择 / 色觉辅助模式

指定入门内容与浏览器控件;2026-09-26 核对

对你的帮助
这是计算机学习范围内的趣味网页实践,可以帮助读者理解页面为什么挤在一起;它补的是前端布局,不是 Java 或后端框架课程。
开始前要会什么
知道 CSS 用于网页样式;能输入属性名、冒号和分号
原资料涉及的知识
CSS · Flexbox · 主轴与交叉轴 · 对齐和换行
学习建议
从 Beginner 开始,在设置中选择简体中文。先练对齐,之后改变 flex-direction,观察原先看似横向的属性为何改为控制纵向。每关先预测移动方向,完成后用一句话解释是哪条属性起了作用。
访问说明
本轮切换到简体中文,完成前两关并进入第三关;所选练习无需登录。未验证全部关卡和移动端。网页另有商业产品入口;前几关的横纵说明对应默认方向,后面须结合主轴理解。

来源:flexboxfroggy.com (新标签页)↗
核对日期:

其他来源:替代或选学(1)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

MDN Web Docs美国/国际社区 · 中文

P1 · 重点提升L1 · 基础网页基础官方文档

CSS 叠放:数字更大,为什么还被盖住 (新标签页)↗

本次学什么
沿示例的父子结构比较叠放顺序,再分开改变父元素与子元素的 z-index。
已学可跳过
先跳过完整堆叠算法、浮动元素和顶层弹窗;不背所有创建条件。
展开介绍、学习准备与访问说明

沿父子层级看重叠方块,分清一个元素的 z-index 到底在和谁比较。

可用资料“层叠上下文”规则 / “示例”的树形结构与版本号比喻 / “示例源码”的 HTML/CSS

层叠上下文中文指南;2026-10-07 核查

对你的帮助
按钮、浮层或卡片被挡住时,先找它所在的层级,能避免不断把数字加大却毫无变化。
开始前要会什么
会读简单 HTML 父子结构;知道 position 和 z-index 的基本写法
原资料涉及的知识
层叠上下文 · z-index · 父子结构 · 重叠元素
学习建议
只看示例中父层与子层的比较。仿照源码,用 position 和非 auto 的 z-index 明确建立两个父层叠上下文,其中一个包含子盒子,让它们重叠。先预测顺序,再分别只提高子层、只提高父层,记录变化。交结构树和两次修改前后截图。
访问说明
中文正文、图示与源码公开;本轮检查文字和源码,未实际拖动或修改在线演示。

来源:developer.mozilla.org (新标签页)↗
核对日期:

读懂 AI 的分数和把握

给成绩补上样本量、适用任务与概率含义,避免被一个百分比带偏。

完成标准能说明一个分数衡量什么、来自多少样本,以及还没有证明什么。

推荐主线

Hugging Face国际社区 · 英文

P1 · 重点提升L1 · 基础AI基础官方文档

Hugging Face Evaluate:先问指标在衡量什么 (新标签页)↗

本次学什么
先为任务写评测目标,再核对指标需要的数据与解释范围。
已学可跳过
不下载模型、完整基准或评测模块;运行框架另看实验主题。
展开介绍、学习准备与访问说明

区分通用指标、任务专用指标和基准专用指标,先确认输入格式与任务目标。再读评测考虑事项中的离线、线上和可解释性部分,练习给分数补上使用条件。

可用资料三类指标介绍 / 指标输入格式例子 / 评测考虑事项 / 结果解释限制

Choosing a metric for your task 与评测考虑事项定向阅读;2026-09-26 核验

对你的帮助
与现有评测运行框架形成分工:这里先决定分数回答哪个问题,不下载模型或完整基准。也区别于已有Hugging Face LLM、Agent和MCP课程入口。
开始前要会什么
知道预测值与参考答案的区别
原资料涉及的知识
指标选择 · 评测输入 · 离线与线上 · 评测说明
学习建议
先为工单分类与简短摘要各写一句评测目标,再按页面三类指标检查需要什么预测和参考数据。接着阅读Considerations for model evaluation中的Offline vs. online与Interpretability。不要把一个基准的分数当作所有业务质量;无需访问外部排行榜。
访问说明
已公开读取两篇文档正文,无需登录。文中的evaluate.load示例可能下载评测模块,本项只做阅读和纸面设计,不执行下载或模型推理。

来源:huggingface.co (新标签页)↗
核对日期:

其他来源:替代或选学(4)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

NIST / Engineering Statistics Handbook美国 · 英文

P1 · 重点提升L1 · 基础AI基础开放教材

NIST:给小样本正确率补上一段范围 (新标签页)↗

本次学什么
只看 Wilson 比例区间,比较样本量变化怎样影响范围。
已学可跳过
先跳过其他区间算法与统计软件代码;独立性不成立时不能直接套公式。
展开介绍、学习准备与访问说明

从 Wilson 比例区间的公式观察样本数量怎样影响估计范围。给答对 9 道的结果补上总题数,练习分清一次观察结果和对同类未来任务的推测。

可用资料官方统计教材正文 / 比例区间公式 / 小样本方法说明

7.2.4.1 比例置信区间定向阅读;2026-09-26 核验

对你的帮助
补充小样本 AI 评测的统计直觉。既有 rliable 侧重评测报告与研究工具,本项只读二项比例区间,不运行评测库或训练模型。
开始前要会什么
知道比例和百分比;能读懂简单平方与平方根
原资料涉及的知识
小样本评测 · 置信区间 · Wilson方法 · 抽样假设
学习建议
先只读 Wilson 方法和区间公式,把 n 换成10、100、1000;再从手册7.1.4理解95%说的是重复抽样的覆盖表现。对照站内小样本文章的标准库示例。不要把区间解释为下一批成绩保证,也不要用独立样本公式掩盖重复题或偏样本。
访问说明
所选正文公开可读,无需账号。页面还包含其他统计软件代码与精确二项方法;本项不要求安装或运行这些软件。

来源:www.itl.nist.gov (新标签页)↗
核对日期:

定向补充 · 只学指定内容

scikit-learn 开发者国际社区 · 英文

P1 · 重点提升L1 · 基础AI基础官方文档

scikit-learn:八成概率与实际八成怎样对照 (新标签页)↗

本次学什么
看可靠性图,同时核对每组的预测概率、实际比例和样本量。
已学可跳过
不必先训练校准模型;多分类和各方法推导留到需要时。
展开介绍、学习准备与访问说明

把相近预测概率放进一组,对照组内真正发生的比例。重点读可靠性图和样本分布图,理解分对几题与报出的概率是否可靠是不同问题。

可用资料校准定义 / 可靠性图 / 概率分布图 / 校准数据分工说明

文档第 1.16 节 Probability calibration 的定义、可靠性图和数据分工;2026-09-26 核验

对你的帮助
为分类阈值和概率展示提供补充判断方式。已有通用机器学习课程覆盖模型入门,本项直接练习读概率校准图,并指出Brier分数不只衡量校准。
开始前要会什么
知道二分类的0和1标签;知道平均值和百分比
原资料涉及的知识
概率校准 · 可靠性图 · 分组样本量 · 概率误差
学习建议
先读开头定义和Calibration curves,选图上一个概率组,同时检查实际频率与样本量。再读Brier警示和校准器需要独立数据的说明。暂跳过多分类及各校准算法公式;不要把Brier降低直接等同于校准改善。
访问说明
文档与图公开可读,无需账号。可以只读图和站内纯Python示例;本项不要求安装scikit-learn或训练示例模型。

来源:scikit-learn.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

scikit-learn国际社区 · 英文

P1 · 重点提升L1 · 基础AI基础官方文档

scikit-learn:同一份分类结果怎样求平均 (新标签页)↗

本次学什么
只看 average、labels、support 和 zero_division,给三种 F1 写清计算顺序与分母。
已学可跳过
先跳过多标签的 samples 平均,不要求安装库或训练模型。
展开介绍、学习准备与访问说明

先看每个类别的成绩,再比较合并计数、各类等份平均和按真实数量加权。把类别名单与零分母规则一并写清,才知道两个 F1 总分是否可以比较。

可用资料参数定义 / 返回值说明 / 逐类计算示例

average、labels、support 与 zero_division 参数定向阅读;2026-09-27 核验

对你的帮助
给站内三种 F1 互动补上官方定义;适合已经会看精确率和召回率、开始阅读多类别报告的读者。
开始前要会什么
会算比例与平均数;知道真实类别和预测类别的区别
原资料涉及的知识
micro F1 · macro F1 · weighted F1 · 零分母
学习建议
先读 average 中 micro、macro、weighted 三项,再读 labels、support 与 zero_division。用一张小账本各算一次,注明哪些类别被纳入。暂时跳过多标签的 samples 平均与其他模型 API。
访问说明
公开文档正文已读,无需登录;本项只读定义并对照站内例子,没有安装或运行 scikit-learn。

来源:scikit-learn.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

OpenCompass 开源项目中国 · 中文

P1 · 重点提升L1 · 基础大模型与Agent官方文档

OpenCompass 中文:分数前面还经过了哪些处理 (新标签页)↗

本次学什么
对照评估器与前后处理;完成三组自拟答案的规则差异记录。
已学可跳过
代码执行评测、外部评分 API、榜单排名。
展开介绍、学习准备与访问说明

沿评估指标表和配置例子,分清模型原始回答、答案整理规则和最后的评分器。

可用资料中文指标对照表 / 评估配置片段 / 评分器源码入口

页面标注 OpenCompass 0.5.4;2026-09-28 核验

对你的帮助
同一段回答经过不同后处理,可能得到不同分数;比较模型前应先核对评分规则。
开始前要会什么
知道预测答案与参考答案的区别;能辨认简单 Python 字典
原资料涉及的知识
模型评测 · 答案后处理 · 正确率 · 匹配规则
学习建议
先看“已支持评估指标”和“如何配置”,标出 evaluator、pred_postprocessor、dataset_postprocessor。自拟三组答案,分别按原样比较和你明写的整理规则比较,记录差异;不要把自拟规则说成框架默认。首轮跳过代码执行评测、外部评分 API 和榜单排名。
访问说明
正文公开可读,无需登录。阅读和手工练习无需模型;完整框架评测另需安装依赖、数据与可用模型,本轮未运行。

来源:opencompass.readthedocs.io (新标签页)↗
核对日期:

请求等待、重试与取消

为一次请求分配有限时间,再分清失败重试、停止等待和通知下游取消。

完成标准能画出带剩余时间的调用链,正确统计总尝试次数,并说明取消何时仍需下游配合。

推荐主线

Apache Dubbo / Apache 软件基金会国际社区 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Dubbo 中文:一次调用能等多久、失败后重试几次 (新标签页)↗

本次学什么
只读超时、Deadline 及 Failover/Failfast,核对 Java 框架配置怎样对应总时间与总尝试次数。
已学可跳过
不从注册中心或部署重学 Dubbo;SPI、广播、并行竞速等容错方式按需再补。
展开介绍、学习准备与访问说明

从一个服务调用另一个服务的场景,读懂超时配置、整条请求链的剩余时间,以及失败重试的次数。

可用资料请求超时:配置层级与 Deadline 机制 / 集群容错:Failover、Failfast 及 retries 参数

Dubbo Java SDK 当前中文任务文档;超时与集群容错两节,参数以项目版本为准

对你的帮助
给站内重试风暴和请求时间预算文章补上真实 Java 框架的配置含义。重点核对首次调用与重试的计数、逐层传递剩余时间,不再重学微服务入门。
开始前要会什么
能读懂 Java 方法调用;知道一次远程调用可能失败或变慢
原资料涉及的知识
超时配置 · Deadline 剩余时间 · Failover 重试 · Failfast · 幂等边界
学习建议
先读超时页,再从同级目录打开“集群容错”。给 A→B→C 画一条共享截止时间线,并把 retries=2 写成“首次调用加最多两次重试”。这里只学习计数与等待边界;抖动退避需另看站内实验,超时也不能被当作远端业务已停止或已撤销。
访问说明
中文正文可直接阅读,无需账号或云服务。本轮只核对文档,未运行 Dubbo 集群;先做调用时间线推演,已有本地项目时再按对应版本验证配置。

来源:dubbo.apache.org (新标签页)↗
核对日期:

其他来源:替代或选学(5)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Go 官方文档国际社区 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Go 官方短读:把取消信号一路传到数据库调用 (新标签页)↗

本次学什么
只追踪 Context 到 QueryContext 的取消传递,补查 CancelFunc 与驱动支持的边界。
已学可跳过
不要求学习完整 Go 语法或部署数据库;不把请求取消等同于副作用回滚。
展开介绍、学习准备与访问说明

看一小段 Go 代码,理解请求超时或用户离开后,程序如何把“可以停止了”的信号传给下游操作,并及时释放相关资源。

可用资料Canceling in-progress operations 完整短文 / context:WithTimeout 与 CancelFunc / database/sql:包概述中的驱动取消边界

Go 数据库操作指南;配合 context.CancelFunc 与 database/sql 包说明阅读

对你的帮助
为超时与取消文章补充一个具体 API 调用链:请求 Context、子 Context、QueryContext 和 cancel。它适合跨语言对照,不要求先学完整 Go 后端课程。
开始前要会什么
能读懂函数参数和错误返回;了解 SELECT 查询;不熟悉 Go 时先只辨认函数调用关系
原资料涉及的知识
Context · WithTimeout · 父子取消传递 · QueryContext · 取消与停止完成的区别
学习建议
沿着参数找出父 Context、带时限的子 Context 和 QueryContext,再解释 defer cancel 负责什么。补查两个边界:CancelFunc 不等待工作停止;不支持取消的数据库驱动可能仍要等查询结束才返回。将它与站内本地取消实验对照,不把取消信号当成已完成写入的回滚。
访问说明
英文官方章节公开可读,无需账号。指南示例需要数据库连接和驱动,并非复制后即可独立运行;本项只作代码阅读,本轮未声称运行 Go 数据库示例。

来源:go.dev (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Amazon Builders’ Library美国 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

AWS:重试请求怎样避免重复办事 (新标签页)↗

本次学什么
用三张请求卡比较同编号同参数、同编号不同参数、新编号同参数。
已学可跳过
云服务命令;本练习只设计请求与业务写入的处理规则。
展开介绍、学习准备与访问说明

用调用方提供的请求编号识别重试,讨论编号相同但参数变了、请求晚到,以及保存处理结果要保留多久。

可用资料故障场景说明 / 请求与响应流程 / 设计取舍讨论

2026-09-28 核阅的工程文章

对你的帮助
已有资料讲等待多久再试,这篇补上另一半:服务收到重复请求时,怎样避免重复创建订单或资源。
开始前要会什么
理解请求、响应与超时;了解数据库事务;知道重试可能发生在响应丢失之后
原资料涉及的知识
幂等请求 · 请求编号 · 重复请求参数检查 · 去重记录保留
学习建议
先读 Reducing client complexity,再读 Late arriving requests 和 Same client request ID, different intent;跳过云命令长输出。用三张请求卡写清同编号同参数、同编号不同参数、新编号同参数应如何处理,并说明去重记录与业务写入为什么要一起成功。
访问说明
文章公开可读,无需 AWS 账号。可以用纸面案例或本地小程序练习;文中的云服务命令不是本练习的必需步骤。

来源:aws.amazon.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

WireMock国际社区 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

WireMock:让下游故意变慢或返回错误 (新标签页)↗

本次学什么
在本地模拟正常、超时、503 和空响应,逐项记录客户端如何结束。
已学可跳过
先跳过随机长尾、云服务和连接重置;Windows 上连接重置行为需另验。
展开介绍、学习准备与访问说明

在本地准备可控制的下游接口,让它延迟响应、返回错误状态或空响应,检查 Java 客户端怎样结束等待和处理失败。

可用资料Java 配置示例 / JSON 配置示例 / 故障类型与平台说明

Simulating Faults(滚动文档)

对你的帮助
把已有的超时、重试说明变成可重复的客户端练习,不必等待真实服务发生故障。
开始前要会什么
能发起 Java HTTP 请求;理解 HTTP 状态码;会写基础自动测试
原资料涉及的知识
固定延迟 · 错误状态 · 空响应 · 超时与失败记录
学习建议
固定客户端超时,只改变下游行为;分别记录返回状态、异常类型、耗时与尝试次数。先关闭自动重试,再单独验证明确设计的重试规则。
访问说明
已读官方故障模拟文档;未启动 WireMock 或运行客户端。文档明确提示 CONNECTION_RESET_BY_PEER 在 Windows 可能挂起,故先选固定延迟、503 和空响应。

来源:wiremock.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Temporal国际社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Temporal Java:怎样检查长任务、取消与历史重放 (新标签页)↗

本次学什么
用 Java 测试环境检查等待、取消与一次历史重放,分清测试快进和真实恢复。
已学可跳过
先不引入真实模型、支付写入、生产集群或完整编排平台。
展开介绍、学习准备与访问说明

用测试环境快进等待时间,替换外部任务,并用保存的执行历史检查代码变更是否仍能重放。适合研究做了很久、会等待或需要恢复的业务流程。

可用资料Java 测试依赖说明 / JUnit 4/5 示例 / Activity 心跳与取消示例 / 从 JSON 文件重放历史的代码

Java SDK Testing 指南;2026-10-03 阅读

对你的帮助
本站已有超时和重试材料;本条补 Java 工作流的可测试性与历史兼容检查。迁移到 Agent 时,可先把模型调用替换为固定结果,检查调度与业务状态。
开始前要会什么
Java、JUnit 和 Maven/Gradle;理解 Workflow 与 Activity 的分工;了解重试、取消和外部操作可能重复的问题
原资料涉及的知识
TestWorkflowEnvironment · Activity 替身 · 自动或手动快进时间 · Heartbeat 与取消 · WorkflowReplayer 历史兼容检查
学习建议
先做一个等待后调用本地计数 Activity 的流程,以替身覆盖成功和取消。保存历史后改动控制流程,观察重放是否发现不兼容;真实进程重启与副作用恢复另做实验。
访问说明
已阅读测试框架、时间快进、Activity 取消与 WorkflowReplayer 文档;未运行 Temporal 服务或 Java 示例。测试依赖应与 SDK 对齐。历史重放通过只支持确定性兼容结论,不等于真实宕机恢复和外部写入幂等已经验证。

来源:docs.temporal.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Alibaba Sentinel中国 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

Sentinel 中文:下游变慢时,限制同时忙着的请求 (新标签页)↗

本次学什么
在相同到达速率下改变处理耗时,区分并发阈值和 QPS 阈值。
已学可跳过
控制台、集群限流、热点参数、预热和自适应策略暂不配置。
展开介绍、学习准备与访问说明

把“每秒来了多少请求”和“现在有多少请求还没完成”分开统计,观察慢下游为何会让同时占用的线程越来越多。

可用资料并发线程数流量控制小节 / 官方 FlowThreadDemo / 基本资源与规则配置

Sentinel 1.8.x Java 流控文档;Java 8+;核对 2026-10-07

对你的帮助
低 QPS 也可能耗尽工作线程。并发数限制能补上按速率限流看不到的一种压力。
开始前要会什么
知道线程与阻塞调用;能写 try/finally 或 try-with-resources;理解吞吐量与耗时是不同指标
原资料涉及的知识
并发数限制 · 慢下游 · QPS · 资源入口 · 拒绝处理
学习建议
自拟练习:用独立调度器每 200ms 向至少 3 个工作线程投递本地任务,记录计划与实际进入时间。处理分别约 50ms 和 500ms,同一资源并发阈值设为 2,记录并发数、通过数、拒绝数。交两组记录,成功进入后务必退出;本轮未压测,调度延迟也需记录。
访问说明
中文官方文档和示例源码可读;核心库支持 Java 8+,入门页示例使用 1.8.6。本轮未压测或启动控制台,练习不需要接入真实下游。

来源:sentinelguard.io (新标签页)↗
核对日期:

数据怎样保存与还原

先理解数据怎样按约定保存,再选学图片压缩、二维码或字节序。每次都分清原始内容、保存格式和读取方式。

完成标准留下一份编码与还原记录;选学图片格式时,再用照片、截图和透明图标说明各自需要保留什么。

推荐主线

University of Canterbury · Computer Science Field Guide新西兰 · 英文

P1 · 重点提升L0 · 零基础计算机基础交互练习

游程压缩小画板:连续的黑白格子能怎样简写? (新标签页)↗

本次学什么
只读 7.2–7.2.2,画连续区与交替图案,按约定还原其中一行。
已学可跳过
Huffman 编码与完整压缩课程;不要直接比较位数和字符数。
展开介绍、学习准备与访问说明

一长排白格子,不必挨个写成 0,也可以记成“连续几个白格”。用黑白图片练习这种简写,再把数字还原成图片,看看什么样的图更适合它。

可用资料第 7.2 节黑白图片与连续段计数说明 / 第 7.2.1 节还原练习 / Run Length Encoding 网页画板 / 第 7.2.2 节存储量讨论

在线第 7.2 节;页面标示网站版本 3.17.0,核对于 2026-09-28

对你的帮助
为站内压缩上限文章补一项看得见的练习:压缩要利用数据里的规律,并且让接收者按同一规则还原;不是每种图片都能同样变小。
开始前要会什么
会数格子,知道 0 和 1 可以代表黑白两色
原资料涉及的知识
游程编码 · 无损压缩 · 黑白图像 · 数据表示 · 编码开销
学习建议
先只读 7.2–7.2.2。画一块连续涂黑区域,再画黑白交替的图,分别记连续段;按本页从白色开始的约定,把其中一行还原。产出一张“原行、简写、还原结果”对照表,并说明数字和分隔符本身也占空间。先不学后面的 Huffman 编码。
访问说明
英文正文可公开阅读;画板需要浏览器启用 JavaScript,嵌入视频可跳过。画板分别显示图像位数与编码字符数,不能把两种单位直接当成真实文件的压缩率。

来源:www.csfieldguide.org.nz (新标签页)↗
核对日期:

其他来源:替代或选学(7)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

Project Nayuki国际(独立开源项目) · 英文

P1 · 重点提升L1 · 基础计算机基础交互练习

二维码参数实验:文字没变,方格为什么变多了? (新标签页)↗

本次学什么
固定文字,关闭 Boost ECC,只改纠错等级,记录实际尺寸与图案。
已学可跳过
源码安装、多语言移植与扫码率结论;参数变化不保证尺寸每次都变。
展开介绍、学习准备与访问说明

在同一段文字上调整纠错等级,观察二维码的尺寸与图案;再认识小方格、尺寸版本和掩码这些词分别指什么。

可用资料Live demo 中的文字、纠错等级与统计栏 / Features 中的版本范围与 Boost ECC 说明 / QR Code technology overview 的 Terminology 与生成步骤

原作者在线说明与 Live demo;QR Code Model 2,核对于 2026-09-28

对你的帮助
接着站内二维码纠错文章看真实生成器的参数:更强纠错需要更多冗余,尺寸也受文本和编码方式影响;它不是“任意遮住多少面积都能读”的保证。
开始前要会什么
已知道二维码用黑白小格保存数据;能先固定文字,再一次只改一个参数
原资料涉及的知识
二维码 · 纠错等级 · 尺寸版本 · 掩码 · 控制变量
学习建议
在 Live demo 输入自编短句,关闭 Boost ECC,保持版本范围和掩码选择不变,只切换 Low 与 High;记录实际版本、格子数和图案是否变化。再把文字加长后重复。产出两组参数对照与一句解释:结果可能不变,也可能扩大,不能预先承诺每次提高纠错都会多一圈格子。先跳过各语言安装与源码移植。
访问说明
网页说明与演示公开可读,演示需要 JavaScript;无需下载或运行其多语言源码。这里只观察生成参数,不把二维码生成成功当作摄像头实扫通过。

来源:www.nayuki.io (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MDN Web Docs国际社区 · 中文

P1 · 重点提升L1 · 基础计算机基础官方文档

MDN 中文:同四个字节,按什么顺序读成数字? (新标签页)↗

本次学什么
同四字节分别按大端、小端读取,记录十六进制结果和读取边界。
已学可跳过
完整文件格式解析;本方法不会自动识别格式。
展开介绍、学习准备与访问说明

先把四个字节排好,再用一个明确的参数选择按大端还是小端解释。观察相同字节怎样得到不同数字,也看看读取超出缓冲区时会发生什么。

可用资料getUint32 的参数、返回值与异常 / getUint32 的示例 / MDN 字节序术语页的字节排列例子

DataView.getUint32 中文参考与字节序术语页,核对于 2026-09-28

对你的帮助
给站内大小端文章补一份中文 API 对照:不必猜电脑当前采用哪种字节序,可以明确告诉 DataView 怎样读取;变化的是解释顺序,不是每个字节内部的位顺序。
开始前要会什么
知道一个字节通常用两位十六进制数书写;能看懂简单 JavaScript 函数调用;也可先只做纸面练习
原资料涉及的知识
字节序 · 大端与小端 · DataView · 无符号整数 · 读取边界
学习建议
先读 byteOffset 与 littleEndian 参数,保持同一组四个字节,分别按 false 和 true 读取,并把结果转换为十六进制对照;再预测偏移导致不足四字节时应怎样处理。产出一张“字节顺序、读取参数、结果”的表,再与本站实验比较:本站固定一个数看两种写入排列,这里固定字节看两种读法。首轮不扩展到完整二进制文件解析。
访问说明
中文正文可公开阅读,页面示例需要 JavaScript。此方法从指定偏移读取四字节的无符号整数;它不会自动识别文件格式,也不替你验证整份文件是否正确。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Omar Shehata / Parametric Press国际 · 英文

P1 · 重点提升L1 · 基础计算机基础交互练习

Unraveling the JPEG:照片里的方块从哪来 (新标签页)↗

本次学什么
先看颜色抽样,再看怎样把小块像素换成系数(DCT),以及怎样把系数按步长舍入(量化)。
已学可跳过
先跳过熵编码、文件破坏实验和感知生理类比;不套用例图的压缩倍数。
展开介绍、学习准备与访问说明

把一张照片拆成颜色信息、小块和一组组数字,观察压缩后哪些细节发生变化。适合接着图片格式文章,理解常见有损 JPEG 为什么可能出现方块和边缘变化。

可用资料作者交互长文 / 图像与数字对照 / 分层压缩示意

2019-05-01 原创交互文章;2026-09-28 核验正文

对你的帮助
站内已经解释照片与截图如何选格式;这里让读者进一步看到颜色抽样、图像分块和量化在做什么,而不必先推公式。
开始前要会什么
知道像素可以用数字表示;能区分有损与无损
原资料涉及的知识
JPEG · 颜色抽样 · 离散余弦变换 · 量化 · 压缩伪影
学习建议
先看颜色抽样,再看 DCT(把小块像素换成一组描述明暗图案的系数)与量化(把系数按步长舍入)。先跳过最后的编码细节。挑一个图像小块,记录改动前后的变化,画出从像素到系数再到近似图像的三步图。把变换和舍入造成的损失分开说明;例图的压缩比不是所有图片的保证。
访问说明
公开英文网页,交互需要 JavaScript。若控件无法使用,可先阅读图文中的颜色抽样、分块与量化说明。

来源:parametric.press (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MDN Web Docs国际 · 中文

P1 · 重点提升L0 · 零基础计算机基础官方文档

MDN 图像格式指南:只读 JPEG 与 PNG (新标签页)↗

本次学什么
只读 JPEG / PNG 两段,给照片、文字截图、透明图标各写选择理由。
已学可跳过
跳过整页历史浏览器兼容表与其他格式的性能比较;选型仍需实际比较图片。
展开介绍、学习准备与访问说明

用中文查清两个常见选择:照片里的细节可以怎样取舍,带小字、线条或透明背景的图片又需要保留什么。只学 JPEG 与 PNG 两段,先不背整张格式表。

可用资料中文格式说明 / 颜色模式表 / 图片选择指南

中文在线指南;定向核验 JPEG / PNG 正文

对你的帮助
为站内图片格式入门提供可直接阅读的中文参考,补充无损压缩和 alpha 透明度这两个容易混在一起的概念。
开始前要会什么
用过照片和截图
原资料涉及的知识
JPEG · PNG · 无损压缩 · alpha 透明度 · 图片格式选择
学习建议
读 JPEG 和 PNG 两段,给照片、带小字的截图、透明图标各写一个选择理由,并写下需要检查的文件体积或边缘效果。区分“PNG 压缩可还原输入的像素数据”和“先缩图或减色造成的信息已经恢复不了”;无损也不表示文件一定更小。
访问说明
公开中文网页,无需账号。页面含历史兼容性资料,本入口不把其中旧浏览器表或其他格式支持结论当作当前选型依据。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Bartosz Ciechanowski国际 · 英文

P1 · 重点提升L1 · 基础计算机基础交互练习

透明图层:两个半透明图层叠起来,总不透明度怎么算 (新标签页)↗

本次学什么
只读 Opacity、Coverage、Alpha 与 Combining Alphas,先理解两个透明度如何组合。
已学可跳过
先跳过 Porter-Duff 全部运算、预乘颜色细节和色彩空间推导;不直接用截图色值验证线性公式。
展开介绍、学习准备与访问说明

从像素覆盖和透明度讲到图层合成,用示意图和滑块说明 RGBA 中多出来的 alpha 数值在控制什么。

可用资料原作者图文讲解 / 透明度与像素覆盖示意 / 滑块和图形拖动演示说明

Alpha Compositing(2019);核对 2026-10-03

对你的帮助
把透明图片、平滑边缘和图层叠加连到可计算的数值,补充本站图像格式与数据表示练习。
开始前要会什么
会算百分比与小数乘法;知道 RGB 表示红绿蓝分量
原资料涉及的知识
像素覆盖 · RGBA · alpha · 透明度叠加 · 图层顺序
学习建议
先读 Opacity、Coverage、Alpha 和 Combining Alphas。只看同一像素、两层完全覆盖、上层盖在下层上方的普通合成,不含额外的不透明背景。先预测两层各 50% 的组合,再计算 0%、50%、100% 的 3×3 不透明度表;理解后再读颜色混合,暂不做截图 RGB 精确比对。
访问说明
已读取公开原文和演示操作说明,未拖动滑块或检查浏览器绘制结果。后半部分含较多公式,初学者可先读指定四节。

来源:ciechanow.ski (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Alibaba fastjson2 项目中国 · 中文

P1 · 重点提升L2 · 进阶后端与系统官方文档

fastjson2 中文:同一个字段出现两次,最后读到哪个值 (新标签页)↗

本次学什么
只读解析特性的调用方式和重复键选项,用原始输入对照最终对象。
已学可跳过
跳过自动类型、序列化优化、JSONB 和不同 JSON 库的性能比较。
展开介绍、学习准备与访问说明

给同一个 JSON 对象写两次 qty,比较默认读取和合并为数组,再改变先后顺序,观察原始输入中哪些信息留了下来。

可用资料第 2 节解析特性的用法 / 第 4 节 JSONReader.Feature 中 DuplicateKeyValueAsArray 一行 / 同标签 JSONReader 源码 / RFC 8259 第 4 节 Objects

固定 fastjson2 2.0.61;本轮实测 JDK 21.0.12

对你的帮助
JSON 能解析、对象只剩一个字段,都不能证明原始文字里没有重复字段;应先明确接口对重复输入的规则。
开始前要会什么
会写 Java main 方法并设置 classpath;认识 JSON 对象、数组与 null;理解 Map 的一个键只能对应一个值
原资料涉及的知识
JSON 重复键 · JSONObject · 读取顺序 · 信息丢失 · DuplicateKeyValueAsArray
学习建议
自拟练习:直接写六份原始 JSON 文本:{"qty":1}、{"qty":1,"qty":2}、倒序重复、三个值依次为 1/2/3 的重复、首值 null 后值 2,以及 {"qty":[1,2]}。先预测,再比较默认解析与 DuplicateKeyValueAsArray。交原始字符串、选项、qty 值及 Java 类型和字段数;不要先转成 Map 再造输入。已有 9 项检查只是选定对照,补做的结果另列。
访问说明
中文文档和固定源码已读;用研究目录中的 fastjson2 2.0.61 与本机 JDK 21.0.12 通过 9 项检查。只测 String 转 JSONObject;未测 Bean、JSONB、HTTP 接口或其他版本。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Christopher Olah加拿大/国际 · 英文

P1 · 重点提升L1 · 基础计算机基础开放教材

信息量图解:常见符号用短码,能省多少 (新标签页)↗

本次学什么
只读编码、变长编码和码字空间三节,做同一消息的编码与还原比较。
已学可跳过
首轮跳过最优编码推导、KL 散度、互信息与分数比特附录。
展开介绍、学习准备与访问说明

从四种符号和长短不同的二进制编码起步,用频率乘码长看平均需要发送多少位。

可用资料Codes / Variable-Length Codes / The Space of Codewords

Visual Information Theory,2015;2026-10-07 核查

对你的帮助
为理解压缩和信息量建立小例子,先把编码能否还原与平均长度分开检查。
开始前要会什么
会二进制位的基本含义;会按出现比例计算加权平均
原资料涉及的知识
前缀码 · 平均码长 · 频率 · 信息量
学习建议
先看固定长度与长短码的图。为四个自选符号写两张码表:一张使用四个不同的 2 位定长码;另一张使用变长码,并满足没有码字是另一码字的开头。为同一段消息分别编码、还原并计数,再换一段频率不同的消息。交两张码表与两轮长度表。
访问说明
原作者英文图文公开;只需认 codeword、prefix、average。指定三节无需微积分或训练模型。

来源:colah.github.io (新标签页)↗
核对日期:

文字怎样保存与比较

先看一样的字为何有不同编码,再决定“字数”到底数哪一种单位。

完成标准保存规范化前后的比较表,以及同一段文字按字素和词分段的列表。

推荐主线

MDN Web Docs国际社区 · 中文

P1 · 重点提升L1 · 基础计算机基础官方文档

MDN 中文:看起来一样的文字,怎样比较 (新标签页)↗

本次学什么
对照两种 ñ,记录 NFC 处理前后的相等结果与长度,再看兼容规范化的边界。
已学可跳过
整本 Unicode 附录;不在业务规则未定时批量改原始文本。
展开介绍、学习准备与访问说明

同一个带重音字母可能有两种保存方式。先把表示方式整理到同一种形式,再观察比较结果和长度。

可用资料两种字母写法示例 / NFC 与 NFD 说明 / 兼容规范化的使用边界

String.normalize 中文参考;2026-09-28 核对

对你的帮助
把站内文字比较实验接到真实 API,区分规范等价与只是外形相似。
开始前要会什么
知道字符串可以比较;能阅读简单 JavaScript 调用
原资料涉及的知识
Unicode · 规范化 · NFC · 字符串相等
学习建议
先读两种 ñ 的表示和 NFC 示例,列出处理前后的相等结果与长度;再看兼容规范化为何可能改变显示形式。首轮跳过全部 Unicode 附录,不在没定好业务规则时直接批量改原始姓名。
访问说明
中文正文公开可读,无需登录;纸面比较无需安装。规范化不是所有相似字符的统一替换,也不自动处理业务上的大小写规则。

来源:developer.mozilla.org (新标签页)↗
核对日期:

其他来源:替代或选学(3)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

MDN Web Docs国际社区 · 中文

P1 · 重点提升L1 · 基础计算机基础官方文档

MDN 中文:把文字分成字、词或句 (新标签页)↗

本次学什么
为相同文本指定语言与粒度,分别按字素、词分段并解释结果。
已学可跳过
句子分段与兼容补丁;字素数量不是大模型 Token 数。
展开介绍、学习准备与访问说明

切开一段文字时,先说清想数的是字符、词还是句子。中文不能简单靠空格分词,emoji 也可能由多个码位组成。

可用资料分段接口说明 / 与按空格 split 的对比 / 语言和粒度参数

Intl.Segmenter 中文参考;2026-09-28 核对

对你的帮助
给“一个 emoji 为什么不止一位”补上可用的分段接口,帮助明确字数限制到底数哪一种单位。
开始前要会什么
理解字符串与列表;会区分显示出来的字符和内部编码单位
原资料涉及的知识
字素簇 · 分词 · Intl.Segmenter · 多语言文本
学习建议
先读与 split 的区别,再把同一段文字分别按 grapheme 和 word 分段。保留分段列表并说明每一项代表什么,不只报一个总数。首轮跳过句子分段与兼容补丁;按字素分段不等于模型 Token 计数。
访问说明
公开中文文档无需登录;实际运行需支持 Intl.Segmenter 的浏览器或 JavaScript 环境,旧环境先查兼容性。不同分段任务应明确语言与粒度。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

MDN Web Docs美国/国际社区 · 中文

P1 · 重点提升L1 · 基础网页基础官方文档

分块收文字:半个汉字的字节到了,先怎样保存 (新标签页)↗

本次学什么
只观察字节块跨过一个字符时的输出,并明确最后一次调用不再等待后续数据。
已学可跳过
先跳过网络请求、完整 Streams 管线、JSON/SSE 解析与非 UTF-8 编码。
展开介绍、学习准备与访问说明

把同一段 UTF-8 字节分几次交给解码器,理解数据块结束与文字编码完成为什么不总在同一处。

可用资料“参数”中的 stream / “异常”中的 fatal / 欧元符号编码与解码示例

decode() 持续更新文档;2026-10-07 核查

对你的帮助
接收流式内容时,乱码可能发生在字节转文字这一步;先检查分块边界,再检查后面的 JSON 或事件解析。
开始前要会什么
会创建字符串和数组;知道一个汉字可以占多个字节
原资料涉及的知识
UTF-8 · TextDecoder · stream · 字节边界
学习建议
先读 stream 的含义,再将自选短词编码成字节,故意从某个多字节字符中间分开。比较每块重新解码与复用同一解码器并标记 stream 的输出,最后结束解码。交分块数组、逐次输出和最终文本。
访问说明
中文 API 正文和示例公开,无需账号。已在 Node.js 24.18.0 用“中A”验证跨字符分块、末尾刷新及不完整输入的 fatal 异常;没有发送网络请求。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Richard Ishida / r12a国际 · 英文

P1 · 重点提升L1 · 基础计算机基础交互练习

Unicode 转换器:一个字符为什么有几种数字写法 (新标签页)↗

本次学什么
只比较码点、UTF-8 字节与 UTF-16 码元,再做一次还原;要 Java 转义时按帮助关闭 ES6。
已学可跳过
跳过 HTML/CSS/URL 转义、双向文字控制字符和混合裸数字解析。
展开介绍、学习准备与访问说明

把同一小段文字并排显示成码点、UTF-8 字节和 UTF-16 码元,先分清每一栏在数什么。

可用资料工具的 Characters、U+hex、UTF-8 code units / help 的 UTF-8 code units 与 UTF-16 code units / 帮助中的 JavaScript/Java/C 输出选项

作者 code converter;2026-10-07 核查工具与帮助

对你的帮助
查看 Java 字符串、接口字节或 Unicode 编码时,数字看起来都像十六进制,单位却不一样。
开始前要会什么
认识十六进制;知道字符可以被编码成数字
原资料涉及的知识
Unicode 码点 · UTF-8 · UTF-16 · 代理对
学习建议
只比较三个单位,不必理解全部转义格式。输入一个拉丁字母、一个汉字和一个单码点表情,分别抄下码点、UTF-8 与 UTF-16 的结果并统计数量;再从一组字节还原。交单位对照表和一次往返结果。
访问说明
原作者工具和英文帮助公开,不需账号。本轮已输入 A中😀,核对码点、UTF-8 与 UTF-16 三栏,并从 UTF-8 栏转换还原;其余转义选项未测试。

来源:r12a.github.io (新标签页)↗
核对日期:

日期、时区与实际经过的时间

分清当地日历、UTC 时刻和一段时间长度。

完成标准能解释同样的钟点为何对应两个时刻,也能比较加一天与加 24 小时。

推荐主线

Oracle Java国际 · 英文

P1 · 重点提升L1 · 基础Java基础官方文档

Java 时间:明天同一时刻,不一定是 24 小时后 (新标签页)↗

本次学什么
用两次历史夏令时切换,比较日历加一天与实际加 24 小时。
已学可跳过
不通读整份 API;解析格式、序列化和自定义时间单位按需查。
展开介绍、学习准备与访问说明

以带时区的日期为例,区分“日历往后一天”和“实际经过 24 小时”。切换夏令时的地区,两者可能落在不同钟点。

可用资料类说明中的缺失与重复本地时间 / plusDays(long) / plusHours(long)

Java SE 21 · ZonedDateTime / plusDays / plusHours

对你的帮助
适合接着日期文章做一次小验证;提醒你先说清业务要的是当地日期,还是一段真实经过的时间。
开始前要会什么
会运行简单 Java 程序;知道日期、时刻和时区是不同信息
原资料涉及的知识
日期 · 时区 · 夏令时 · Java · ZonedDateTime
学习建议
固定 America/New_York 的 2024-03-09 12:00,分别加一天和加 24 小时。再把起点改成 2024-11-02 12:00。记录终点、UTC 偏移和两个 Instant 的时间差;不要从这两个历史例子推断所有地区都会切换夏令时。
访问说明
文档免费公开。练习按 Java 21 API 编写;若用其他 JDK,请先核对相应版本文档。记录日期、区域 ID 和 JDK 版本,因为时区数据会更新。

来源:docs.oracle.com (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

Python 文档国际 · 中文

P1 · 重点提升L1 · 基础计算机基础官方文档

Python 时区:同一个钟点为什么会出现两次 (新标签页)↗

本次学什么
从中文示例认出重复钟点,写出两个 UTC 时刻和各自的偏移。
已学可跳过
先跳过搜索路径配置、缓存清理与 pickle;只读说明不需要安装包。
展开介绍、学习准备与访问说明

用洛杉矶向后拨钟的例子,看同一个钟点为何对应两个时刻。fold 是区分重复时间的标记:0 选转换前的偏移,1 选转换后的偏移。

可用资料使用 ZoneInfo / 数据源

Python 3.14 文档 · zoneinfo 自 3.9 加入

对你的帮助
把“1 点半”补成能明确定位的时刻,避免在日志、预约和日期练习中只保留钟面数字。
开始前要会什么
会读简单 Python;知道 UTC 和地区时区的区别
原资料涉及的知识
时区 · Python · 重复时间 · fold · IANA
学习建议
先照着洛杉矶的例子列出 fold=0 与 fold=1 的 UTC 偏移,再把两个时刻转为 UTC 比较。要算实际间隔,先明确比较的是 UTC 时刻,别把“当地日期加一天”直接读成固定 24 小时。
访问说明
中文文档免费公开。zoneinfo 是标准库,但不自带 IANA 时区数据;Windows 等环境可能需要 tzdata 包。系统数据和 tzdata 都缺失时会抛出 ZoneInfoNotFoundError。只读示例不需要安装依赖。

来源:docs.python.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Oracle Java国际 · 英文

P1 · 重点提升L1 · 基础Java基础官方文档

Java 日期:二月三十日为什么没有报错 (新标签页)↗

本次学什么
对照同一日期文本在 SMART/STRICT 下的结果。
已学可跳过
时区、历法转换和复杂格式组合暂不扩展。
展开介绍、学习准备与访问说明

对比 SMART 与 STRICT 日期解析:一种会调整部分无效日期,另一种会拒绝不存在的年月日。

可用资料ResolverStyle 枚举说明 / DateTimeFormatter.ofPattern 说明 / 本地反例输出

Java SE 21;本轮实测 JDK 21.0.12

对你的帮助
日期格式看起来正确,仍可能不是日历里的有效日期;输入校验需要说明是否允许自动调整。
开始前要会什么
能运行简单 Java 程序;认识 LocalDate
原资料涉及的知识
日期校验 · ResolverStyle · SMART · STRICT · DateTimeFormatter
学习建议
自拟练习:使用 uuuu-MM-dd,对照默认 SMART 与 STRICT 解析 2025-02-30 和 2024-02-29,再自行补一个普通有效日期。交输入/模式/结果或异常表及断言;本轮已运行无效日和合法闰日两组,普通有效日期待补做。
访问说明
已核对 Java 21 官方 API,并在 JDK 21.0.12 运行对照。实际验证范围限 ISO 日期与指定输入,不含时区、其他历法或网页表单。

来源:docs.oracle.com (新标签页)↗
核对日期:

Cookie、登录与跨源请求

沿着一次请求,分清浏览器记录、服务端会话和权限检查。

完成标准能画出登录状态的往返过程,解释跨源设置和真正授权各负责什么。

推荐主线

MDN Web Docs国际 · 中文

P1 · 重点提升L1 · 基础后端与系统官方文档

Cookie:是谁保存,又在什么时候发回去 (新标签页)↗

本次学什么
用三个箭头画出 Cookie 的保存和发送,再单独画服务器的会话记录。
已学可跳过
广告追踪、第三方 Cookie 全部策略及真实站点抓取暂不展开。
展开介绍、学习准备与访问说明

沿着响应里的 Set-Cookie 和请求里的 Cookie,分清浏览器保存的小记录与服务器上的登录状态。

可用资料创建 Cookie / 移除 Cookie / 安全属性与作用范围

MDN 中文持续更新文档 · HTTP Cookie 指南

对你的帮助
适合接着登录文章阅读,补齐保存、发送、过期和安全属性之间的关系。
开始前要会什么
知道 HTTP 有请求和响应
原资料涉及的知识
Cookie · 登录 · 会话 · HTTP · SameSite
学习建议
画三步:服务端返回 Set-Cookie、浏览器保存、后续请求带上 Cookie。再标注过期时间、Secure、HttpOnly 和 SameSite 各管什么。关浏览器不一定立即清掉会话 Cookie;删浏览器记录也不等于服务器主动注销。
访问说明
正文免费公开,不需账号。用文中的虚构值学习即可,不要复制真实登录凭据。浏览器的会话恢复和隐私策略会影响观察结果。

来源:developer.mozilla.org (新标签页)↗
核对日期:

其他来源:替代或选学(2)

只补下面指定的能力,已掌握的内容不重复学习。

定向补充 · 只学指定内容

MDN Web Docs国际 · 中文

P1 · 重点提升L1 · 基础网页基础官方文档

跨域请求:允许浏览器读响应,不等于允许访问业务 (新标签页)↗

本次学什么
对照一组虚构请求头,分别判断来源、凭据和服务端权限三件事。
已学可跳过
暂不背完整响应头表;同源和同站不是同一个概念。
展开介绍、学习准备与访问说明

从两个不同来源的网页和接口入手,看预检请求与响应头如何决定浏览器能否把响应交给网页脚本。

可用资料跨源请求说明 / 预检请求 / 附带身份凭据的请求

MDN 中文持续更新文档 · CORS 指南

对你的帮助
解释“接口明明返回了,网页却读不到”,也帮助区分跨源设置、Cookie 规则与后端权限检查。
开始前要会什么
知道 HTTP 请求与响应头;先了解 Cookie 的基本往返
原资料涉及的知识
CORS · 跨域 · 预检 · OPTIONS · 凭据
学习建议
为虚构前端与接口写出协议、域名和端口,判断是否同源。然后对照一次带凭据请求:允许来源不能用星号替代具体来源。最后另列服务端身份与权限检查;CORS 不能代替它们,也不是完整的防跨站请求伪造方案。
访问说明
中文文档免费公开。只读示例即可,不需要改线上跨域配置。浏览器的第三方 Cookie 策略和 SameSite 限制仍独立生效。

来源:developer.mozilla.org (新标签页)↗
核对日期:

定向补充 · 只学指定内容

OWASP国际 · 英文

P1 · 重点提升L2 · 进阶后端与系统官方文档

登录会话:换号、超时与退出各做什么 (新标签页)↗

本次学什么
用四个事件检查旧会话何时失效,区分浏览器记录和服务端状态。
已学可跳过
暂不通读指纹、日志与各语言框架配置;只学会话生命周期。
展开介绍、学习准备与访问说明

关注登录或权限变化后的会话 ID 更新,以及闲置超时、总时限和主动退出。关键判断在服务端完成。

可用资料Renew the Session ID After Any Privilege Level Change / Automatic Session Expiration / Manual Session Expiration

Session Management Cheat Sheet · 登录后换号与会话过期章节

对你的帮助
把“页面看起来退出了”继续追问到“旧会话在服务端还能不能用”,补齐登录状态的生命周期。
开始前要会什么
理解 Cookie 与服务端会话;知道身份校验与权限检查的区别
原资料涉及的知识
会话 · Session · 登录 · 超时 · 注销
学习建议
写一条时间线:登录成功换号、长时间没活动、达到总时限、主动退出。每种情况分别说明旧编号是否还能访问服务端;浏览器清除 Cookie 与服务器让会话失效要分开检查。
访问说明
官方速查表免费公开。建议较密,先读指定三部分;不要直接把示例时长当成所有产品通用值。练习只用虚构编号,不记录真实会话 ID。

来源:cheatsheetseries.owasp.org (新标签页)↗
核对日期:

Java AI / Agent 岗位:三条项目主线选一条

把一个可运行底座改造成有权限、失败处理与评测记录的业务 Agent。首次做项目先选客服;已有基础可换研究或SQL方向。

完成标准固定源码、独立提交、真实业务演示、失败样例、指标原始记录和架构取舍。

推荐主线

LangChain4j 社区国际开源社区 · 英文

P1 · 重点提升L2 · 进阶大模型与Agent开源实战

LangChain4j 客服 Agent:Java AI 项目学习 (新标签页)↗

本次学什么
取消前需批准,重试不重复操作,能展示完整执行记录
已学可跳过
先不扩展到整个平台或多个业务;完成自己选的主线后,再定向补执行机制。
展开介绍、学习准备与访问说明

把“帮我取消订单”做成受控、可追踪的业务操作

可用资料固定提交源码 / 专题页的源码阅读顺序 / 原创改造与面试追问 / 24条待执行验收用例包

固定提交 7540de0d1293;核对 2026-09-29

对你的帮助
取消前需批准,重试不重复操作,能展示完整执行记录。定位 Java AI 应用 / Agent 岗位,以独立改造和真实评测作为面试素材。
开始前要会什么
Spring Boot、登录鉴权与数据库事务;会写 mock 测试;知道模型返回工具名和参数,再由应用执行
原资料涉及的知识
Java AI · Agent · 工具调用 · 项目评测 · 业务工具调用方向
学习建议
从“Java AI / Agent 面试项目怎么选”专题进入,只选一条业务主线。适合第一次独立做 Java AI 项目的人。原样复现不等于原创成果。
访问说明
源码可访问;模型与所选外部服务可能收费。本轮仅编译通过,未运行模型测试。

来源:github.com (新标签页)↗
核对日期:

其他来源:替代或选学(3)

只补下面指定的能力,已掌握的内容不重复学习。

替代主线 · 选择一条即可

Spring AI Alibaba 社区中国 · 中文

P1 · 重点提升L3 · 深入大模型与Agent开源实战

DeepResearch:Java AI 项目学习 (新标签页)↗

本次学什么
一份可恢复的研究任务 + 引用证据 + 检索对照实验
已学可跳过
先不扩展到整个平台或多个业务;完成自己选的主线后,再定向补执行机制。
展开介绍、学习准备与访问说明

做一个会查资料、可中断、能追溯来源的研究助手

可用资料固定提交源码 / 专题页的源码阅读顺序 / 原创改造与面试追问 / 24条待执行验收用例包

固定提交 7f009adf56fa;核对 2026-09-29

对你的帮助
一份可恢复的研究任务 + 引用证据 + 检索对照实验。定位 Java AI 应用 / Agent 岗位,以独立改造和真实评测作为面试素材。
开始前要会什么
能写 Spring Boot 接口与自动化测试;理解异步任务、取消信号和数据库事务;先理解“先找资料再回答”的检索增强流程
原资料涉及的知识
Java AI · Agent · 工具调用 · 项目评测 · 研究与编排方向
学习建议
从“Java AI / Agent 面试项目怎么选”专题进入,只选一条业务主线。适合已有 Spring Boot、异步编程和数据库基础的人。原样复现不等于原创成果。
访问说明
源码可访问;模型与所选外部服务可能收费。本轮已做有限代码验证,未启动完整系统;范围见项目专题。

来源:github.com (新标签页)↗
核对日期:

替代主线 · 选择一条即可

RuoYi AI / ageerle中国 · 中文

P1 · 重点提升L3 · 深入大模型与Agent开源实战

RuoYi AI 受控数据分析:Java AI 项目学习 (新标签页)↗

本次学什么
可核对的 SQL 结果与图表 + 两租户隔离实验
已学可跳过
先不扩展到整个平台或多个业务;完成自己选的主线后,再定向补执行机制。
展开介绍、学习准备与访问说明

让运营用自然语言查数据,同时守住数据权限和统计口径

可用资料固定提交源码 / 专题页的源码阅读顺序 / 原创改造与面试追问 / 24条待执行验收用例包

固定提交 7c7e64311e6a;核对 2026-09-29

对你的帮助
可核对的 SQL 结果与图表 + 两租户隔离实验。定位 Java AI 应用 / Agent 岗位,以独立改造和真实评测作为面试素材。
开始前要会什么
会设计 SQL、索引和只读数据库账号;理解用户权限、租户边界和连接池;能维护 MySQL、Redis 与 Spring Boot 服务
原资料涉及的知识
Java AI · Agent · 工具调用 · 项目评测 · 企业数据应用方向
学习建议
从“Java AI / Agent 面试项目怎么选”专题进入,只选一条业务主线。适合熟悉 Java 后端、SQL 和企业权限的人。原样复现不等于原创成果。
访问说明
源码可访问;模型与所选外部服务可能收费。本轮已做有限代码验证,未启动完整系统;范围见项目专题。

来源:github.com (新标签页)↗
核对日期:

定向补充 · 只学指定内容

Spring AI Alibaba中国 · 中文

P1 · 重点提升L2 · 进阶大模型与Agent官方文档

Spring AI Alibaba 中文:用户身份怎样传到工具里 (新标签页)↗

本次学什么
只读访问上下文小节,追踪用户信息进入工具的路径。
已学可跳过
先跳过长期记忆、财务示例和多工具系统;练习改用虚构工单。
展开介绍、学习准备与访问说明

沿着一次工具调用,区分模型填写的查询内容和服务端传入的用户信息,读懂 ToolContext 与 RunnableConfig.metadata 的对应关系。

可用资料访问上下文中文小节 / ToolsExample.java 配套源码 / 版本兼容表

中文滚动教程;版本页列 SAA 1.1.2.0 / Spring AI 1.1.2

对你的帮助
做客服或资料查询 Agent 时,工具需要知道当前用户是谁。先把身份从可信入口传到工具,再按它检查可读记录,才能避免只依赖模型传来的编号。
开始前要会什么
会读 Java 方法和 Map;了解服务端登录身份;看过一个简单工具调用
原资料涉及的知识
模型参数与运行时上下文 · ToolContext · RunnableConfig.metadata · 缺少身份时的处理
学习建议
自拟练习:为两位虚构用户补写工单查询工具,身份来自服务端认证结果。检查本人查询、越权工单、正文冒称身份、缺少 user_id 四例,再加 config 缺失和类型错误。交输入/可信身份/允许工单/拒绝原因表。原示例只演示传值,权限与异常拒绝规则需自己实现;本轮未运行。
访问说明
URL 含 en,但正文为中文。完整 Agent 示例需 JDK 17+、Maven 3.8+ 和模型服务;费用随提供商。本练习可先直接调用工具方法。网页片段少了 .build(),配套源码已补全;未验证整个示例能运行。

来源:java2ai.com (新标签页)↗
核对日期:

继续动手:最近新增的后端、AI 与计算机实验文章——从一个具体问题开始,带可下载的完整示例与独立练习。

本页更新于 2026.10.07,每项资料都标有最近核对日期。链接优先指向课程提供方、官方项目和原作者。
正文能免费读,不代表模型调用、云服务或 GPU 也免费;具体要求见各项访问说明。