codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
這是什麼
build-your-own-x 是一份「從零重做經典技術」的教學索引,而不是單一框架或工具。README 的核心很簡單:把分散在網路上的高品質、循序漸進教學整理成清單,讓學習者用 親手實作 的方式理解技術。它涵蓋的範圍非常廣,從 3D Renderer、BitTorrent、Database、Docker、Git、Shell、Regex Engine,到 Operating System、Programming Language、Web Browser、Web Server,甚至也包含 AI Model、Neural Network、RAG、Diffusion Model 等主題。這個專案的價值不在於提供一套統一課程,而在於把「想深入理解某項技術」的人導向可實作的入口。
為什麼上榜
這類專案會反覆受到關注,關鍵在於它切中工程師學習的痛點:只看文件或 API 很容易停在表層,但重做一個迷你版資料庫、容器、渲染器或 Git,會迫使你理解資料結構、協定、系統呼叫與抽象邊界。這次它以 527,316 stars、今日新增 1,068 stars 的規模登上日榜,代表它已經不只是收藏清單,而是接近「工程學習路線圖」的公共基礎設施。和一般 awesome list 相比,它的差異在於主題不是「推薦工具」,而是「把工具背後的原理做出來」。爭點也在這裡:它不是最快上手產品開發的路徑,但很適合補足底層理解。
適合誰,可以拿來做什麼
它最適合已經會寫程式、但想把某個領域吃深的開發者:例如後端工程師想理解 Redis、資料庫或容器,前端工程師想拆解 React/Redux 類框架,或 AI 工程使用者想透過 LLM、RAG、Diffusion 的入門實作理解模型系統。對自學者來說,它可以當作長期練功清單;對團隊讀書會或內訓,也可以挑一個主題做成數週 workshop。上手門檻取決於你選的教程:README 橫跨 C、C++、Go、Python、JavaScript、Rust 等語言,因此最好先從自己熟悉的語言與小題目開始,而不是一開始就挑 Operating System 或 Web Browser。
上手
README 未提供明確安裝步驟,因為這個 repo 本身主要是 Markdown 教學索引。最實際的使用方式是先選主題分類,再依語言與教程形式挑一個連結開始。若只是閱讀,不需要安裝;若想離線整理,可以開啟 GitHub repo 或 clone 清單後搜尋關鍵字。建議的起步順序是:先挑一個你用過但不完全理解的技術,例如 Shell、Regex Engine、Database 或 Docker;再找同語言的教程;最後把成品範圍限制在「可運作的迷你版」,避免一開始追求完整相容。
README 重點摘要
- 專案主軸是 re-create from scratch:透過重做技術來理解技術,而不是單純蒐集工具。
- README 收錄的主題非常廣,包含 3D、AR、BitTorrent、Blockchain、CLI、Database、Docker、VM、Frontend Framework、Game、Git、OS、Programming Language、Search Engine、Web Server 等。
- AI 相關分類目前列出 LLM from scratch、Diffusion Models、RAG for Document Search 等入門路徑。
- 多數條目依語言標示,例如 C/C++、Go、Python、JavaScript、Rust,適合按自己的技術棧篩選。
- 它更像長期學習地圖,不是一步到位的產品模板;選題時應控制範圍,從小型可完成專案開始。