Workspace sync: auto commit 2026-04-23 09:33:08

This commit is contained in:
2026-04-23 09:33:08 +08:00
parent 4652411bf2
commit 42961b7e63
169 changed files with 576 additions and 31 deletions

View 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 XBYOX是一种学习方法论通过从零实现主流技术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]]

View 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]]