Build Your Own X - 精选指南

从 500+ 条链接中筛选出的真正高质量教程与代码项目

30精选教程
11优质代码仓库
7大分类
484k原仓库 Stars(90%水分)

系统 / 底层

Java + C 中级 80-120h
你会造出什么
完整的脚本语言 "Lox" -- 造两遍。先用 Java 写树遍历解释器,再用 C 写字节码虚拟机。支持动态类型、垃圾回收、闭包、类和继承。
词法扫描 递归下降解析 AST 变量作用域 闭包 字节码编码 栈式虚拟机 哈希表实现 Mark-Sweep GC Pratt 解析
公认神作。Robert Nystrom(Google Dart 团队)著,手绘插图,每行代码都有解释。同一语言用两种根本不同的方式实现,深度理解权衡。全书免费在线阅读。
适合:想深入理解编程语言工作原理的中级程序员,需要基础 Java 和 C 知识。
HDL / Jack / ASM 中级 100-200h
你会造出什么
从一个 NAND 门开始,搭建逻辑门、ALU、CPU、RAM、汇编器、VM 翻译器、编译器、操作系统 -- 最终在你亲手造的计算机上跑俄罗斯方块。
布尔逻辑 组合电路/ALU 时序电路/RAM 机器语言 CPU 设计 汇编器 栈式 VM 编译器前端 OS 服务
CS 史上最受欢迎的课程之一。全球 400+ 大学采用,Coursera 免费课程,MIT Press 出版教材。从 NAND 门到俄罗斯方块,端到端理解计算机,无出其右。
适合:想从最底层理解计算机的任何人。无需编程基础以外的前置知识。自学程序员填补基础空白的最佳选择。
Rust 高级 60-100h 17.4k Stars
你会造出什么
x86_64 最小操作系统内核:VGA 文本输出、CPU 异常处理、硬件中断、分页内存管理、堆分配器、async/await 协作式多任务。
裸机 Rust (no_std) x86_64 启动 中断描述符表 PIC 中断控制器 虚拟内存/分页 堆分配器设计 async/await 内部机制
最受欢迎的 OS 教程。翻译成 10+ 语言,每月更新,Rust OSDev 社区标杆。用 Rust 类型系统让 unsafe 代码更安全。
适合:有 Rust 经验、想理解 OS 内核的开发者。非初学者友好。
你会造出什么
~1000 行 C 代码的终端文本编辑器,零依赖。支持文件编辑、增量搜索、语法高亮。基于 Redis 作者 antirez 的 kilo 编辑器。
终端 raw mode VT100 转义序列 POSIX I/O 动态数组 增量搜索 语法高亮状态机
教学法出色。184 个微小增量步骤,每步都能编译测试,立即看到结果。零依赖,只需 C 编译器。
适合:会基础 C、想理解终端应用和文本编辑器底层的人。
你会造出什么
简化版 SQLite 克隆:REPL、SQL 编译器和虚拟机、B-Tree 数据结构、磁盘持久化、节点分裂。
SQL 解析 虚拟机架构 行序列化 页式存储 B-Tree 二分搜索 磁盘持久化
直接参照 SQLite 真实架构,TDD 驱动开发。14 部分完整可用(作者已停更,但内容自洽)。
适合:想理解数据库内核的后端工程师、面试准备。
你会造出什么
~250 行 C 代码的 LC-3 虚拟机,能跑真实汇编程序(2048 游戏、Roguelike)。
指令集架构 寄存器/内存 指令编解码 取指-解码-执行循环 内存映射 I/O Trap 系统调用
最佳周末项目。代码极简但能跑真实程序。文学式编程风格,概念与实现分离清晰。
适合:系统编程入门者,一个周末就能完成。只需基础 C 知识。
你会造出什么
最小化但功能完整的 Linux 容器运行时:namespaces、capabilities、cgroups、seccomp、chroot。
Linux Namespaces Capabilities Cgroups Seccomp clone() 系统调用 容器安全加固
文学式编程,文档即代码。深入 Linux 内核安全机制,引用内核源码和安全论文。理解 Docker 本质的最佳材料。
适合:有 Linux 经验的 DevOps/SRE/安全工程师。

