什么是 Build Your Own X?
Build Your Own X 是 GitHub 上星标接近 500,000 的传奇仓库,专门收录"从零手写 XX"的教程合集。
这个仓库的核心理念是:
“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 搜索你感兴趣的技术,比如搜索 git、docker、redis。
第二步:选择适合你语言的教程
每个主题下都有多种编程语言的实现教程,比如"手写 Git"就有 Python、Go、JavaScript、Rust 等版本。
第三步:跟着教程一步步实现
每个教程都是外部链接,点击后进入对应的详细教程页面,一步步跟着做就行。
推荐入门项目 | Recommended Starting Points
如果你不知道从哪里开始,推荐这几个难度适中的项目:
入门级(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?
- 面试加分:能说"我手写过 Git" 比背理论印象深刻得多
- 深度理解:看文档永远不如自己造一遍记得牢
- 简历亮点:独立项目 > 跟着教程做的 CRUD 应用
- 解决问题能力:遇到 bug 时你知道工具底层在做什么
Star 一下支持开源 | Star the Repo
如果觉得有用,去 GitHub 给这个仓库点个 ⭐:
👉 github.com/codecrafters-io/build-your-own-x