什么是 Build Your Own X?

Build Your Own X 是 GitHub 上星标接近 500,000 的传奇仓库,专门收录"从零手写 XX"的教程合集。

地址:github.com/codecrafters-io/build-your-own-x

这个仓库的核心理念是:

“What I cannot create, I do not understand.”
— Richard Feynman(费曼,诺贝尔物理学奖得主)

意思是:真正理解一样东西,最好的办法就是自己从头造一遍。


这个仓库里有什么?| What’s Inside?

收录了几十种技术的"从零手写"教程,覆盖多种编程语言:

系统级 | Systems

  • 🖥️ Build Your Own Operating System(手写操作系统)
  • 🌐 Build Your Own Web Browser(手写浏览器)
  • 🔧 Build Your Own Compiler(手写编译器)
  • 💾 Build Your Own Database(手写数据库)

开发工具 | Dev Tools

  • 🐙 Build Your Own Git(手写 Git)
  • 🐳 Build Your Own Docker(手写容器)
  • Build Your Own Shell(手写命令行)
  • 🕸️ Build Your Own Web Server(手写服务器)

网络与协议 | Networking

  • 🔌 Build Your Own BitTorrent(手写 BT 下载)
  • 📡 Build Your Own DNS Server(手写 DNS)
  • 🔐 Build Your Own Crypto Library(手写加密库)

AI 与数据 | AI & Data

  • 🤖 Build Your Own Neural Network(手写神经网络)
  • 📊 Build Your Own Spreadsheet(手写表格软件)

怎么使用这个仓库 | How to Use It

第一步:找到你想学的方向

打开仓库页面,按 Ctrl+F 搜索你感兴趣的技术,比如搜索 gitdockerredis

第二步:选择适合你语言的教程

每个主题下都有多种编程语言的实现教程,比如"手写 Git"就有 Python、Go、JavaScript、Rust 等版本。

第三步:跟着教程一步步实现

每个教程都是外部链接,点击后进入对应的详细教程页面,一步步跟着做就行。


如果你不知道从哪里开始,推荐这几个难度适中的项目:

入门级(1-3天)

  • Build Your Own Shell(用 Python/C 写一个迷你命令行)
  • Build Your Own Web Server(理解 HTTP 协议的最好方式)

中级(1-2周)

  • Build Your Own Git(深刻理解 Git 的工作原理)
  • Build Your Own Redis(理解缓存数据库设计)

进阶(1个月+)

  • Build Your Own Database(数据库内核原理)
  • Build Your Own Compiler(编译原理实战)

为什么值得做这些项目?| Why Bother?

  1. 面试加分:能说"我手写过 Git" 比背理论印象深刻得多
  2. 深度理解:看文档永远不如自己造一遍记得牢
  3. 简历亮点:独立项目 > 跟着教程做的 CRUD 应用
  4. 解决问题能力:遇到 bug 时你知道工具底层在做什么

Star 一下支持开源 | Star the Repo

如果觉得有用,去 GitHub 给这个仓库点个 ⭐:

👉 github.com/codecrafters-io/build-your-own-x