Skip to content

MiniS3 Journey

从空目录开始,依次完成任务卡;先动手,卡住时再展开补丁。

在 VSCode 中学习

使用专用学习仓库,让 VSCode gutter 与 Source Control 只显示当前 stage; 主工作区始终不会被修改。

python journey/tools/build_journey.py study 3
code ../MiniS3-journey-workspace

如果要自己实现,先准备上一 stage 的干净基线,再检查当前成果:

python journey/tools/build_journey.py attempt 3
python journey/tools/build_journey.py check 3

check 会运行该 stage 的累计 tests.txt 子集,并输出当前树相对补丁直接 累积出的参考树的 git diff --statstudyattempt 覆盖已有学习内容前 会明确确认;用 --yes 跳过提示,或用 --workspace PATH 选择其他专用仓库。

Stage 主题 新增测试 教材章节
01 脚手架与对象值 3 1
02 Bucket 状态与确定性 ID 0 3
03 持久化存储边界 0 5
04 对象服务门面 15 2
05 版本历史投影 3 3
06 Listing 与目录幻觉 5 4
07 Manifest 发布崩溃矩阵 5 5
08 目录 fsync 与启动清理 3 5
09 Multipart 领域与校验 0 6
10 Multipart 持久暂存 1 6
11 Multipart 原子完成 4 6
12 Multipart 崩溃恢复 2 6
13 条件请求与 CAS 4 7
14 确定性生命周期过期 4 8
15 公开 API 与守链收官 0 9

journey attempt 目前为实验性占位;未来将按 CS336 范式重写为测试驱动作业(预置测试与接口桩,实现至转绿,check 即评分器)。