🌐 网络 / 基础设施

你会造出什么
完整的 socket 编程能力:TCP/UDP 客户端和服务端、多路复用、DNS 解析。
Socket API TCP/UDP select/poll 字节序 DNS 解析 多客户端处理
网络编程圣经。几乎每个 CS 学生都读过。幽默易懂的写作风格,持续更新 20+ 年。
适合:想理解网络编程底层的任何开发者。
C 高级 30-50h
你会造出什么
用户态 TCP/IP 协议栈:Ethernet、ARP、ICMP、TCP 状态机。
Ethernet 帧 ARP 协议 IP 分组 ICMP TCP 状态机 TUN/TAP 设备
从以太网帧到 TCP 握手,逐层实现。真正理解网络协议的最佳实践。
适合:想深入理解 TCP/IP 协议栈的系统/网络工程师。
你会造出什么
能下载真实 torrent 的 BitTorrent 客户端。
Bencode 编解码 Tracker 协议 Peer 协议 分片下载 并发管理
一篇文章讲透 BT 协议,简洁清晰,最终产物能实际下载文件。
适合:对 P2P 协议和 Go 感兴趣的开发者。
Rust 中级 10-15h
你会造出什么
完整的 DNS 服务器,支持递归解析。
DNS 协议 UDP Socket 递归解析 二进制协议解析
5 章循序渐进,从 DNS 报文格式到完整递归解析。Rust 网络编程实践佳作。
适合:想学 Rust 网络编程或理解 DNS 原理的开发者。
Shell 中级 2-4h 12.6k Stars
你会造出什么
100 行 Bash 的 Docker 克隆:pull、run、exec、ps、logs、网络、cgroups。
Linux Namespaces Cgroups Chroot 容器本质
"每行代码的顿悟密度"最高的项目。100 行证明容器就是 Linux 内核特性的组合,比大多数书讲得好。
适合:任何用 Docker 但不理解其本质的人。2-4 小时搞懂容器。
Rust 高级 20-30h
你会造出什么
简化版浏览器引擎:HTML 解析器、CSS 解析器、布局引擎、渲染管线。
HTML 解析 CSS 选择器 样式计算 布局算法 渲染树
Mozilla 工程师 Matt Brubeck 写的,7 篇系列。从 HTML 解析到像素输出,理解浏览器渲染的最佳短教程。
适合:前端想理解浏览器内部、或对 Rust 实战感兴趣的高级开发者。

💻 前端 / 编程语言

