Auto-sync: 2026-04-21 16:03

This commit is contained in:
2026-04-21 16:03:27 +08:00
parent b3b6be6114
commit 914c8f6925
42 changed files with 3923 additions and 1592 deletions

View File

@@ -1,46 +1,62 @@
---
title: "Byox"
type: concept
tags: [build-your-own-x, learning, programming]
title: Byox - Build Your Own X
description: Learning programming by rebuilding technologies from scratch
tags: [learning, methodology, programming, open-source]
---
# Byox (Build Your Own X)
## Definition
ByoxBuild Your Own X是一种学习编程的方法论通过从零重建技术来深入理解其工作原理。核心理念是"What I cannot create, I do not understand"。
## Covered Topics
该方法覆盖22个技术领域
- 3D Renderer3D渲染器
- Augmented Reality增强现实
- BitTorrent ClientBitTorrent客户端
- Blockchain / Cryptocurrency区块链/加密货币)
- Bot机器人
- Command-Line Tool命令行工具
- Database数据库
- Docker容器
- Emulator / Virtual Machine虚拟机
- Front-end Framework前端框架
- Game游戏
- Git版本控制
- Network Stack网络协议栈
- Neural Network神经网络
- Operating System操作系统
- Physics Engine物理引擎
- Programming Language编程语言
- Regex Engine正则引擎
- Search Engine搜索引擎
- Shell终端
- Template Engine模板引擎
- Text Editor文本编辑器
- Visual Recognition System视觉识别系统
- Voxel Engine体素引擎
- Web Browser浏览器
- Web ServerWeb服务器
**Byox** (Build Your Own X) is a learning methodology that advocates for mastering programming and technology understanding by **rebuilding complex systems from scratch**. The guiding principle comes from physicist Richard Feynman:
## Learning Approach
- 多语言实现同一技术可用多种语言实现C++、Python、JavaScript、Go、Rust等
- 手把手教程step-by-step 形式的学习资源
- 原理优先:不使用现成库,从底层原理实现
> *"What I cannot create, I do not understand."*
## Related Concepts
- [[Vibe Coding]] — 与 Byox 对比Vibe Coding 是 AI 代写Byox 是自己手写
- [[深度工作]] — Byox 需要深度专注,符合深度工作的理念
## Core Philosophy
Instead of passively consuming knowledge about how a technology works, practitioners:
1. **Choose a technology** they want to understand deeply
2. **Study existing implementations** and documentation
3. **Rebuild it from scratch** using a chosen programming language
4. **Gain deep insight** into how it works internally
## Coverage
The Byox methodology covers **26 technology domains**:
- **Systems**: Operating System, Docker, Container
- **Languages**: Programming Language, Compiler, Interpreter, Regex Engine
- **Data**: Database, NoSQL, Key-Value Store
- **Web**: Web Browser, Web Server, Search Engine
- **Tools**: Git, Shell, Command-Line Tool, Text Editor, Template Engine
- **Graphics**: 3D Renderer, Voxel Engine, Physics Engine
- **AI/ML**: Neural Network, Visual Recognition
- **Networks**: Network Stack, BitTorrent Client
- **Entertainment**: Game, Emulator/Virtual Machine
- **Other**: Blockchain/Cryptocurrency, Augmented Reality, Bot
## Resources
Primary resource: [[codecrafters-io/build-your-own-x]] — A curated collection of 500+ step-by-step tutorials
Complementary platform: [[CodeCrafters]] — Interactive challenges that guide learners through building technologies step by step
## Notable Examples
| Technology | Language | Resource |
|------------|----------|----------|
| Database | C | [Let's Build a Simple Database](https://cstack.github.io/db_tutorial/) |
| OS | Rust | [Writing an OS in Rust](https://os.phil-opp.com/) |
| Programming Language | Multiple | [Crafting Interpreters](http://www.craftinginterpreters.com/) |
| Web Browser | Python | [Browser Engineering](https://browser.engineering/) |
| Git | Python | [Write yourself a Git](https://wyag.thb.lt/) |
| Docker | Go | [Build Your Own Container](https://www.infoq.com/articles/build-a-container-golang) |
## Why Byox Works
1. **Active Learning**: Building forces deep engagement
2. **Hidden Complexity**: Reveals implementation details textbooks skip
3. **Transferable Skills**: Generalizes to understanding other systems
4. **Portfolio Building**: Creates tangible proof of understanding
5. **Confidence**: Only truly knowing something if you can create it