Workspace sync: auto commit 2026-04-23 09:33:08
This commit is contained in:
40
wiki/concepts/Build-Your-Own-X.md
Normal file
40
wiki/concepts/Build-Your-Own-X.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
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]]
|
||||
35
wiki/concepts/Learn-By-Building.md
Normal file
35
wiki/concepts/Learn-By-Building.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: "Learn-By-Building"
|
||||
type: concept
|
||||
tags: [methodology, learning, education, pedagogy]
|
||||
last_updated: 2026-04-23
|
||||
---
|
||||
|
||||
## Aliases
|
||||
- Learning by Building
|
||||
- Learn Through Building
|
||||
- Project-Based Learning
|
||||
- PBL
|
||||
- 边做边学
|
||||
- 项目制学习
|
||||
|
||||
## Definition
|
||||
Learn-By-Building 是一种教育方法论:通过主动构建(而非被动消费)来学习新知识。与观看教程或阅读文档不同,学习者通过实际编写代码实现一个系统,在构建过程中自然积累对原理的深层理解。
|
||||
|
||||
## Details
|
||||
- **核心洞察**: "What I cannot create, I do not understand"([[RichardFeynman]])——无法创造的东西意味着没有真正理解
|
||||
- **典型场景**:
|
||||
- 用 C 从零实现一个 TCP/IP 协议栈([[Build-Your-Own-X]])
|
||||
- 用 Python 从零实现一个神经网络(理解反向传播的细节)
|
||||
- 用 JavaScript 从零实现一个 React(理解 Virtual DOM 的原理)
|
||||
- **适用范围**: 有一定基础的学习者;不适合零基础入门
|
||||
- **vs 传统课程**: 传统 CS 教育强调理论(算法/数据结构/操作系统理论),Learn-By-Building 强调实践(从零重建系统);两者互补
|
||||
|
||||
## Relationship with BYOX
|
||||
[[Build-Your-Own-X]] 是 Learn-By-Building 方法论的具体实践形式之一。BYOX 提供现成的分步骤教程资源,降低了"不知道该建什么"的门槛。
|
||||
|
||||
## Connections
|
||||
- [[Learn-By-Building]] ← embodies ← [[From-Scratch-Methodology]]
|
||||
- [[Learn-By-Building]] ← resources ← [[Build-Your-Own-X]]
|
||||
- [[Learn-By-Building]] ← enables ← [[Codecrafters]]
|
||||
- [[Learn-By-Building]] ← preceded_by ← [[NAND-to-Tetris]]
|
||||
Reference in New Issue
Block a user