JavaScript 中级 4-6h
你会造出什么
React 克隆 "Didact":Fiber 架构、函数组件、useState Hook、协调算法 (Reconciliation)。
createElement / JSX Virtual DOM Fiber 树 并发渲染 Reconciliation useState 实现
交互式代码块,8 步拆解 React 16.8+ 核心。Rodrigo Pombo(Code Hike 作者)出品,讲 React 内部原理最清楚的一篇。
适合:每天用 React 但想深入理解原理的前端开发者。
JavaScript 入门 1-2h 28.4k Stars
你会造出什么
~200 行的迷你编译器:将 Lisp 风格调用转为 C 风格。注释比代码多。
词法分析 AST 解析 Visitor 模式 代码生成 编译三阶段
史上最易懂的编译器教程。Babel/Yarn/Lerna 核心贡献者 Jamie Kyle 出品。每行都有注释,像读书一样。
适合:对编译器好奇但被"龙书"吓退的人。1-2 小时入门。
你会造出什么
117 行 Python 的 Scheme 解释器 "Lispy":变量、条件、lambda/闭包、REPL。
词法/语法分析 AST 环境模型 Eval/Apply 循环 Lambda 演算 闭包
Peter Norvig(Google 研究总监、AI 教材作者)亲笔。117 行代码诠释"软件的麦克斯韦方程",经典中的经典。
适合:想理解编程语言工作原理的 Python 开发者。
Python 中级 30-50h
你会造出什么
完整的 Pascal 解释器:词法器、递归下降解析器、AST、符号表、语义分析器。19 部分系列。
词法分析 递归下降解析 AST + Visitor BNF/EBNF 语法 符号表 语义分析 嵌套作用域
19 部分系列,从单数字计算器到完整 Pascal 解释器。每篇递增构建,带练习题。最彻底的解释器教程。
适合:愿意投入几周深入学习解释器/编译器的开发者。
你会造出什么
完整的 Web 浏览器:HTTP 网络、HTML/CSS 解析、布局引擎、渲染管线、JS 集成、无障碍、动画、合成。
HTTP 网络 HTML 解析 CSS 级联/优先级 布局算法 JS/DOM 交互 安全 (Cookie/XSS/CSRF) GPU 动画 无障碍树
牛津大学出版社正式出版,Chrome 渲染引擎负责人合著。免费在线版,大学教材级别。16 章覆盖完整浏览器栈。
适合:想深入理解浏览器的资深开发者、Web 平台工程师、CS 高年级学生。
Python 中级 8-15h
你会造出什么
983 行 Python 的 Git 实现 "wyag":init、add、commit、log、checkout、tag 等,兼容真实 Git 仓库。教程本身的提交就是用 wyag 完成的。
Git 对象模型 SHA-1 内容寻址 Refs/分支/HEAD Index 暂存区 Tree/Commit 序列化 Merkle DAG .gitignore
从底层重新实现 Git,最终产物兼容真实 Git 仓库。理解 Git 内部原理的最佳教程。2026 年 2 月仍在更新。
适合:每天用 Git 但被 Git 心智模型困惑的开发者。
你会造出什么
~3000 行 Rust 的终端文本编辑器:文件读写、搜索、语法高亮。kilo 编辑器的 Rust 重写。
Rust 所有权/借用 终端 raw mode 文本缓冲区 文件 I/O 增量搜索 语法高亮
通过造真实项目学 Rust,而非抽象练习。后期章节先给任务再给答案,鼓励主动学习。2025 年 5 月更新。
适合:想通过实战项目学 Rust 的其他语言开发者。

🤖 AI / 机器学习

Python (PyTorch) 入门-中级 25-30h 21.1k Stars
你会造出什么
Micrograd(自动微分引擎)、Makemore(字符级语言模型)、GPT from scratch、BPE Tokenizer。
反向传播原理 语言模型 MLP 架构 BatchNorm 手动反向传播 Transformer 注意力 BPE 分词
业界神作。Andrej Karpathy(前 Tesla AI 总监、OpenAI 创始成员)讲解。前置要求极低:基础 Python + 模糊的高中数学。Jupyter notebook 全提供。
适合:ML 零基础但会 Python 的人;想建立神经网络深层直觉的自学开发者。
Python (PyTorch) 中级 60-80h 89.4k Stars
你会造出什么
完整的 ChatGPT 级 LLM:分词器、注意力机制、GPT 架构、预训练、分类微调、指令微调。
LLM 架构 分词/Tokenization Self-Attention Multi-Head Attention GPT 实现 预训练 分类微调 指令微调 LoRA
GitHub 上最受欢迎的 ML 教程之一。Manning 出版社配套书籍。笔记本电脑即可运行,无需 GPU。附 17+ 小时视频课程。Bonus 章节覆盖 Llama/Qwen/Gemma。
适合:会 Python 想深入理解 LLM(不只是调 API)的开发者。
C++ 入门-中级 8-12h (Book 1) / 40-60h (全三册) 10.3k Stars
你会造出什么
光线追踪渲染器:漫反射/金属/电介质材质、景深、纹理、体积雾、BVH 加速、蒙特卡洛积分。
光线-球体相交 抗锯齿 材质系统 景深/运动模糊 纹理/Perlin 噪声 BVH 加速结构 蒙特卡洛方法
图形学入门经典。三册渐进深入,CC0 公共领域许可。Peter Shirley(图形学教授)将多年教学浓缩为最易懂的光线追踪入门。能生成照片级真实感图像。
适合:对图形学好奇的人、游戏开发者、想要有视觉成就感的 C++ 学习者。

