QINGHUAN / 最近整理
新整理的学习资料:挑一个问题开始 本轮新增 61 项资料,分别补充 Java 小实验、Redis 状态变化、Agent 数据与权限、基础图解。每项都给出先读哪里、做什么小任务和需要注意的条件。此前整理的资料与练习包保留在下方。
2026.10.07 开始整理 · 106 项资料 · 12 组选读
全部主题与筛选 先读站内短文章 遇到术语查这里 01 Java:先构造一个会出错的小例子19 项 02 Redis:出错、接手与过时的写入3 项 03 Agent:资料、权限与可复现的记录16 项 04 基础图解:同一个输入,换个条件再看23 项 05 Java:把测试和诊断做扎实7 项 06 Agent:检查调用、检索与任务恢复7 项 07 基础图解:看懂图里的结论4 项 08 图片、二进制与小游戏8 项 09 数据库、缓存与服务运行7 项 10 AI 训练与检索7 项 11 日期与时区2 项 12 Cookie、登录与跨域3 项 英文 · 官方文档 · 按需进阶
先写所有合法输入都应满足的规则,再让工具生成许多输入。发生错误时,观察它怎样把复杂输入缩成容易解释的小例子。
来源:jqwik / Johannes Link
从哪里开始
先读与先做 练输入生成、失败反例缩小和 seed 重跑,用排序规则检查重复元素。
这次可以跳过 状态机、递归生成器与引擎扩展;已有固定例子仍保留。 为整数列表排序写三条检查:结果有序、每个值出现次数不变、原列表未改动。限定列表长度 0—20、数值 -3—3,故意让实现去掉重复项,保存原始失败输入、缩小后的输入和 seed,再按同一 seed 重跑。先不读状态机与自定义引擎。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把调用方依赖的请求和响应写成契约,再让真实接口逐项核对;每项检查之前先准备好需要的数据。
来源:Pact Foundation
从哪里开始
先读与先做 围绕一个查询接口,独立准备存在/不存在状态,再检查一次字段变更。
这次可以跳过 远端 Broker、发布矩阵、插件协议与多服务大环境先不配置。 自拟练习:先从文档导航的 Consumer/JUnit 5 生成本地订单查询 pact,包含“订单存在”和“不存在”两项交互;再用 @PactFolder 做提供方验证,每项独立准备数据。把 totalCents 改名,观察哪项约定失败。交 pact、生成代码、状态准备代码和失败位置;统一依赖版本,不依赖上一项留下的数据。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
沿着 request 信号往上游看,弄清“我要几条”怎样被 buffer 等操作改写;用逐步测试检查收到数据的数量和取消时机。
来源:Project Reactor
从哪里开始
先读与先做 只看请求量怎样经过 buffer 改写,再用 StepVerifier 逐步请求和取消。
这次可以跳过 flatMap 多层并发、网络背压和吞吐调优留到理解请求记录后。 自拟练习:从 Flux.range(1, 12) 开始。第一条流请求 2 个单值;第二条流加入 buffer(3),在前后各放带标签的 doOnRequest,再请求 2 批,预测上游 6 条、下游 2 批。用初始请求量 0 的 StepVerifier 分步核对并取消,设置验证超时。交上下游请求记录与收到数据表;本轮未运行。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
对比只估算的 EXPLAIN 和会执行语句的 EXPLAIN ANALYZE,分开记录估计行数、实际行数与表里发生的变化。
来源:PostgreSQL Global Development Group
从哪里开始
先读与先做 用普通练习表比较两种 EXPLAIN 和事务内外的数据变化。
这次可以跳过 复杂连接调优、索引参数和生产库分析暂不进行。 建一张 10 行练习表,先对 UPDATE 做 EXPLAIN,再在 BEGIN 中做 EXPLAIN ANALYZE,分别查询操作前、事务内、ROLLBACK 后的值。交付三阶段数据和计划对照,说明哪次真正执行;不要把这个回滚例子推广为所有外部副作用都能撤销。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
同时执行的事务可能都读到旧条件,数据库会让其中一个失败。重试时重新读取和做决定,才能避免把第一次的旧结果再次写回。
来源:PostgreSQL Global Development Group
从哪里开始
先读与先做 跟踪一次序列化冲突,说明重新读取、计算与写入为何要一起重做。
这次可以跳过 不把所有异常都纳入重试,也不立即扩展到分布式事务。 用两组数字做两个并发事务:各自读一组总和,再写入另一组。按交错顺序触发 Serializable 冲突;失败一方重新开启事务并重算,再对比只重发 INSERT 的方案。交付会话时间线、SQLSTATE 和重算前后使用的值;为重试设次数上限并记录最终失败。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把业务数据和待发送事件写进同一个本地事务,再由日志采集把事件送到消息系统;事件编号用于识别重复。
来源:Debezium
从哪里开始
先读与先做 分析本地事务与异步发送的三处失败点,区分事件唯一编号和业务分区键。
这次可以跳过 Avro、跨库事务与全量平台搭建先跳过;旧演示不直接当当前部署脚本。 为订单设计业务表、outbox 表与消费去重表,画出“提交前失败、提交后发送前失败、消费后确认前失败”三个时间线。给两个事件填写 id、aggregateid、aggregatetype 和 payload,推算它们的 topic/key,再说明重复事件如何不重复扣库存。交付表结构和故障时间线,不把路由器写成自动完成去重。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
先把表中已有行分块读取,再接上数据库变更日志;检查点记录读到哪里,帮助理解失败后从什么位置接着做。
来源:Apache Flink CDC
从哪里开始
先读与先做 区分快照、binlog 与恢复位置,先核对小表的最终状态。
这次可以跳过 全库同步、动态加表、无主键表与生产高可用留到后续。 先画 initial 与 latest-offset 两种启动时间线,标出启动前的旧行会不会出现。再用 5 行带主键的练习表,记录一次新增、修改、删除及最近成功检查点;计划一次恢复并按主键核对最终状态。交付版本清单、时间线和核对表,先不做全库同步与动态加表。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
把“每秒来了多少请求”和“现在有多少请求还没完成”分开统计,观察慢下游为何会让同时占用的线程越来越多。
来源:Alibaba Sentinel
从哪里开始
先读与先做 在相同到达速率下改变处理耗时,区分并发阈值和 QPS 阈值。
这次可以跳过 控制台、集群限流、热点参数、预热和自适应策略暂不配置。 自拟练习:用独立调度器每 200ms 向至少 3 个工作线程投递本地任务,记录计划与实际进入时间。处理分别约 50ms 和 500ms,同一资源并发阈值设为 2,记录并发数、通过数、拒绝数。交两组记录,成功进入后务必退出;本轮未压测,调度延迟也需记录。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把 JVM 内存按堆、线程、类等类别查看,再保存基线比较增量;先区分预留空间与已经提交的内存。
来源:Oracle Java
从哪里开始
先读与先做 练预热后的基线/增量比较,把 Thread 分类与 reserved、committed 分开读。
这次可以跳过 线上附加、完整泄漏定位、JNI 分配追踪和每个调用点明细先不做。 只读 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 精度读数,不要求所有类别精确归零。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把数据库批量发送、当前管理的对象数量和事务提交分开看;检查 flush、clear 与主键生成方式各自影响什么。
来源:Hibernate ORM
从哪里开始
先读与先做 区分 JDBC 批量发送、flush/clear 和事务提交,并检查主键策略的限制。
这次可以跳过 二级缓存、全表更新、StatelessSession 与生产吞吐调优暂不扩展。 在一个事务插入 60 个练习对象,比较仅设置 batch_size 与每 20 个执行 flush 后 clear 的方案。再核对主键是否用 IDENTITY,记录实际批处理证据和管理对象变化;最后回滚确认 flush 不等于提交。交付配置、SQL/统计记录与三个动作的职责表。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
查看 where 与 foreach 怎样拼接 SQL,重点比较 null、空列表和两个编号,防止把“不选任何项”意外变成“没有筛选条件”。
来源:MyBatis 项目
从哪里开始
先读与先做 检查空列表是否移除了 WHERE,明确空输入的业务规则。
这次可以跳过 复杂多表查询和插件扩展先跳过。 自拟练习:在 nullable=true 的 foreach 放进 where 的明确前提下,先预测 null、空列表和两个编号的 SQL,再查看 BoundSql。明确空列表应返回空结果还是拒绝请求;用 choose/otherwise 写显式分支,检查 WHERE 和参数数目。交三组 SQL 对照;本轮已实测这三组 SQL 生成,没有执行数据库查询。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
对比 SMART 与 STRICT 日期解析:一种会调整部分无效日期,另一种会拒绝不存在的年月日。
来源:Oracle Java
从哪里开始
先读与先做 对照同一日期文本在 SMART/STRICT 下的结果。
这次可以跳过 时区、历法转换和复杂格式组合暂不扩展。 自拟练习:使用 uuuu-MM-dd,对照默认 SMART 与 STRICT 解析 2025-02-30 和 2024-02-29,再自行补一个普通有效日期。交输入/模式/结果或异常表及断言;本轮已运行无效日和合法闰日两组,普通有效日期待补做。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
把数值比较和包含小数位数的相等判断分开,再观察同一组十进制数放进不同集合后的数量。
来源:Oracle Java
从哪里开始
先读与先做 从十进制数入手,核对相等、排序与集合去重规则。
这次可以跳过 金融业务舍入规范与数据库类型映射按实际要求另学。 自拟练习:用字符串创建 2.0、2.00,预测两种集合大小。写清业务是否把它们视为同一项;若规则要求两位小数,用 UNNECESSARY 验证 2.001 应被拒绝。交规则、断言和输出。本轮已运行这些纯 Java 对照,未测数据库金额列或序列化。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
两个任务依次使用同一工作线程时,前一个任务设置的值可能仍在;对照正常结束却未清理,以及异常后在 finally 中 remove 的结果。
来源:Oracle Java
从哪里开始
先读与先做 验证同一工作线程上两个任务之间的值残留与异常清理。
这次可以跳过 InheritableThreadLocal、虚拟线程和框架上下文传播暂不扩展。 自拟练习:第一组先设置 demo-user-A 而不清理,再由下一任务只读取;第二组先设置值并故意抛异常,在 finally remove 后观察下一任务。交两组结果及执行器关闭记录,用 Future.get 等待而不靠 sleep。本轮两组均已运行;正常 finally 清理和跨线程传播可另做。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
区分测试线程上的事务和另一个线程里的操作,特别检查会换线程执行的抢占式超时断言。
来源:Spring Framework
从哪里开始
先读与先做 把测试事务、执行线程和事务结束后的数据检查放在同一张表里。
这次可以跳过 多事务管理器和复杂传播级别先不扩展。 自拟练习(尚未执行):为一次写入画测试线程与 assertTimeoutPreemptively 执行线程两条线。在独立练习库设计普通调用和换线程调用两组测试,明确被调代码的事务安排;用事务结束后的独立读取核对行数,记录线程名和事务是否活动。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
对比运行时错误发生后的语句回滚与整个事务回滚,再用 XACT_STATE 看当前事务还能不能提交。
来源:Microsoft Learn
从哪里开始
先读与先做 区分失败语句、事务状态和最终提交结果。
这次可以跳过 OLE DB、嵌套事务和触发器先跳过。 自拟练习(尚未执行):先用自建父子表按官方无 TRY/CATCH 示例安排合法、非法外键、合法三次写入,对照 XACT_ABORT OFF/ON;再单独用 TRY/CATCH 检查 XACT_STATE,并标明出错后哪些语句被跳过。交操作时间线与最终行数;XACT_STATE=-1 时只能整体回滚。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
同时制造业务异常和关闭资源异常,观察哪个异常向外抛出、另外一个保存在哪里,再区分 cause 与 suppressed 两种关系。
来源:Oracle Java
从哪里开始
先读与先做 只看 try-with-resources、getSuppressed 与 cause,构造两个同时失败的来源。
这次可以跳过 先跳过自定义序列化、低内存复用异常和完整 I/O 系统。 自拟练习:写一个 close 会抛异常的虚构资源,让 try 内也抛异常;对照 try-with-resources 与手工 finally。打印主异常、cause、getSuppressed 和关闭顺序;再加两个资源观察逆序关闭。交异常关系图和实际输出,不把 suppressed 当作 cause。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
给同一个 JSON 对象写两次 qty,比较默认读取和合并为数组,再改变先后顺序,观察原始输入中哪些信息留了下来。
来源:Alibaba fastjson2 项目
从哪里开始
先读与先做 只读解析特性的调用方式和重复键选项,用原始输入对照最终对象。
这次可以跳过 跳过自动类型、序列化优化、JSONB 和不同 JSON 库的性能比较。 自拟练习:直接写六份原始 JSON 文本:{"qty":1}、{"qty":1,"qty":2}、倒序重复、三个值依次为 1/2/3 的重复、首值 null 后值 2,以及 {"qty":[1,2]}。先预测,再比较默认解析与 DuplicateKeyValueAsArray。交原始字符串、选项、qty 值及 Java 类型和字段数;不要先转成 Map 再造输入。已有 9 项检查只是选定对照,补做的结果另列。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
把四份只含一个可选字段的输入复制到已有对象,比较缺字段、null、空字符串和新值,再分别改变忽略 null 与是否覆盖的设置。
来源:Hutool 项目
从哪里开始
先读与先做 限定一个 String 属性,观察缺字段、null、空串与覆盖配置。
这次可以跳过 跳过字段别名、自动类型转换、继承、列表转换和数据库持久化。 自拟练习:四份 Map 分别为缺少 nickname、nickname=null、nickname=""、nickname="new"。前八例每轮都新建目标并设 nickname="old",固定 override=true,只切换 ignoreNullValue。接着固定源值 new、override=false,分别新建目标 old 和 null;最后用默认 null 的普通 Bean,在两种 ignoreNullValue 下各复制到新的 old 目标。交十二行输入/目标初值/配置/结果表,区分不修改与明确清空。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
先分清两件事:脚本执行时其他命令不能插进来,和脚本报错后是否撤销旧修改。再看 call 与 pcall 怎样把错误交给调用方。
来源:Redis 官方
从哪里开始
先读与先做 只读 call、pcall 与错误回复,画出“先成功一次写入,再发生错误”的状态表。
这次可以跳过 先跳过复制模式、调试器和函数库管理,不把短脚本扩展为完整秒杀系统。 自拟练习:在独立实验实例用普通 EVAL,先写数字键,再对非整数文本执行 INCR;每组先重置输入,比较 call、pcall 和预先检查。交回复和最终键值;默认 fork 调试器会丢弃变更,不能用来证明 EVAL 会回滚。没有实例时先交预测表,不标成实测。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
消费者领走消息后退出,消息会留在待确认列表中。此命令按空闲时长把消息交给另一个消费者,并用游标继续检查。
来源:Redis 官方
从哪里开始
先读与先做 只跟踪两条消息在领取、闲置、接手和确认后的状态变化。
这次可以跳过 先跳过集群部署和新版本的其他 Stream 命令,不把重新领取当成只处理一次。 先读 Required arguments 中 min-idle-time、start 和 Examples。自拟两条消息,让 A 在同一消费组领取但不确认;练习把最短空闲时间设为 1000 毫秒,先查看待确认列表(PEL)并确认空闲时间已超过此值,再让 B 从 0-0 开始重新领取,最后只确认一条。记录消息 ID、所有者、空闲时间、游标和待确认数量;交命令与状态表。一次没领到也保留回复,不把 COUNT 当保证返回条数。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
任务暂停太久后,锁可能已经过期并交给别人。通过递增的通行编号,让真正接收写入的一方拒绝旧任务带来的请求。
来源:Redisson 项目
从哪里开始
先读与先做 只读锁可靠性、普通锁与 Fenced Lock 三节,解释旧任务恢复后由谁拦住写入。
这次可以跳过 先跳过其余锁类型;不要仅凭有 watchdog 就推断外部业务写入安全。 自拟练习:画出 A 获得编号 7 后暂停、B 获得 8 并写入、A 恢复再写的时间线。依据原文拒绝旧编号的规则,为接收端设计把比较编号、记录最大编号、业务写入放在同一原子操作中的方案;再说明相同编号重试的幂等规则。交时间线、伪代码与并发检查点;这是纸面设计,未验证具体存储实现。 A 恢复后仍携带最初的编号 7,不能另取当前编号 8 来冒充新持有者。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
先看转换后的质量等级,再对照原页检查遗漏和阅读顺序。页面介绍整份文档与逐页的 confidence 记录,适合放在知识库入库之前。
来源:Docling 项目
从哪里开始
先读与先做 只读质量等级与逐页记录,为六处原文信息做人工对照表。
这次可以跳过 先跳过模型替换、批量服务和自动放行阈值,不把等级直接当正确率。 自拟练习:选一份自有的三页材料,预先标出六处标题、数字或表格关系;逐页对照转换结果和质量等级。交原页位置、转换文字、核对结论及待修项;没有实际运行时只提交检查表设计。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
从一页文档的标题、文字、表格和图片入手,了解版面解析如何恢复多栏阅读顺序,并分别保存 JSON 与 Markdown 结果。
来源:飞桨 PaddleOCR
从哪里开始
先读与先做 只看产线组成和 Python 输出示例,检查双栏阅读顺序与表格对应。
这次可以跳过 先跳过模型训练、服务化、多硬件性能比较与全量模型表。 自拟练习:画一张有两个文字栏及一个小表格的页面,手工编号阅读顺序;有环境时再导出 JSON 和 Markdown,对照顺序、标题归属与表格对应。交原页、编号图、两份输出和错误记录。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
给文档记上允许访问的组,再在查询中带上可信的组列表,让不匹配的文档不进入结果。重点理解身份核验与字符串筛选各负责哪一部分。
来源:Microsoft Learn
从哪里开始
先读与先做 用两组用户、四份资料检查可见范围,说明组标识从哪里取得。
这次可以跳过 先跳过购买云服务与完整 Entra 集成;不把隐藏返回字段当访问控制。 自拟练习:为两组用户和四份虚构资料列访问表,再画登录身份→可信组列表→筛选→模型的流程。加入遗漏筛选及用户伪造组名两种失败例,交预期可见文档 ID 和拒绝原因。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
同一文档带有多条附加信息时,两个条件可能分别命中数组里的不同条目。通过普通 must 与 nested 的对照,看清条件是否必须落在同一个对象上。
来源:Qdrant
从哪里开始
先读与先做 只对照普通数组过滤和 nested,为同一版本已批准的资料列预期结果。
这次可以跳过 先跳过向量模型、索引调优、地理过滤和其他新条件。 自拟练习:写三份资料的 revisions 数组,让 version=v2 与 approved=true 在其中一份资料的不同元素中分别成立。先推导普通 must 和 nested 的结果,再交两份请求及预期 ID 表。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
比较字符串数字与整数的处理,再为两个字段增加联合检查。把模型返回的 JSON 能读、类型合适和满足业务约束分开验证。
来源:Pydantic
从哪里开始
先读与先做 先看 strict 模式,再加一个上下限联合检查,保存输入与判定原因。
这次可以跳过 先跳过复杂 Union、自定义类型、日志平台和自动修复模型输出。 自拟五组 quantity/lower/upper 输入:正常整数、字符串数字、负数量、上下限颠倒,以及后两种同时出现。分三份规则:只有 int 类型;数量加 Field(ge=0);再加 mode="after" 的上下限联合校验。每份分别用默认和 strict 模式运行,记录错误位置与联合校验有没有执行。字段先失败时,after 不会运行,不能把未报出的业务问题当作已通过。另用同一有效日期字符串比较 model_validate 与 model_validate_json 的 strict 结果。交规则、输入和对照表。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
给一次运行登记数据名称、摘要、来源和用途,再从运行记录中查回来。重点是让训练数据和评测数据有可追踪的身份。
来源:MLflow 项目
从哪里开始
先读与先做 只为两份小 CSV 登记并读回输入信息,核对来源、摘要和用途。
这次可以跳过 先跳过云端服务、模型注册、自动部署和完整训练平台。 自拟练习:准备两份只改一行的十行 CSV,分别登记到两次运行;把训练和评测用途写清。交运行 ID、数据名称、摘要、行数、来源和脚本版本,再检查能否找到处理前后的对应文件。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把实验命令、输入和参数写进配置,运行后对照参数与指标,再把某次实验结果恢复到工作目录。
来源:DVC 项目
从哪里开始
先读与先做 只跑两次小脚本实验,比较参数与输出,再验证一次结果恢复。
这次可以跳过 先跳过远程存储、排队并行、网格搜索和真实模型训练。 先从主文的 Get Started: Experimenting Using Pipelines 入口建立最小阶段:输入用自己固定的十个数,params.yaml 放阈值,脚本输出 metrics.json,dvc.yaml 写明命令、输入、参数和输出。确认文件已由 Git 或 DVC 跟踪后,再只读 Running the pipeline(s) 与 Experiment results,运行两个阈值并恢复第一次。交配置、两次实验 ID、输入与指标,以及恢复后的文件比对;本轮未运行。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
沿着暂停与恢复的流程,看 entrypoint 重新进入后怎样取回已完成 task 的结果,以及未完成的 task 为何仍可能重跑。
来源:LangChain/LangGraph
从哪里开始
先读与先做 只读恢复、确定性与幂等三节,用本地计数器比较完整与部分失败的 task。
这次可以跳过 先跳过多智能体、真实业务写入、模型 API 和托管服务部署。 先读 Entrypoint 下的 Executing、Resuming,再读 Determinism 和 Idempotency。用本地计数记录安排两组对照,每组使用自己的固定 thread_id,并在该组恢复时保留同一检查点存储。interrupt 暂停用 Command(resume=...) 恢复;故意异常后先解除失败条件,再用 None 和原 config 恢复。记录完成 task 与未完成 task 的调用次数,再加固定操作编号防重复。交事件表、两次恢复入参及次数对照;本轮未运行。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
数据集和处理步骤会参与生成指纹,缓存据此识别已有结果。通过小数组变换,理解为什么有时重用结果,有时整条处理链重新计算。
来源:Hugging Face
从哪里开始
先读与先做 只用四行数据观察 map 前后的指纹与输出,分清重新处理和缓存复用。
这次可以跳过 先跳过 Hub 大数据下载、多进程及手动清除整机缓存。 先读 Fingerprint,再看 Dataset.from_dict 的缓存说明。自拟四行数据,先用 save_to_disk 保存到独立练习目录,再用 load_from_disk 读回。固定两个不依赖外部可变状态的转换函数,从同一份原始数据按同一顺序执行两遍,记录输出、_fingerprint、cache_files 与缓存相关日志;再用 load_from_cache_file=False 做重新计算对照。交记录并区分指纹相同、缓存文件存在与实际重用;本轮未运行。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把输入 Token、注意力标记和训练标签并排看,区分补齐位置、用户提示和助手回答哪些会参与损失计算。
来源:Hugging Face TRL
从哪里开始
先读与先做 只读助手/回答损失与文本 collator,用两组小数组核对 labels 中被忽略的位置。
这次可以跳过 先跳过模型下载、LoRA、多 GPU、packing 和真实性能比较。 自拟练习:固定 padding_free=False,写两组不等长的虚构 Token ID,并分别提供提示/回答掩码、助手掩码及补齐位置;画出 attention_mask 与 labels,说明提示位置可被关注但不参与损失。交逐位置对照表;有匹配环境时仅运行文本 collator,不下载模型或训练。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
用 Java 校验新旧两份工具参数规则,分别检查必填字段、额外字段和日期格式;再看组合规则时,为什么新增字段可能仍被拒绝。
来源:networknt / JSON Schema
从哪里开始
先读与先做 只读输入校验、草案选择和对象规则,用六条请求检查新旧规则。
这次可以跳过 先跳过性能榜、自定义关键词和注册中心;不把输入通过当业务授权通过。 自拟练习:保存 v1、v2 两份工具规则,写明 $schema、字段类型与 format,v2 新增一个可选字段。准备六条请求,分别改变一个条件:旧请求、新字段、漏必填、类型错误、陌生字段、坏日期。坏日期用例的其余字段保持合法,再对照 format 断言开关。交规则和逐条判定;尚未运行。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
沿着一次工具调用,区分模型填写的查询内容和服务端传入的用户信息,读懂 ToolContext 与 RunnableConfig.metadata 的对应关系。
来源:Spring AI Alibaba
从哪里开始
先读与先做 只读访问上下文小节,追踪用户信息进入工具的路径。
这次可以跳过 先跳过长期记忆、财务示例和多工具系统;练习改用虚构工单。 自拟练习:为两位虚构用户补写工单查询工具,身份来自服务端认证结果。检查本人查询、越权工单、正文冒称身份、缺少 user_id 四例,再加 config 缺失和类型错误。交输入/可信身份/允许工单/拒绝原因表。原示例只演示传值,权限与异常拒绝规则需自己实现;本轮未运行。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
把引用文字、字符位置、页码和页面坐标连起来。重点看表格单元格与脚注,知道只有一句摘录时还缺少哪些定位信息。
来源:Microsoft Learn
从哪里开始
先读与先做 只读跨度、边界区域和表格三节,整理一条引用所需的信息。
这次可以跳过 先跳过自定义模型和云端批量处理;模拟 JSON 不当作识别效果。 自拟练习:画一页含表格和脚注的资料,手写标为模拟数据的响应。保留含表情符号的完整 content、stringIndexType 与 pages[].unit;分别按 UTF-16 码元和用户感知字符列偏移,另外记录页码、表格与脚注坐标。交 JSON 和定位对照表;模拟结果不标为云端实测。
完整导读、版本与原文入口 英文 · 开源实战 · 按需进阶
用自建的小文本集和固定问题批量检索,保存每条问题对应的文档、名次与分数;特别检查中文索引和查询使用的语言设置。
来源:Castorini / University of Waterloo
从哪里开始
先读与先做 只做自建小索引与中文批量查询,保存 run 文件及环境信息。
这次可以跳过 先跳过大型语料、稠密模型、Faiss 和排行榜复现。 自拟练习:写十条中文 FAQ 和四个问题,预标相关文档。固定 pyserini==2.4.0、中文索引和输入参数,重复两次检索;再只改查询语言,暂不重建索引。交 JSONL、.tsv、结果与变化记录;结果不变也如实记录。安装文档的 ==latest 是占位,不能照抄;本轮未运行。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
给资料片段记录所属文档和版本,再按明确条件删除旧片段。通过“一份资料从三段变成两段”检查是否留下过期内容。
来源:Spring AI
从哪里开始
先读与先做 只读按条件删除与文档版本示例,核对目标资料的旧片段清单。
这次可以跳过 先跳过存储选型和吞吐优化;别把示例的两步调用当原子更新。 自拟练习:为两位虚构所有者各建一份同名资料,把其中一份从 v1 三段改成 v2 两段。用 ownerId、docId、version 限定删除范围,逐步核对完整片段 ID 清单;分别推演删旧后写新失败、写入部分新版后失败。交范围条件、清单与恢复说明;未运行部分只列预期。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把客户端默认工具、单次请求追加的工具和按名称查找的工具分开,检查应用最终允许执行的工具范围。
来源:Spring AI
从哪里开始
先读与先做 只读请求工具与名称解析两节,为三个无副作用工具画两张清单。
这次可以跳过 先跳过多 Agent、工具搜索与记忆;不把仅隐藏工具描述当成执行权限控制。 自拟练习:把三个固定文字工具分别放入默认清单、单次请求和名称解析器。记录发给模型的清单,再用模拟 ToolCall 或直接调用执行器,尝试执行仅在解析器里的工具。对照回退关闭/开启的结果,交配置和预期表;实际运行后再附捕获记录,本轮未运行。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
围绕 ETag 和 304 读一次缓存验证,分清保存响应、使用响应和重新下载。
来源:MDN Web Docs
从哪里开始
先读与先做 只追踪 ETag、If-None-Match 与 200/304,再区分允许存储和允许直接复用。
这次可以跳过 先跳过 CDN 配置、启发式缓存、缓存清除和浏览器强制刷新兼容细节。 只读指定三段。自拟一个支持 ETag 条件请求的 GET 资源,首次响应设 Cache-Control: no-cache:先取得 v1,再在未修改及改成 v2 后各请求一次。逐次写 If-None-Match、状态和是否带响应体,另外比较 no-cache 与 no-store。交一张请求时序表。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
把同一段 UTF-8 字节分几次交给解码器,理解数据块结束与文字编码完成为什么不总在同一处。
来源:MDN Web Docs
从哪里开始
先读与先做 只观察字节块跨过一个字符时的输出,并明确最后一次调用不再等待后续数据。
这次可以跳过 先跳过网络请求、完整 Streams 管线、JSON/SSE 解析与非 UTF-8 编码。 先读 stream 的含义,再将自选短词编码成字节,故意从某个多字节字符中间分开。比较每块重新解码与复用同一解码器并标记 stream 的输出,最后结束解码。交分块数组、逐次输出和最终文本。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
用几个短字符串观察查询参数怎样读取和重新拼接,专门检查加号、空格和重复键。
来源:MDN Web Docs
从哪里开始
先读与先做 只对照字符串解析、append 构造和 get/getAll;把完整 URL 的拆分单独检查。
这次可以跳过 不通读 URL 规范;先跳过签名算法、表单提交和浏览器历史操作。 读三个指定小节。自己准备含加号、空格和两个同名标签的参数,分别用直接拼字符串与 append 构造;重新解析后用 get/getAll 核对。再用一个完整 URL 检查 URL 与 URLSearchParams 的分工。交输入与往返结果表。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
沿父子层级看重叠方块,分清一个元素的 z-index 到底在和谁比较。
来源:MDN Web Docs
从哪里开始
先读与先做 沿示例的父子结构比较叠放顺序,再分开改变父元素与子元素的 z-index。
这次可以跳过 先跳过完整堆叠算法、浮动元素和顶层弹窗;不背所有创建条件。 只看示例中父层与子层的比较。仿照源码,用 position 和非 auto 的 z-index 明确建立两个父层叠上下文,其中一个包含子盒子,让它们重叠。先预测顺序,再分别只提高子层、只提高父层,记录变化。交结构树和两次修改前后截图。
完整导读、版本与原文入口 英文 · 交互练习 · 有一点基础再读
用一列位和几条哈希箭头观察加入与查询,区分肯定不在和可能在。
来源:Jason Davies
从哪里开始
先读与先做 用小位图解释加入与查询,并构造一次假阳性;英文只读 Operations 和 Explanation。
这次可以跳过 先跳过 FNV 实现、概率公式、删除扩展与生产参数选型。 先读 Operations,再看 Explanation 的位列。自己用 8 个格子和每项两个位置做纸面过滤器,写入几项后构造一个没写入却被判为可能存在的查询;画出一个可直接排除的查询。交位图和查询证据,不必安装库。
完整导读、版本与原文入口 英文 · 开放教材 · 有一点基础再读
从四种符号和长短不同的二进制编码起步,用频率乘码长看平均需要发送多少位。
来源:Christopher Olah
从哪里开始
先读与先做 只读编码、变长编码和码字空间三节,做同一消息的编码与还原比较。
这次可以跳过 首轮跳过最优编码推导、KL 散度、互信息与分数比特附录。 先看固定长度与长短码的图。为四个自选符号写两张码表:一张使用四个不同的 2 位定长码;另一张使用变长码,并满足没有码字是另一码字的开头。为同一段消息分别编码、还原并计数,再换一段频率不同的消息。交两张码表与两轮长度表。
完整导读、版本与原文入口 英文 · 论文与研究 · 有一点基础再读
看统计量相近而形状不同的数据图,练习为数字摘要补上原始分布的线索。
来源:Autodesk Research / Justin Matejka、George Fitzmaurice
从哪里开始
先读与先做 对照图 1/2,再用自拟小数据做平均数相同、分布不同的反例。
这次可以跳过 先跳过模拟退火算法、重跑研究代码与依赖旧链接的数据下载。 读图 1、图 2 的说明,再自行构造两组各 8 个数,使平均数相同而分布明显不同。用相同横轴画点图,另写一句平均数不能回答的问题。交原始数表、均值计算与两张点图;不要求下载原论文数据。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
把几个数逐个放进区间,观察分箱边界、范围和被排除的值怎样影响统计图。
来源:D3 / Mike Bostock、Observable
从哪里开始
先读与先做 固定数据和显示范围,只变明确的箱边界,并核对边界值与范围外的值。
这次可以跳过 先跳过三种自动选箱公式、SVG 绘制和完整 D3 课程。 选八个 0 到 10 之间的数,确保含一个边界数和最大值。保持数据与范围不变,用两套明确边界分箱;逐箱列成员和数量,再加入一个范围外的值。交两张分箱表和排除记录,最后手画对应图。
完整导读、版本与原文入口 英文 · 交互练习 · 有一点基础再读
跟着移动的框逐行算平均,分清每行保留的结果、参与计算的范围和表格两端的边界。
来源:Anton Zhiyanov
从哪里开始
先读与先做 只练有明确排序和 ROWS 边界的三行滑动平均,并检查首行与尾行。
这次可以跳过 跳过付费习题、默认窗口规则、重复排序值和生产报表改造。 只读 Moving average 与 Frame。自建五行编号唯一的虚构数据,先逐行圈出前一行、当前行、后一行,再用显式 ROWS 窗口核对平均值。交五行手算和查询输出;记录首尾为什么参与行数更少。
完整导读、版本与原文入口 英文 · 交互练习 · 有一点基础再读
把同一小段文字并排显示成码点、UTF-8 字节和 UTF-16 码元,先分清每一栏在数什么。
来源:Richard Ishida / r12a
从哪里开始
先读与先做 只比较码点、UTF-8 字节与 UTF-16 码元,再做一次还原;要 Java 转义时按帮助关闭 ES6。
这次可以跳过 跳过 HTML/CSS/URL 转义、双向文字控制字符和混合裸数字解析。 只比较三个单位,不必理解全部转义格式。输入一个拉丁字母、一个汉字和一个单码点表情,分别抄下码点、UTF-8 与 UTF-16 的结果并统计数量;再从一组字节还原。交单位对照表和一次往返结果。
完整导读、版本与原文入口 英文 · 交互练习 · 有一点基础再读
先保存一份样本,再从这份样本有放回地抽取,观察重复计算的均值如何变化。
来源:Seeing Theory / Brown University
从哪里开始
先读与先做 固定一次原样本,观察有放回重抽样的重复项与均值分布。
这次可以跳过 跳过前面圆周率估计、置信区间动画与更复杂 Bootstrap 区间算法。 只读 The Bootstrap。先自定 10 个数并编号,用纸签有放回抽取 10 次,重复两轮,记录每轮编号、数值和均值。再到页面选择分布、Sample 一次,随后保持这份样本只做 Resample 100 times,观察均值直方图。交纸面抽样表、网页设置与操作顺序、直方图截图,并明确两部分数据来源不同。
完整导读、版本与原文入口 英文 · 交互练习 · 零基础可读
用落球和两块挡板观察不同条件下的比例,把交集相同与分母不同分开看。
来源:Victor Powell / Explained Visually
从哪里开始
先读与先做 用同一张四格计数表分别回答已知 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 和交集三个值:改变一项时,页面可能同时调整交集。
完整导读、版本与原文入口 中文 · 官方文档 · 零基础可读
从一个文件查到正在使用它的进程,记录程序名称,再正常关闭自己的练习程序并重新检查。
来源:Microsoft PowerToys
从哪里开始
先读与先做 从一份自建文件查使用它的程序,记录查询范围,再正常关闭练习程序后重查。
这次可以跳过 跳过强制结束任务、扫描其他用户进程、批量目录和命令行自动化。 用自己新建的练习文件观察一次占用情况,记录文件路径、查到的进程名称和进程编号;正常保存并关闭自己的练习程序后,再点重新加载。若没有结果,写“当前权限下未查到”,不要补写成“没有程序使用”;有些编辑器读取后就关闭文件句柄。首轮只查详情,不使用结束任务或 --kill。
完整导读、版本与原文入口 英文 · 交互练习 · 零基础可读
把短正则表达式画成从左到右的路径,看清哪里二选一、哪里可以跳过、哪里会重复。
来源:Jeff Avallone / Regexper
从哪里开始
先读与先做 只读分组、分支和可选路径,用一条短规则解释匹配与排除。
这次可以跳过 跳过回溯性能、复杂前后查找、Unicode 扩展和邮箱等大型表达式。 输入 ^(cat|dog)s?$,先画出 cat/dog 二选一和 s 可跳过的两处路径,再看工具图。为 cat、cats、dog、dogs、catdog、dogs! 和空文本逐项预测匹配结果;把 ? 改为 + 后重新解释差别。交两张草图或生成图和预测表;实际匹配要另用项目所用的正则引擎检查。
完整导读、版本与原文入口 英文 · 开放教材 · 有一点基础再读
先固定另一个变量,再观察函数沿一个方向怎样变化;把公式里的偏导数对应到图上的局部斜率。
来源:Duane Q. Nykamp / Math Insight
从哪里开始
先读与先做 先把偏导理解为固定其他变量的一维求导,再做一个两变量函数的差分核对。
这次可以跳过 跳过更高维例题、方向导数、梯度和可微性反例;这些留给主课程。 先读固定温度或固定保温量的解释,再读例题 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。交两个方向的手算与数值表,并写清哪一个变量始终没变。
完整导读、版本与原文入口 英文 · 开放教材 · 有一点基础再读
在图形里选两点,再检查连接它们的整条线段。用一个反例区分“看起来像凸集”和真正满足定义。
来源:Christoph Lippert / HealthML Mathematics for Machine Learning
从哪里开始
先读与先做 只学凸集定义和连线反例,先用二维坐标理解全部线段必须留在集合内。
这次可以跳过 跳过整本教材、Python 环境、凸函数、Hessian、对偶和求解器。 只读两张图和定义。先在单位正方形中任选两点,计算 t=0、0.25、0.5、0.75、1 的线段点;再在 1≤x²+y²≤4 的圆环中找两点,使中点落进孔里。交点坐标与图,说明一个反例能否定凸性,但检查有限几条线段不能证明所有情况。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
把辅助抽样和正式样本分给两个随机数生成器,观察辅助步骤多取一个数时,正式样本是否跟着变化。
来源:NumPy 项目
从哪里开始
先读与先做 在一个进程里分出两条有固定用途的随机数流,检查新增辅助抽样是否影响正式样本。
这次可以跳过 先跳过多进程、GPU、跳跃生成器以及碰撞概率推导。 自拟练习:种子用 20261007。先共用一个 Generator(PCG64(seed)),辅助步骤取 3 个 random 数,正式步骤取 8 个 0–99 整数;让辅助步骤再多取一次,比较正式样本。再从新建的 SeedSequence(seed).spawn(2) 得到两个子种子,固定第 0 个给辅助、第 1 个给正式样本,重复比较。每轮重新创建根种子;交四份正式样本、用途与 spawn_key 对照、Python/NumPy 版本和生成器名称。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
用宽度不同的两个区间,分清样本数、样本占比和概率密度;检查密度图的总面积,而不是把柱高直接相加。
来源:Matplotlib 项目
从哪里开始
先读与先做 用八个固定数字和两个不等宽区间,复查计数、每箱占比与密度面积。
这次可以跳过 先跳过正态分布拟合、自动分箱算法、复杂绘图排版及大样本模拟。 自拟练习:数据取 [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。交数值表和图,并检查密度乘箱宽后的总和。
完整导读、版本与原文入口 英文 · 开放教材 · 有一点基础再读
用公开样例数据导出清洗操作,再在第二个项目应用;对比操作 JSON、结果 CSV 和完整项目归档各保留了什么。
来源:Data Carpentry / OpenRefine
从哪里开始
先读与先做 用同一份公开 CSV 对比批量操作重放、单格修改与完整项目归档,记录每种保存方式的范围。
这次可以跳过 先跳过聚类纠错、在线对齐服务、多人服务器部署与自动化客户端。 自拟练习:从教材 Setup 下载 SAFI CSV,保留原件,以相同设置导入为 A、B 两个项目。操作前清空筛选与临时排序,记录首行的 key_ID。A 中把 village 列批量改成大写,再只手动把已记录 key_ID 对应行的 village 单元格改为 DEMO_ONLY;这只是对照试验,不当作真实纠错。导出操作 JSON 并在 B 应用,检查批量变化和单格变化是否都出现。再把 A 导出为完整项目归档,导入后检查历史。交原始数据身份、JSON、归档及差异表;导出全表 CSV 前清除筛选条件并核对行数。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
从 16 个字节的小文件观察范围请求:返回哪一段、这一段有多长,以及文件版本改变后为什么会改为返回完整内容。
来源:MDN Web Docs / Mozilla
从哪里开始
先读与先做 用一个 16 字节文件区分片段、完整响应和越界请求,检查续传前后的文件身份。
这次可以跳过 先跳过多范围 MIME 消息、压缩表示、日期形式 If-Range、其他条件头、媒体播放器和通用下载器实现。 自拟练习:文件为 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 保留已有片段、停止追加并核对范围与完整长度。可先纸面推演;实做需记录这两个本地路径的配置。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
用一小段 JSON 观察响应正文的读取状态,比较给对象换个变量名、读取前克隆,以及读取后再克隆的区别。
来源:MDN Web Docs / Mozilla
从哪里开始
先读与先做 不发网络请求,直接构造小响应,观察别名、提前克隆、已读和加锁四种状态。
这次可以跳过 先跳过 Service Worker 缓存、真实跨域请求、大文件复制和流式背压实现。 自拟练习:用 new Response 构造正文为 {"name":"青欢","count":2} 的响应。在读取前分别保存一个普通变量别名和一个 clone。先用原对象 text(),再尝试别名 json(),最后读取克隆的 json(),记录每一步的 bodyUsed、结果和错误名称;再试读取后 clone()。补充观察:新响应调用 body.getReader() 后尚未读取,记录 bodyUsed 与 body.locked,再尝试 clone;释放锁后重试读取。交时间顺序表和简短结论,说明克隆发生在什么时候。
完整导读、版本与原文入口 英文 · 开放教材 · 零基础可读
先一个个翻盒子,再看有序盒子怎样让你排除半边。只数检查了几个数字,不需要写程序。
来源:坎特伯雷大学 Computer Science Education Research Group
从哪里开始
先读与先做 用八个数字理解逐个查找与对半排除,自己检查“必须先有序”的条件。
这次可以跳过 先跳过计时程序、Scratch/Python 下载、平均复杂度和大 O 公式。 先读 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,观察硬套对半规则为什么可能漏掉它。交步骤表和一句使用条件;网页随机关卡另记,不与固定纸笔题混算。
完整导读、版本与原文入口 英文 · 开放教材 · 零基础可读
一个按钮让小灯按“亮、灭、灭、亮”循环。画三个圆和几条箭头,理解机器记住的状态为什么不只等于眼前的灯光。
来源:坎特伯雷大学 Computer Science Education Research Group
从哪里开始
先读与先做 只用一个按键和三个状态,分清灯的显示、机器的记忆以及零次输入。
这次可以跳过 先跳过全章列车地图、正规语言证明、JFLAP/Exorciser 安装和自动机转换。 先打开小灯,再在教材 15.3 搜索 strange kind of light switch,只读这段及其后关于零次按键的说明。术语这样理解:状态是“机器现在记着哪种情况”;箭头表示“按一次之后去哪”;空输入就是“一下也不按”。先重置,记录不按、按 1、2、3、4、5、6 次时的灯光,连续按时不要中途重置。画三个状态与 a 箭头,解释为什么两种灭灯状态不能只合成一个“灭”。交状态图、记录表和最少几次能让灯亮的答案。Reset 只是让实验重来,不算 a。若不能打开演示,可按教材给出的三状态图完成纸笔推演,并标记未实测。
完整导读、版本与原文入口 英文 · 开源实战 · 按需进阶
从两个小样例学习:计算结果没被使用,或输入始终不变时,JVM 可能省去本来想测的工作。
来源:OpenJDK
从哪里开始
先读与先做 只做无用计算消除与常量折叠两个对照,检查基准是否真的执行了目标工作。
这次可以跳过 先跳过全部样例、汇编分析和全站压测;不能用微基准直接推断接口吞吐。 只读 README 起步和 Sample 08、10。先预测两组写法会测到什么,再在独立 Maven 基准项目中比较,保存 JDK、运行参数与完整结果;结果仅说明这次环境。
完整导读、版本与原文入口 英文 · 开源实战 · 按需进阶
让少量线程反复读写共享状态,记录实际出现过哪些结果,再对照 Java 并发规则解释这些结果。
来源:OpenJDK
从哪里开始
先读与先做 先列并发结果清单,再记录一条小计数器实验的结果分布。
这次可以跳过 先跳过完整测试套件、硬件内存模型与 JDK 实现缺陷研究。 先读 API 样例,再选一条共享计数器练习;分别用普通自增和 AtomicInteger,先写结果清单后运行。保存 JDK、硬件和执行时长;没有观察到异常不能证明异常不可能发生。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
让工具临时修改比较条件或返回结果,再运行已有测试,找出“代码走到了,断言却没有发现错误”的情况。
来源:PIT 项目
从哪里开始
先读与先做 只检查一个条件判断方法,找出一处现有断言漏掉的边界。
这次可以跳过 先跳过全项目扫描、多模块聚合与强制百分百门槛。 先选一个折扣或年龄判断方法,限制 targetClasses 范围。比较已有测试与新增边界测试的结果,解释每个未被测试发现的改动;不要只追求总分。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
在本地准备可控制的下游接口,让它延迟响应、返回错误状态或空响应,检查 Java 客户端怎样结束等待和处理失败。
来源:WireMock
从哪里开始
先读与先做 在本地模拟正常、超时、503 和空响应,逐项记录客户端如何结束。
这次可以跳过 先跳过随机长尾、云服务和连接重置;Windows 上连接重置行为需另验。 固定客户端超时,只改变下游行为;分别记录返回状态、异常类型、耗时与尝试次数。先关闭自动重试,再单独验证明确设计的重试规则。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
用两个事务按相反方向访问两张表,先看到等待,再看到死锁,并从锁表和状态输出找出双方在等谁。
来源:MySQL / Oracle
从哪里开始
先读与先做 只复现两事务示例,保存等待关系和死锁后的事务状态。
这次可以跳过 先跳过生产库排查、修改全局参数和复杂索引锁推导。 按文档顺序操作,每一步记录谁持有什么锁、谁等待谁。先在第二个方向更新前画等待图,再执行最后一步并核对错误;不要把单次等待直接称为死锁。
完整导读、版本与原文入口 英文 · 开源实战 · 按需进阶
分别查看 CPU、经过时间和锁等待的采样结果,理解一次慢请求可能是计算多,也可能是线程没有机会继续运行。
来源:async-profiler 项目
从哪里开始
先读与先做 只比较 CPU 与 wall 采样怎样呈现计算和等待;有锁竞争问题时再加 lock。
这次可以跳过 先跳过全部事件同时开启、原生内存分析和生产持续采样;原生 Windows 不作为已支持环境。 先用一个计算循环与一个等待任务做对照,固定任务输入和采样时长,分别查看 CPU 与 wall 结果;必要时再增加锁模式。保留原始记录,不把某一张图当作完整因果证明。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把“控制器通过服务访问数据层”等约定写成测试,检查编译后的 Java 类之间是否出现了不允许的依赖。
来源:ArchUnit 项目
从哪里开始
先读与先做 只写一条分层依赖规则,通过故意违规和修复证明规则能发现目标问题。
这次可以跳过 先跳过大而全的架构模板、冻结历史违规和复杂扩展 API。 先写一条符合现有设计的规则,故意加入一处跨层调用让它失败,再修复并确认通过。规则应服务于项目实际约定,不必照搬所有分层限制。
完整导读、版本与原文入口 英文 · 开源实战 · 按需进阶
先检查服务能否握手和列出工具,再用固定参数调用一个无副作用工具,保存返回内容与退出状态,定位协议连接和工具执行分别在哪一步失败。
来源:Model Context Protocol 社区
从哪里开始
先读与先做 只做握手、列工具和三组无副作用调用;把失败定位到连接或工具执行。
这次可以跳过 先跳过 OAuth、公开服务接入与会真实写入业务数据的工具。 只选一个本地 echo 或加法工具。设计正常输入、错误类型和未知工具三例,分别记录握手、工具清单和调用结果,再决定哪些检查值得放入自动构建。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
用测试环境快进等待时间,替换外部任务,并用保存的执行历史检查代码变更是否仍能重放。适合研究做了很久、会等待或需要恢复的业务流程。
来源:Temporal
从哪里开始
先读与先做 用 Java 测试环境检查等待、取消与一次历史重放,分清测试快进和真实恢复。
这次可以跳过 先不引入真实模型、支付写入、生产集群或完整编排平台。 先做一个等待后调用本地计数 Activity 的流程,以替身覆盖成功和取消。保存历史后改动控制流程,观察重放是否发现不兼容;真实进程重启与副作用恢复另做实验。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把固定问题送给已有 HTTP 接口,提取要检查的响应,再用结构和内容规则比较改动前后的结果。可以从不调用模型的本地假响应开始。
来源:Promptfoo
从哪里开始
先读与先做 给一个已有接口写三组固定输入和结构断言,保留原始响应与判定原因。
这次可以跳过 先不做红队全量扫描、模型排行榜和需要额外模型调用的评分。 先为一个本地接口写正常答案、缺少字段、应拒绝三例,检查响应提取是否丢掉重要证据。先把输出结构测清楚,再加需要人工核对的答案质量评估。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
根据一段多轮调用记录,比较实际工具与预期工具及参数。先分清顺序必须一致的流程和允许并行的流程,再单独讨论最终任务是否完成。
来源:Ragas 开源社区
从哪里开始
先读与先做 用四段手写调用记录比较工具、参数、顺序和业务结果,先固定评分目标。
这次可以跳过 不运行真实工具,不把单个工具分数当整体可靠性,也不先接入模型裁判。 先手写四段记录:正确顺序、错误参数、交换可并行步骤、只声称成功但缺少调用。对照参考调用解释工具得分与业务结果为什么可能不同。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
准备一小组真实问题和人工相关度标注,用同一批材料比较两种查询方式。除了总分,还逐题看排错的结果和没有标注的文档。
来源:Elastic
从哪里开始
先读与先做 固定问题和相关度标注,只比较一次查询改动;逐题查看 details 与 unrated_docs。
这次可以跳过 跳过集群运维、在线流量实验和模型生成;不要把漏标文档直接认定无关。 先固定六段材料和三条问题,按无关、部分相关、直接相关标注。保持材料与标注不变,只修改一种查询设置,并逐题解释得分变化与漏标情况。
完整导读、版本与原文入口 英文 · 开源实战 · 按需进阶
按照 Agent Card 声明的接口运行协议兼容检查,把必须满足、建议满足和可选能力的结果分开记录。适合已经有本地 A2A 服务后定向补测。
来源:A2A Project
从哪里开始
先读与先做 已有 A2A 服务后,只选一种已声明传输和 MUST 要求,阅读逐项兼容报告。
这次可以跳过 初学者先跳过;不对公共或真实业务 Agent 批量运行,不把 SDK 示例启动等同兼容通过。 已有本地 A2A 服务后,只选 Agent Card 实际声明的一种传输和 MUST 级别。保存测试版本、能力声明及逐项结果;再用一个故意缺字段的测试服务验证检查会失败。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
给一次 Agent 任务里的不同操作使用明确的追踪名称和属性,分清远程 Agent 调用、本进程流程与工具执行,并记录哪里出错。
来源:OpenTelemetry GenAI 社区
从哪里开始
先读与先做 在 Java 遥测基础上,只补 Agent/工具操作的命名、关联和错误记录,画一份追踪树。
这次可以跳过 跳过重复安装教程,不承诺自动采集全部字段;暂不展开完整 GenAI 规范。 先画一条 Agent 请求、模型交互、查询工具的追踪树,给每步标起止时间、操作名称和错误。参数与结果只用虚构数据,逐项决定是否采集;实际接库后再核对输出。
完整导读、版本与原文入口 英文 · 交互练习 · 有一点基础再读
用矩阵记录元素洗牌前后的位置,比较多次打乱是否偏向某些位置。页面提供算法选择和自定义代码入口。
来源:Mike Bostock
从哪里开始
先读与先做 只看位置频数矩阵和 Fisher–Yates 的剩余区间交换,再写四元素实验。
这次可以跳过 先跳过其他算法可视化与绘图代码;不要从单次动画判断均匀性。 先读矩阵的横纵轴和颜色说明,再看原作者 Fisher–Yates 图解。用自己的代码将 [0,1,2,3] 打乱 1000 次,记录每个元素到各位置的次数,再增加到 10000 次比较;频数接近不能单独证明所有排列等概率。
完整导读、版本与原文入口 英文 · 开放教材 · 按需进阶
沿一段 TLS 1.3 演示连接查看记录、握手消息和字段字节,说明客户端提出什么、服务器选了什么。
来源:syncsynchalt / Illustrated TLS
从哪里开始
先读与先做 只读两段 Hello,画出记录头、握手头和版本扩展的包含关系。
这次可以跳过 先跳过密钥推导、证书签名计算与复现脚本;不把演示数值用于实际连接。 第一轮只读 Client Hello 与 Server Hello,标出记录头、握手头和 Supported Versions。分别解释长度字段覆盖的范围,区分客户端声明支持与服务器最终选定的版本,并说明旧版本标记为什么不足以判断协商结果;暂时跳过密钥推导与全部密码运算。
完整导读、版本与原文入口 英文 · 论文与研究 · 按需进阶
用简单点集说明 t-SNE 图形怎样受参数和迭代影响,以及为什么不能直接把团块在图上占据的范围和彼此间距当成原数据的样子。这里讨论范围,不是否定图中的点数。
来源:Martin Wattenberg、Fernanda Viégas、Ian Johnson / Distill
从哪里开始
先读与先做 先读第 1—3 节,比较参数、团块在图上占据的范围与团块间距离,再看随机噪声反例。
这次可以跳过 先跳过拓扑案例和底层优化推导;不要把二维图直接当作聚类质量评分。 先读第 1—3 节,比较同一输入在三个 perplexity 参数下的结果。记录团块在图上占据的范围(不是点数)和间距,把看到的现象与能证明的事实分栏;再看随机噪声例子,不急于给真实数据贴类别标签。
完整导读、版本与原文入口 英文 · 交互练习 · 有一点基础再读
从像素覆盖和透明度讲到图层合成,用示意图和滑块说明 RGBA 中多出来的 alpha 数值在控制什么。
来源:Bartosz Ciechanowski
从哪里开始
先读与先做 只读 Opacity、Coverage、Alpha 与 Combining Alphas,先理解两个透明度如何组合。
这次可以跳过 先跳过 Porter-Duff 全部运算、预乘颜色细节和色彩空间推导;不直接用截图色值验证线性公式。 先读 Opacity、Coverage、Alpha 和 Combining Alphas。只看同一像素、两层完全覆盖、上层盖在下层上方的普通合成,不含额外的不透明背景。先预测两层各 50% 的组合,再计算 0%、50%、100% 的 3×3 不透明度表;理解后再读颜色混合,暂不做截图 RGB 精确比对。
完整导读、版本与原文入口 英文 · 交互练习 · 有一点基础再读
把一张照片拆成颜色信息、小块和一组组数字,观察压缩后哪些细节发生变化。适合接着图片格式文章,理解常见有损 JPEG 为什么可能出现方块和边缘变化。
来源:Omar Shehata / Parametric Press
从哪里开始
先读与先做 先看颜色抽样,再看怎样把小块像素换成系数(DCT),以及怎样把系数按步长舍入(量化)。
这次可以跳过 先跳过熵编码、文件破坏实验和感知生理类比;不套用例图的压缩倍数。 先看颜色抽样,再看 DCT(把小块像素换成一组描述明暗图案的系数)与量化(把系数按步长舍入)。先跳过最后的编码细节。挑一个图像小块,记录改动前后的变化,画出从像素到系数再到近似图像的三步图。把变换和舍入造成的损失分开说明;例图的压缩比不是所有图片的保证。
完整导读、版本与原文入口 中文 · 官方文档 · 零基础可读
用中文查清两个常见选择:照片里的细节可以怎样取舍,带小字、线条或透明背景的图片又需要保留什么。只学 JPEG 与 PNG 两段,先不背整张格式表。
来源:MDN Web Docs
从哪里开始
先读与先做 只读 JPEG / PNG 两段,给照片、文字截图、透明图标各写选择理由。
这次可以跳过 跳过整页历史浏览器兼容表与其他格式的性能比较;选型仍需实际比较图片。 读 JPEG 和 PNG 两段,给照片、带小字的截图、透明图标各写一个选择理由,并写下需要检查的文件体积或边缘效果。区分“PNG 压缩可还原输入的像素数据”和“先缩图或减色造成的信息已经恢复不了”;无损也不表示文件一定更小。
完整导读、版本与原文入口 英文 · 交互练习 · 零基础可读
在黑白卡片方阵外补一行和一列,让每行每列的黑色卡片数满足约定,再尝试找出被翻动的一格。先玩一个小魔术,再理解额外校验信息有什么用。
来源:CS Unplugged / University of Canterbury
从哪里开始
先读与先做 补一行一列,让每行每列的黑卡数都为偶数;只翻一格并尝试定位。
这次可以跳过 不把单格定位推广到任意多位纠错;不必观看全部教师培训资料。 用 5×5 张黑白纸卡摆数据,再补一行一列,让每行、每列的黑卡总数都为偶数。请同伴只翻一格,尝试定位,并画出异常的行和列。恢复原来的方阵,再试着翻两格,记录观察。这是多组行列校验的练习,不能据此认为一个校验位能定位错误,或任意多位错误都能修复。
完整导读、版本与原文入口 英文 · 官方文档 · 零基础可读
从“让茶壶煮咖啡”这个愚人节故事出发,读懂为什么现在的 HTTP 规范把 418 标为 Unused。几段原文就能练习区分历史趣闻、文档类别和当前约定。
来源:RFC Editor / IETF / IANA
从哪里开始
先读与先做 对照 RFC 2324 第 2.3.2 节、RFC 9110 第 15.5.19 节与 IANA 的 418 登记项。
这次可以跳过 不通读完整 HTTP 规范,也不照着玩笑协议设计业务接口。 先读 RFC 2324 的日期、文档类别和 2.3.2,再读当前入口的 15.5.19,并在 IANA 表中找 418。写三行笔记,分别说明故事来源、当前登记名称、为什么不能将其当成通用业务状态。保留规范的边界:目前保留,不等于承诺永远不会重新分配。
完整导读、版本与原文入口 英文 · 交互练习 · 有一点基础再读
输入几个内存地址,看一小块数据怎样进入硬件缓存,再追踪重复读取和相邻地址读取。页面把地址、缓存行和每一步发生的事放在一起。
来源:University of Washington CSE 351
从哪里开始
先读与先做 固定 8 位地址、32 B 缓存、8 B 块、1 路映射,记录 00、00、01、08 四次读取的块与命中情况。
这次可以跳过 先跳过写入策略和复杂替换策略;操作后等显示更新,再用逐次历史核对计数,不推算真实 CPU 速度。 选 8 位地址、32 字节缓存、8 字节块、1 路映射后生成系统,依次读 00、00、01、08。为四次访问各记下命中结果和所属块,解释第二次与第三次结果的原因。只做读取实验;这是单级缓存模型,不能把模拟结果换算成真实 CPU 耗时,也不要套用 Redis 的过期时间规则。
完整导读、版本与原文入口 英文 · 交互练习 · 有一点基础再读
把自己当成调度员,决定哪个线程先执行下一步,观察共享变量和锁怎样相互影响。示例使用 C# 写法;目标是写出会出错的执行顺序,理解并发的基本问题。
来源:Petr Hudeček / Michal Pokorný
从哪里开始
先读与先做 从入门引导开始,读懂示例的 C# 写法,只跟踪两个线程和一个共享变量,手写正常与出错的交错顺序。
这次可以跳过 先跳过高级关卡;游戏调度不能代替 Java 内存模型和真实程序验证。 从入门引导开始,只研究一对线程和一个共享变量,记录一条正常顺序与一条出错顺序;产出两列执行日志。之后再尝试锁相关关卡。游戏采用自己的简化执行规则,不能据此证明 Java 内存可见性、JIT 重排或真实系统的所有线程行为。
完整导读、版本与原文入口 英文 · 开放教材 · 有一点基础再读
区分磁盘上的程序和正在执行的进程,再看进程何时运行、何时排队、何时等输入输出。先掌握三种状态,操作系统就不再只是一个抽象的“管家”。
来源:Remzi H. Arpaci-Dusseau / Andrea C. Arpaci-Dusseau,University of Wisconsin–Madison
从哪里开始
先读与先做 第 4 章开头加 4.4:用双进程时间线区分运行、就绪和阻塞。
这次可以跳过 暂不运行课后模拟器,不展开虚拟内存;三状态是教学简化,不是系统状态全集。 先读开头的程序与进程区别,再读 4.4 的三状态图。设想 A 正在算数、B 发出磁盘请求,在纸上画两条时间线,标出谁运行、谁就绪、谁阻塞;说明 I/O 完成后为什么不一定立刻获得 CPU。把三状态图当成简化教学模型,不当成某个系统完整的进程状态列表。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
看 UTF-8 文字如何变成字节,再得到 SHA-256 摘要。摘要适合比较内容,但它不是能解回原文的加密,也不自动证明是谁发来的。
来源:MDN Web Docs
从哪里开始
先读与先做 对照两段固定文字的摘要,区分字节长度、显示字符数、加密和认证。
这次可以跳过 先跳过其他算法与大文件;需要验证发送者时另学带密钥的机制。 用 abc 和 abd 两段文字分别求 SHA-256,记录输入字节数、输出 32 字节与十六进制显示的 64 个字符。观察输出变化即可,不由两个样本断言绝无碰撞;也不要把这个例子直接当作密码存储方案。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
把数全部行、数非空值、数不重复的非空值放在一起看,再用 NULL 与 UNKNOWN 的说明解释差别。
来源:Microsoft Learn
从哪里开始
先读与先做 只比较三种 COUNT,交出三行数据对应的 SQL、结果与计数对象说明。
这次可以跳过 窗口函数、返回类型和 AdventureWorks 大型示例库。 先读参数和备注,只比较三种 COUNT,暂跳窗口函数、返回类型细节和大型示例库。用值为 10、10、NULL 的三行小表,先预测再查询;交出三条 SQL、结果和各自数了什么的说明。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
通过价格、编号和关联记录的例子,区分 CHECK、NOT NULL、UNIQUE、主键与外键分别负责什么。
来源:PostgreSQL Global Development Group
从哪里开始
先读与先做 用 PostgreSQL 练习 CHECK 与 NOT NULL,再比较唯一约束;记录接受和拒绝的数据。
这次可以跳过 排除约束、跨表自定义 CHECK 和复杂级联;不要假定各数据库的 NULL 行为相同。 先读 CHECK、NOT NULL,再看唯一约束;暂跳排除约束和复杂级联。给价格列分别设置 CHECK(price > 0) 和额外的 NOT NULL,尝试 1、-1、NULL,记录每次是否被接受及原因。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把建表和添加数据分成两个编号脚本,让工具记录哪些改动已应用,再区分新增迁移与改写旧文件。
来源:Redgate Flyway
从哪里开始
先读与先做 在 SQL 基础之后,用两个编号脚本观察迁移历史,说明新增版本与改写旧文件的区别。
这次可以跳过 Desktop、Undo、Repair、基线重建与线上数据库。 先按入门页读 V1 建表和 V2 加数据,再读 Versioned migrations;暂跳 Desktop、撤销与修复命令。只在新建练习库执行,交出两个脚本和迁移历史记录;说明已使用的旧版本脚本为什么通常应保留,再增加新版本修正。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
对比启动时读取一次配置和注册变更监听,顺着回调看新文本怎样进入应用,以及业务代码仍需完成什么。
来源:Nacos 社区
从哪里开始
先读与先做 对比一次读取与持续监听,写清新配置校验成功后才替换业务对象。
这次可以跳过 服务发现、分布式锁、AI 资源与集群部署。 先读升级兼容性,再读获取配置、监听配置和删除监听;暂跳服务注册与分布式锁。画出“读取文本—解析检查—替换业务对象”的步骤,并写一个监听器草稿:新值不合法时保留旧对象,记录原因;说明回调收到文本为何还不算业务刷新完成。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
用令牌数量表示还能接受多少次请求,分别观察容量、初始令牌,以及逐步补充和整批补充的区别。
来源:Bucket4j 项目
从哪里开始
先读与先做 先画一个令牌桶的纸上时间线,比较初始容量、逐步补充与整批补充;取不到额度就拒绝。
这次可以跳过 Servlet 复制粘贴、阻塞 API、分布式后端与配置热替换。 先读初始令牌和 Refill styles,暂跳 Servlet、阻塞等待、集群后端和动态换配置。在纸上把建桶时记为 0 毫秒:容量 3、初始 3、每秒补 2 个,每次请求尝试取 1 个;取不到就立即拒绝,不等待。按列表顺序处理 0、0、0、0、250、500、1000 毫秒的请求,同一时刻的四个请求也依次处理。分别画逐步补充和整批补充的表;整批补充从建桶满一秒时开始,先补足该时刻按规则应得的额度,再处理请求,最多不超过容量。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
区分后台刷新与到期失效:符合刷新条件后,还要有读取触发;刷新过程中通常仍返回旧值。
来源:Caffeine 项目
从哪里开始
先读与先做 比较刷新成功与失败时旧值的去向,用时间线区分刷新条件和实际触发。
这次可以跳过 批量加载、性能榜单和框架整合;本地缓存不等同 Redis 多实例共享缓存。 先读 Refresh 的短示例和失败说明,暂跳批量加载与框架整合。画出“写入旧值—达到刷新条件—一次读取触发刷新—成功或失败”两条时间线,标注何时可能返回旧值;不要把 refreshAfterWrite 当作固定周期任务。
完整导读、版本与原文入口 中文 · 官方文档 · 按需进阶
用存活、就绪和启动探针分别回答是否需要恢复容器、能否接收服务流量、是否还在初始化。
来源:Kubernetes 文档
从哪里开始
先读与先做 只比较三种探针的处理动作和连续失败阈值,记录 Ready 与重启次数所表达的不同事实。
这次可以跳过 TCP、gRPC、TLS、HTTP/2 探针扩展和完整集群搭建。 先读准备开始、定义就绪探针与慢启动保护,再回看存活示例;暂跳 TCP、gRPC、TLS 和 HTTP/2 探针扩展。给“正在启动、暂不能接单、进程卡住”各写一行预期动作,注明连续失败阈值;有练习集群时再记录 Ready 状态与重启次数,别把单次失败当成立刻重启。
完整导读、版本与原文入口 中文 · 开放教材 · 有一点基础再读
用平方函数观察参数怎样一步步移动,比较学习率小时的缓慢靠近与过大时的来回跳动。
来源:《动手学深度学习》作者团队
从哪里开始
先读与先做 只算平方函数的前三步,比较两种学习率并保存 x、x² 对照表。
这次可以跳过 泰勒展开证明、牛顿法、多维推导和整本教材安装。 先看 11.3.1 的 f(x)=x² 与 x←x−η·2x,其中 η 是学习率,决定每一步迈多大。从 x=10 出发,分别取 η=0.2 和 1.1,记录前三步的 x 与 x²,交一张对照表。首轮跳过泰勒展开证明、牛顿法和多维推导;简单函数上的结果不保证真实网络每步都下降。
完整导读、版本与原文入口 英文 · 论文与研究 · 按需进阶
沿二次函数上的轨迹,观察动量怎样利用之前的方向,以及为什么它也会引起振荡。
来源:Gabriel Goh / Distill
从哪里开始
先读与先做 用两步更新图区分当前梯度与历史状态;仅在控件可用时补观察轨迹。
这次可以跳过 特征分解、最优收敛率与真实模型速度结论。 先看开头轨迹和 First Steps,再对照动量的两行更新式。保持步长相同,画出 β=0 与 β>0 时第二步会用到哪些旧值;若本机控件能用,再记录一组轨迹变化。首轮跳过特征分解证明和最优收敛率,不把动量解释成永远更快或永不振荡。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
从同一对象有多条记录和按时间产生的数据入手,选择更接近实际使用场景的验证划分。
来源:scikit-learn 文档团队
从哪里开始
先读与先做 交两份虚构记录的切分清单,分别检查组不重叠和时间顺序。
这次可以跳过 网格搜索、置换检验与把随机拆行当作所有场景的默认。 先看 Group K-fold,再看 Time Series Split。给三位虚构用户各写两条记录,画一个组间不重叠的划分;另画按时间先训练后验证的方案,交出两份索引清单和各自测试目标。首轮跳过网格搜索与置换检验;划分正确也不能自动修好事后字段或重复内容泄漏。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
看清文本检索和向量检索各自产生候选,再通过加权或排名融合得到结果的流程。
来源:阿里云 OpenSearch 文档团队
从哪里开始
先读与先做 围绕型号词与意思相近的查询画两路候选合并图,分别标各路数量和总返回数量。
这次可以跳过 购买实例、服务配置、付费模型与未经实测的性能结论。 先读“方案介绍”,再看“添加数据”和“查询”的小例子。自拟一个型号词查询和一个意思相近的查询,分别列出希望关键词路、向量路找到的资料,并画两路合并图;这些是预期,不能伪称实测排名。首轮跳过购买、控制台配置与模型服务,保留“混合未必更好”的评测问题。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
把问题、文档和事先标好的相关文档 ID 分开保存,再检查前 k 条结果漏掉了多少已知相关资料。
来源:Sentence Transformers 文档团队
从哪里开始
先读与先做 固定两个问题、五条材料与相关 ID,检查前三条结果的 Recall@3。
这次可以跳过 模型/数据下载、其他评估器和未固定标注的调参。 只看 InformationRetrievalEvaluator 的 queries、corpus、relevant_docs。准备两个问题、五条虚构材料,每题至少标一个相关 ID;先固定标注,再列前三条结果,交出找到和漏掉的相关 ID 及 Recall@3。首轮跳过整库下载、其他评估器和调参;资料外问题另测,标注不完整也会限制结论。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
用流程图区分召回候选与重排候选,理解为什么第二步仍然依赖第一步有没有找来正确资料。
来源:Sentence Transformers 文档团队
从哪里开始
先读与先做 用候选卡片分别构造召回缺失与排序靠后,交两类失败记录。
这次可以跳过 Wikipedia 向量化、模型下载及把相关分数当正确概率。 先看流程图及 Retrieval、Re-Ranker 两节。画五张候选卡,先移走其中唯一能支持答案的一张,再尝试只重排剩余卡;交出候选缺失和排序靠后两类失败记录。首轮跳过整套 Wikipedia 向量化与模型下载,不承诺换上重排器就能提高每个任务的效果。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
把参数格式、服务器权限检查、执行错误与用户确认分开,了解工具协议提供了什么、应用仍要负责什么。
来源:Model Context Protocol 项目
从哪里开始
先读与先做 为读取与取消订单各写参数/权限/确认/错误检查卡,构造一个格式正确但未授权的请求。
这次可以跳过 传输部署、真实操作及信任未经核验的工具注释。 先读 Tool 定义和 Security Considerations,再看 Error Handling。给虚构的“读取订单”和“取消订单”各画一张检查卡,写清参数、当前身份、可操作对象、敏感动作确认与失败返回;交出一个格式正确却应拒绝的请求。首轮跳过传输部署和真实工具执行;不把不可信服务器的 annotations 当成安全承诺。
完整导读、版本与原文入口 英文 · 官方文档 · 有一点基础再读
以带时区的日期为例,区分“日历往后一天”和“实际经过 24 小时”。切换夏令时的地区,两者可能落在不同钟点。
来源:Oracle Java
从哪里开始
先读与先做 用两次历史夏令时切换,比较日历加一天与实际加 24 小时。
这次可以跳过 不通读整份 API;解析格式、序列化和自定义时间单位按需查。 固定 America/New_York 的 2024-03-09 12:00,分别加一天和加 24 小时。再把起点改成 2024-11-02 12:00。记录终点、UTC 偏移和两个 Instant 的时间差;不要从这两个历史例子推断所有地区都会切换夏令时。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
用洛杉矶向后拨钟的例子,看同一个钟点为何对应两个时刻。fold 是区分重复时间的标记:0 选转换前的偏移,1 选转换后的偏移。
来源:Python 文档
从哪里开始
先读与先做 从中文示例认出重复钟点,写出两个 UTC 时刻和各自的偏移。
这次可以跳过 先跳过搜索路径配置、缓存清理与 pickle;只读说明不需要安装包。 先照着洛杉矶的例子列出 fold=0 与 fold=1 的 UTC 偏移,再把两个时刻转为 UTC 比较。要算实际间隔,先明确比较的是 UTC 时刻,别把“当地日期加一天”直接读成固定 24 小时。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
沿着响应里的 Set-Cookie 和请求里的 Cookie,分清浏览器保存的小记录与服务器上的登录状态。
来源:MDN Web Docs
从哪里开始
先读与先做 用三个箭头画出 Cookie 的保存和发送,再单独画服务器的会话记录。
这次可以跳过 广告追踪、第三方 Cookie 全部策略及真实站点抓取暂不展开。 画三步:服务端返回 Set-Cookie、浏览器保存、后续请求带上 Cookie。再标注过期时间、Secure、HttpOnly 和 SameSite 各管什么。关浏览器不一定立即清掉会话 Cookie;删浏览器记录也不等于服务器主动注销。
完整导读、版本与原文入口 中文 · 官方文档 · 有一点基础再读
从两个不同来源的网页和接口入手,看预检请求与响应头如何决定浏览器能否把响应交给网页脚本。
来源:MDN Web Docs
从哪里开始
先读与先做 对照一组虚构请求头,分别判断来源、凭据和服务端权限三件事。
这次可以跳过 暂不背完整响应头表;同源和同站不是同一个概念。 为虚构前端与接口写出协议、域名和端口,判断是否同源。然后对照一次带凭据请求:允许来源不能用星号替代具体来源。最后另列服务端身份与权限检查;CORS 不能代替它们,也不是完整的防跨站请求伪造方案。
完整导读、版本与原文入口 英文 · 官方文档 · 按需进阶
关注登录或权限变化后的会话 ID 更新,以及闲置超时、总时限和主动退出。关键判断在服务端完成。
来源:OWASP
从哪里开始
先读与先做 用四个事件检查旧会话何时失效,区分浏览器记录和服务端状态。
这次可以跳过 暂不通读指纹、日志与各语言框架配置;只学会话生命周期。 写一条时间线:登录成功换号、长时间没活动、达到总时限、主动退出。每种情况分别说明旧编号是否还能访问服务端;浏览器清除 Cookie 与服务器让会话失效要分开检查。
完整导读、版本与原文入口