--- title: "Build-Your-Own-X" type: concept tags: [methodology, learning, programming, byox] last_updated: 2026-04-23 --- ## Aliases - BYOX - Build Your Own X - Build-Your-Own-x - build-your-own-x - build your own x - "自己动手重建" ## Definition Build Your Own X(BYOX)是一种学习方法论:通过从零实现主流技术(X)来深入理解其内部原理。核心理念引用 Richard Feynman 的名言:"What I cannot create, I do not understand"——动手重建是真正理解技术的唯一途径。 ## Details - **起源**: GitHub 仓库 codecrafters-io/build-your-own-x,由 [[DanielStefanovic]] 创建,现由 [[CodeCrafters]] 维护 - **覆盖领域**: 26+ 技术领域(3D Renderer、Web Browser、Database、Docker、Git、Operating System、Programming Language、Neural Network、Bot、Shell、Game、Physics Engine、Search Engine、Regex Engine 等) - **支持语言**: C++、Python、Java、JavaScript、Go、Rust、Haskell、TypeScript、C#、Ruby、Kotlin、Scala 等 15+ 编程语言 - **推荐资源**: [[NAND-to-Tetris]] 被列为操作系统和编程语言教程的推荐前置资源 ## Key Principles 1. **从零开始(From Scratch)**: 不使用高级框架或库,在最小化依赖下理解核心原理 2. **分步指南**: 每条教程提供循序渐进的分步骤指引,而非大段理论 3. **动手实践**: 阅读 10 篇文档不如实现一个简化版本 4. **深度理解**: 不仅知道"怎么用",更理解"为什么这样工作" ## Connection to Vibe Coding BYOX 强调从零重建(Build)理解原理,[[Vibe-Coding]] 强调用 AI 高效实现(Ship)交付产品。两者互补——BYOX 建立直觉,Vibe Coding 高效执行。 ## Connections - [[Build-Your-Own-X]] ← maintained_by ← [[CodeCrafters]] - [[Build-Your-Own-X]] ← founded_by ← [[DanielStefanovic]] - [[Build-Your-Own-X]] ← quotes ← [[RichardFeynman]] - [[Build-Your-Own-X]] ← covers ← [[From-Scratch-Methodology]] - [[Build-Your-Own-X]] ← enables ← [[Learn-By-Building]] - [[Build-Your-Own-X]] ← includes ← [[NAND-to-Tetris]]