📦 优质代码仓库(可克隆学习)

以下是 build-your-own-x 中有真正高质量代码的仓库,不只是文章链接,而是可以 clone 下来研读的项目。

Tier 仓库 Stars 语言 造什么 一句话评价
T1 trekhleb/javascript-algorithms 196k JavaScript 70+ 算法 + 15+ 数据结构 GitHub 最受欢迎的教育仓库,每个算法有 README、BigO 分析、测试
T1 rasbt/LLMs-from-scratch 89.4k Python 完整 GPT-like LLM "造 LLM" 的权威资源,书级质量,笔记本可跑
T1 ssloy/tinyrenderer 23.4k C++ ~500 行 3D 软件渲染器 14 课详解,零依赖。理解 OpenGL/Vulkan 底层的最佳项目
T2 cfenollosa/os-tutorial 30.3k C / ASM Bootloader 到 Kernel + Shell 25 个小课(每课 5-15 分钟),"造 OS" 最佳入门
T2 p8952/bocker 12.6k Shell 100 行 Bash 的 Docker 每行代码顿悟密度最高的项目,2-4 小时搞懂容器
T2 kanaka/mal (Make a Lisp) 10.6k 89 种语言 Lisp 解释器(11 步到自举) 用任何你想学的语言造同一个解释器,独一无二的多语言教育项目
T2 hexacta/didact 6.7k JavaScript React 克隆(Fiber + Hooks) "造 React" 的配套代码,commit diff 展示演进过程
T3 jamesroutley/write-a-hash-table 4.3k C ~200 行哈希表 7 章 1-2 小时,最佳下午茶项目
T3 Fewbytes/rubber-docker 3.2k Python / C 容器引擎(Workshop 格式) 比 bocker 更深入,有讲义和分级练习
T3 conradoqg/naivecoin 1.3k JavaScript ~1500 行加密货币 有 REST API、钱包、挖矿、P2P,"造币" 最佳实战
T3 jserv/mini-arm-os 1.2k C / ASM ARM 最小 OS(抢占式多任务) 嵌入式/ARM 方向的 OS 入门,支持 QEMU 和真实硬件

💡 总结与建议

快速入门路线(总时间 < 20h)

1. The Super Tiny Compiler1-2h理解编译器三阶段
2. Write your Own VM (LC-3)5-10h理解 CPU 执行原理
3. Docker in 100 lines (bocker)2-4h理解容器本质
4. Norvig's Lispy3-5h理解编程语言原理

深度学习路线(每个 1-2 周)

1. Crafting Interpreters80-120h编程语言实现圣经
2. Nand2Tetris100-200h从 NAND 门到俄罗斯方块
3. LLMs from Scratch60-80h从零造 LLM
4. Browser Engineering80-120h从零造浏览器

核心结论

  • build-your-own-x 的 500+ 链接中,真正高质量的约 30 个(本页全部列出)
  • 最有价值的不是链接集合本身,而是其中少数经过社区反复验证的经典教程
  • 优质代码仓库 11 个,其中 T1 级别 3 个(javascript-algorithms / LLMs-from-scratch / tinyrenderer)
  • 如果只选一个做:想理解计算机选 Nand2Tetris,想理解 AI 选 Karpathy 系列,想学编程语言选 Crafting Interpreters
从 build-your-own-x (484k stars) 精选 | 研究日期:2026-03-28