Auto-sync: 2026-04-21 16:03
This commit is contained in:
@@ -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
|
||||
Byox(Build Your Own X)是一种学习编程的方法论,通过从零重建技术来深入理解其工作原理。核心理念是"What I cannot create, I do not understand"。
|
||||
|
||||
## Covered Topics
|
||||
该方法覆盖22个技术领域:
|
||||
- 3D Renderer(3D渲染器)
|
||||
- Augmented Reality(增强现实)
|
||||
- BitTorrent Client(BitTorrent客户端)
|
||||
- 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 Server(Web服务器)
|
||||
**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
|
||||
|
||||
Reference in New Issue
Block a user