文章目录
- Build your own x:从零造一遍,才是真学会
- 1、它到底是什么
- 2、为什么有人需要这个
- 3、怎么用
- 4、覆盖的技术方向
- 5、适合什么人
- 6、Star 历史
Build your own x:从零造一遍,才是真学会
52 万 Star,GitHub 上排名靠前的仓库之一。这个项目不提供任何可运行的代码,它只做一件事:把互联网上最好的「从零造 X」教程收集到一起。
费曼说过一句话:What I cannot create, I do not understand。这个仓库就是这句话的实践清单。
1、它到底是什么
一个教程索引。按技术领域分类,每个分类下列出多个「从零实现」的教程链接,覆盖不同编程语言。
目前收录的类别超过 30 个:3D 渲染器、AI 模型、区块链、数据库、Docker、操作系统、搜索引擎、编程语言、Web 服务器、游戏引擎、Git、神经网络、正则引擎、Shell、文本编辑器,等等。
每个教程都指向外部站点,由原作者撰写。仓库维护者负责筛选质量,确保每篇教程确实能带你从零开始把一个东西造出来。
2、为什么有人需要这个
读文档和读源码是两回事。文档告诉你怎么用,源码告诉你怎么造。但直接啃源码对大多数人来说太难了,因为你不知道从哪开始,也不知道哪些部分是核心。
这些教程解决的就是这个问题。它们把一个复杂系统拆成可执行的步骤,每一步都有代码和讲解。你跟着做完,手上就有了一个能跑的最小实现。
对面试也有用。面试官问「你了解 Redis 吗」,如果你说「我用 Go 从零写过一个」,和「我读过文档」,分量完全不同。
3、怎么用
选一个你感兴趣的技术方向,挑一篇对应语言的教程,跟着做就行。
比如你想理解数据库 internals,仓库里有 C 语言的「Let’s Build a Simple Database」、Go 语言的「Build Your Own Database from Scratch」、Python 的「DBDB: Dog Bed Database」。选你最熟悉的语言开始。
每篇教程的难度和深度不一样。有的几百行代码就能完成,有的需要几千行。建议先从短的开始,建立信心后再挑战复杂的。
4、覆盖的技术方向
按大类列一些:
基础设施方向:数据库、Docker 容器、操作系统、网络协议栈、内存分配器、Web 服务器。
应用层方向:搜索引擎、模板引擎、文本编辑器、命令行工具、Shell。
AI 方向:神经网络、大语言模型、扩散模型、RAG 系统。
底层方向:编程语言、正则引擎、处理器模拟器、虚拟机。
游戏方向:2D/3D 游戏引擎、Roguelike、NES 模拟器。
前端方向:React、Redux、Virtual DOM、AngularJS 的简化实现。
每个方向下都有多个教程,覆盖 C、C++、Go、Python、Rust、JavaScript、Java 等主流语言。
5、适合什么人
正在学计算机基础的学生。课本上的概念看完就忘,动手造一遍才能记住。
工作几年想补底层知识的工程师。日常写业务代码,对底层原理只有模糊印象。造一遍就能把知识串起来。
准备面试的人。系统设计面试经常考「如果让你设计一个 XX」,有过从零实现的经验,回答会更有底气。
对某个技术好奇但不知道从哪入手的人。这个仓库已经帮你找好了教程,不用自己在互联网上翻。
6、Star 历史
52 万 Star 不是偶然。这个仓库从 2016 年开始维护,持续更新到现在。社区贡献者超过 500 人,不断有人提交新的教程链接。
它解决的是一个真实需求:想从零学一个技术,不知道哪篇教程靠谱。这个仓库帮你筛过了。
超过 500 人,不断有人提交新的教程链接。
它解决的是一个真实需求:想从零学一个技术,不知道哪篇教程靠谱。这个仓库帮你筛过了。