# cpp_learning_system **Repository Path**: mini-design/cpp_learning_system ## Basic Information - **Project Name**: cpp_learning_system - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-09 - **Last Updated**: 2026-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Linux + Modern C++ Learning System 这是一个真正可学习、可运行、可验证的学习系统,而不只是路线图。 ## 先从哪里开始 1. 先读 [curriculum/README.md](curriculum/README.md) 2. 按顺序完成 `curriculum/stage-0 -> stage-1 -> stage-2 -> stage-3 -> stage-4` 3. 进入 `stage-5` 后,先完成 4 个共用模块,再优先做 `lightweight-http-server` 4. 每学完一个模块,优先用 `python tools/curriculum_cli.py build/test/run ...` 完成最小闭环 5. 需要跨模块回归时,运行 [scripts/verify-all.ps1](scripts/verify-all.ps1) 或 [scripts/verify-all.sh](scripts/verify-all.sh) 6. 每周用 [templates/weekly-review.md](templates/weekly-review.md) 复盘 7. 需要查看系统演进方向时,读 [docs/roadmap.md](docs/roadmap.md)、[docs/backlog.md](docs/backlog.md) 和 [docs/capability-map.md](docs/capability-map.md) ## Unified CLI 课程模块现在有统一的 Python CLI 入口,章节 id 形如 `stage-0/01-linux-basics`。 ```bash python tools/curriculum_cli.py list python tools/curriculum_cli.py status python tools/curriculum_cli.py doctor python tools/curriculum_cli.py build stage-0/01-linux-basics python tools/curriculum_cli.py run stage-0/01-linux-basics python tools/curriculum_cli.py test stage-0/01-linux-basics python tools/curriculum_cli.py show stage-1/01-types-scope-functions python tools/curriculum_cli.py next python tools/curriculum_cli.py review python tools/curriculum_cli.py report python tools/curriculum_cli.py gate stage-1 python tools/curriculum_cli.py ready-for student-manager python tools/curriculum_cli.py migrate-progress python tools/curriculum_cli.py add-weekly-review 2026-W20 "finished stage 1 basics" --win "vector practice felt smoother" --risk "constructors still shaky" --next-action "finish student-manager tests" python tools/curriculum_cli.py set-weak-capability "ownership and lifetime" --severity high --module stage-1/06-lifetime-stack-heap-raii --module stage-2/03-smart-pointers-ownership python tools/curriculum_cli.py set-focus stage-1/01-types-scope-functions python tools/curriculum_cli.py set-project file-indexer python tools/curriculum_cli.py set-module-status stage-1/01-types-scope-functions in_progress python tools/curriculum_cli.py set-project-status student-manager testing python tools/curriculum_cli.py set-project-check file-indexer build done python tools/curriculum_cli.py record-failure stage-2/07-concurrency-basics stage2_producer_consumer_behavior --note "condition_variable still shaky" python tools/curriculum_cli.py add-note "review constructors and std::move examples" python tools/curriculum_cli.py notes python tools/curriculum_cli.py mark-done stage-0/01-linux-basics python tools/curriculum_cli.py clear-focus python tools/curriculum_cli.py verify --scope stage3 python tools/curriculum_cli.py lint --scope all --path curriculum/stage-5/01-architecture-and-module-design python tools/curriculum_cli.py sanitize --scope stage5 python tools/curriculum_cli.py list-projects python tools/curriculum_cli.py build-project hello-linux-cpp python tools/curriculum_cli.py run-project hello-linux-cpp python tools/curriculum_cli.py test-project hello-linux-cpp ``` Project manifests can now define acceptance checklist items in `projects//manifest.json`, and `ready-for` / `set-project-check` will use those manifest-defined checks directly. Progress-writing commands also detect stale writes now, so if two commands race on `records/progress.json`, one will fail with a `Progress conflict` message instead of silently overwriting state. The `_write_revision` field in that file is internal bookkeeping for this conflict detection and is not meant to be edited manually. 模块内原始 `cmake -S/-B`、`cmake --build`、`ctest` 命令仍然保留,适合调试底层构建问题。 ## 这套系统包含什么 - 章节化教材:`lesson.md` - 可运行示例:`examples/` - 练习题骨架:`exercises/` - 完整参考答案:`solutions/` - 最小验证:`tests/` 自测说明 + `ctest` smoke check / behavior check - 项目主线:`projects/` - 学习状态层:`records/progress.json` + CLI 诊断与阶段 gate ## 当前重点范围 当前 `阶段 0-5` 都已经落成课程入口和项目主线: - 阶段 0:环境与最小工作流 - 阶段 1:现代 C++ 基础 - 阶段 2:现代 C++ 核心 - 阶段 3:Linux 开发与工程化,绑定 `file-indexer` - 阶段 4:Linux 系统能力与现代 C++ 进阶,绑定 `concurrent-log-system` 与 `tcp-reactor-server` - 阶段 5:综合项目与能力固化,先学 4 个共用模块,再优先完成 `lightweight-http-server`,其余 `mini-kv-store`、`multithread-downloader`、`file-sync-tool` 作为扩展项目池 ## 学习原则 - 主线标准:`C++17` - 主线环境:`Ubuntu/WSL2` - 主线目标:工程项目落地 - 学习节奏:先读懂,再跑通,再练习,再对答案,再复盘 - 构建说明:见 [docs/build-and-test.md](docs/build-and-test.md) ## 仓库导航 - [课程主入口](curriculum/README.md) - [阶段概览](stages/stage-0-environment.md) - [题库索引](exercises/exercise-bank.md) - [项目索引](projects/project-ladder.md) - [阶段验收清单](checklists/stage-gates.md) - [构建与测试说明](docs/build-and-test.md) - [练习题行为测试模板](docs/exercise-harness.md) - [优化路线图](docs/roadmap.md) - [学习系统 V2 优化方案](docs/v2-learning-system-plan.md) - [统一 Backlog](docs/backlog.md) - [能力地图](docs/capability-map.md) - [学习进度模型 V2](docs/progress-model-v2.md) - [学习进度记录](records/progress.json)