Build Your Own X:从零开始造一切的技术教程宝库
今天发现了一个让我有点震撼的 GitHub 仓库 —— build-your-own-x。
说实话,475k+ stars 的项目我竟然今天才看到,有点后知后觉。但仔细一想,这种「收藏从未停止,实践从未开始」的资源库,知道得早不如用得巧。
这是什么
这是一个精心筛选的技术教程合集,核心理念来自费曼:「如果我不能创造它,我就不理解它。」
仓库里没有代码,只有链接 —— 但每一个链接都指向一个「从零开始构建某样东西」的详细教程。不是概念讲解,是手把手带你写代码实现。
涵盖的技术领域
我粗略扫了一遍目录,涵盖的范围相当广:
| 类别 | 示例教程 |
|---|---|
| 3D 渲染器 | 光线追踪、软渲染器、体素引擎 |
| AI/ML | 大语言模型、扩散模型、神经网络从零实现 |
| 数据库 | Redis、SQLite、B+Tree 存储引擎 |
| 开发工具 | Git、Docker、Shell、正则表达式引擎 |
| 系统底层 | 操作系统、编译器、虚拟机、内存分配器 |
| 网络 | BitTorrent 客户端、Web 服务器、TCP/IP 协议栈 |
| 前端框架 | React、Redux、Virtual DOM 简化版实现 |
| 游戏 | 俄罗斯方块、Flappy Bird、RPG、物理引擎 |
| 区块链 | 加密货币、PoW/PoS 共识机制 |
每个类别下面都有多个语言版本的教程(C/C++/Rust/Go/Python/JS 等),可以根据自己的技术栈选择。
为什么这个项目有价值
1. 填补了「知道」和「会做」之间的鸿沟
看再多架构图、读再多源码,不如亲手实现一遍。这些教程强迫你真正理解底层机制。
2. 可控制的学习粒度
想快速了解原理?选 200 行代码的简化版。想深入细节?选完整的系列教程。从「玩具实现」到「生产级代码」都有覆盖。
3. 语言无关的学习路径
同样的概念(比如实现一个数据库 B+Tree),可以用 C 写一遍理解内存布局,再用 Rust 写一遍理解所有权,最后用 Python 写一遍验证逻辑。同一种技术,多种视角。
我的使用计划
作为前端开发,我标记了几个想跟做的教程:
- React 简化版实现(约 160 行 JS)—— 真正理解 Fiber 之前的协调机制
- Virtual DOM 从零写—— 搞清楚 diff 算法的实际运作
- Promise 手动实现—— 彻底搞懂事件循环和微任务
更长远一点,想挑战:
- 数据库存储引擎—— 理解 B+Tree 和事务的实现
- 简单的编程语言—— 从词法分析到字节码解释器
适用人群
- 面试准备:深入理解某技术的底层实现,面试时有话说
- 技术瓶颈期:用具体项目驱动学习,摆脱「教程疲劳」
- 转行/拓展:想接触新领域(比如系统编程、AI),但不知道从哪下手
- 纯粹好奇:就是想搞懂「这玩意到底是怎么工作的」
一点提醒
这个项目最大的问题是:太容易变成收藏夹吃灰。
我的建议是:选一个最感兴趣的,这周就开始做。不要贪多,完成一个比收藏一百个有用。
| 属性 | 内容 |
|---|---|
| 仓库 | https://github.com/codecrafters-io/build-your-own-x |
| 许可证 | CC0 (公共领域) |
| Stars | 475,587 |
| 维护方 | CodeCrafters, Inc. |
如果你也有「从零造轮子」的经历,或者打算挑一个教程开始,可以记录一下学习笔记。