今天发现了一个让我有点震撼的 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 (公共领域)
Stars475,587
维护方CodeCrafters, Inc.

如果你也有「从零造轮子」的经历,或者打算挑一个教程开始,可以记录一下学习笔记。