"We choose to build these things not because they are easy, but because we want to understand how they work."
基于社区已有实现的参考,从零构建8个中高级计算机工程项目。每个项目包含详细的 spec.md(基于他人实现总结的规格说明)、gotchas.md(常见陷阱与解决方案)、Docker 运行环境。
| # | 项目 | 描述 | 难度 | 参考实现 |
|---|---|---|---|---|
| 1 | Toy Linux Kernel | 多任务、内存管理、引导加载、文件系统 | ⭐⭐⭐⭐⭐ | xv6 (MIT) |
| 2 | Toy Browser Engine | HTML/CSS解析、JS渲染、隔离、后台任务 | ⭐⭐⭐⭐⭐ | Robinson, Mini Browser |
| 3 | Homelab K8S Cluster | GPU节点 + 边缘节点 + GitOps持久化维护 | ⭐⭐⭐⭐ | k3s-ansible, homelab |
| 4 | Ben Eater 8-bit CPU | 面包板8位CPU (Ben Eater教程) | ⭐⭐⭐⭐ | Ben Eater, jcpu |
| 5 | Toy PyTorch | 纯Python自动微分引擎 + 神经网络 | ⭐⭐⭐ | micrograd, tinygrad |
| 6 | Toy Database | B+ Tree, 并发读写, 索引 | ⭐⭐⭐⭐ | toydb, baobab |
| 7 | 3D Physics Engine | 刚体动力学, 碰撞检测, 约束求解 | ⭐⭐⭐⭐ | raw-physics, Riemann |
| 8 | Tiny Claude Code | Harness engineer优化的微型AI编程代理 | ⭐⭐⭐ | CoreCoder, claude-code-from-scratch |
每个项目包含:
project/
├── spec.md # 规格说明(基于社区实现的总结)
├── gotchas.md # 常见陷阱与解决方案
├── Dockerfile # Docker 运行环境
├── assets/ # GitHub Pages 静态资源
│ └── index.html # 项目展示页面
└── src/ # 源代码(待实现)
- Docker (未安装请参考 Docker 安装指南)
- Git & GitHub 账号
- 基础知识:C/Rust/Python/K8S 等(各项目不同)
# 进入项目目录
cd 01-toy-linux-kernel
# 构建 Docker 镜像
docker build -t toy-kernel .
# 运行
docker run --rm -it toy-kernel每个项目的 spec.md 详细列出了参考的社区实现和教程。主要来源包括:
- xv6 (MIT) — 教学用 Unix 内核
- Robinson (Matt Brubeck) — 玩具浏览器渲染引擎
- k3s-ansible — 家庭 K8S 集群最佳实践
- Ben Eater — 8位面包板 CPU 教程
- micrograd (Andrej Karpathy) — 微型自动微分引擎
- toydb (Erik Grinaker) — 分布式 SQL 数据库
- raw-physics — XPBD 刚体物理模拟
- CoreCoder — 微型 AI 编程代理蓝图
MIT License — See individual project directories for details.