build-your-own-x:从零复刻自己的技术栈完整指南(30 个领域教程清单)
【免费下载链接】build-your-own-xMaster programming by recreating your favorite technologies from scratch.项目地址: https://gitcode.com/GitHub_Trending/bu/build-your-own-x
build-your-own-x 是一个面向开发者的"复刻教程"索引:它把 389 篇分步指南按领域归档,教你亲手造出数据库、Web 服务器、编译器、操作系统等平时只拿来用的东西。本文不按技术门类平铺这些教程,而是按"你最终能做出什么"拆成入门、进阶、挑战三条路径,并给出 3 步最小上手方法,帮你在一小时内选定第一篇跟写。
30 个领域、389 篇教程、30 多种语言:它值不值得投入时间
这个项目只解决一个问题:你每天在用的技术,怎么从零重写一遍。README 里的每条教程都标注了语言标签,同一主题通常有多语言版本可以选。几个可核对的数字:目录覆盖 30 个技术领域,全文共 389 篇教程条目,语言分布上 Python 占 72 条、JavaScript 51 条、C 49 条、C++ 33 条、Go 23 条、Rust 17 条,另有 Ruby、Haskell、Nim、Zig、Verilog 等数十种。项目由 Daniel Stefanovic 发起、CodeCrafters 维护,采用 CC0 许可证——版权已尽可能放弃,内容可以自由使用、修改和分发,你把它搬进自己的笔记或课程都不需要许可。
三条递进路径:按"能做出什么"选教程
入门路径:当天能跑通的小件
这一档的共同点是篇幅短、依赖少,一个晚上能写完一个可用版本,适合先建立"我真的从零做出来了"的信心:
- Web 服务器:Python 的 "A Simple Web Server"、Node.js 的 "Let's code a web server from scratch",从读一个 HTTP 请求到返回响应全流程手写
- 模板引擎:JavaScript 20 行、Ruby 30 行的迷你模板引擎,是理解"引擎"这类抽象的好切口
- 正则引擎:JavaScript 40 行版本,或 Python 的 Backtracking / NFA / DFA 三阶段系列
- 命令行工具:Go 的 cowsay、lolcat 系列,顺带学会 CLI 参数解析的惯例
- Git 客户端:Python 的 pygit(能建仓库、提交、推远端),以及 "Write yourself a Git" 的完整实现
- 文本编辑器:C 语言经典教程 kilo,边写边覆盖文件读写、光标、搜索
进阶路径:能讲清原理的核心组件
完成入门件之后,这一档的目标是把"会用"变成"知道它为什么这么实现",也是大多数面试深挖题的答案来源:
- 编程语言:C 语言的 Build Your Own Lisp(约 1000 行做出完整 Lisp)、Java 的 Crafting Interpreters、Haskell 的 Write You a Haskell,覆盖词法分析、语法树、运行时
- 前端框架:Gooact 用 160 行 JavaScript 实现 React 核心,另有自建 Virtual DOM、自建 Redux、200 行 AngularJS 等多个角度
- 数据库:Python 迷你 Redis 服务器、DBDB(Dog Bed Database)、Go 版"从 B+ 树到 SQL 共 3000 行"的系列
- 区块链:Python、JavaScript、Go 200 行以内版本,工作量证明与权益证明两种共识都有教程
- 神经网络:11 行 Python 感知机入门,到 34 个阶段逐步重建 PyTorch 内部机制的完整项目
- 其他:搜索引擎(向量空间索引、TF-IDF)、BitTorrent 客户端、Kafka 风格的分布式系统(Java)
挑战路径:触及系统边界的硬骨头
这一档周期以周甚至月计,适合已经写过一两门语言、想往系统底层走的开发者:
- 操作系统:C 的 "Operating Systems: From 0 to 1"、Rust 的 Writing an OS in Rust,从引导加载程序写到多任务内核、虚拟内存与进程调度
- 容器与 Docker:C 的 500 行 Linux 容器、Go 的 100 行容器实现,理解 Docker 底层到底是什么
- 模拟器与虚拟机:CHIP-8 解释器、GameBoy 模拟器(含 Rust 0dmg),从取指、译码到画屏
- 网络栈:手写 TCP/IP 协议栈,以及用 C/Python 搭零配置虚拟交换机
- 浏览器:Rust 从零做浏览器布局引擎的系列
- 处理器:Verilog 的 From Blinker to RISC-V,从点亮 LED 到一颗能在 FPGA 上跑指令的 CPU
从零到第一行代码的 3 步上手法
- 把仓库拉到本地:
git clone https://gitcode.com/GitHub_Trending/bu/build-your-own-x- 打开仓库里的 README.md,先按你最熟的语言筛:Python 有 72 条、JavaScript 51 条、C 49 条,几乎每个领域都能找到你的语言版本,不要硬啃陌生语言教程。
- 在入门路径里挑最短的一篇(比如 20 行模板引擎),全程手敲跟写,跑通后再挑进阶路径里同领域的长系列。
避坑技巧:先查语言标签和"最短版本",再决定投入
最常见的坑是挑了一篇 40 集的长系列,写到第 3 集就放弃。对策:每个主题下都并列着多个教程,先看语言标签是否与你的主语言一致,再看标题里标了行数的版本(160 行的 React、40 行的正则、100 行的容器)——先完成一个短版建立闭环,再回头挑战同一主题的完整版。另外这类教程多为社区分步写作,中途报错时优先核对你的工具链版本(编译器、运行时)是否与教程开头声明的一致,多数"教程 bug"其实是版本问题。
现在就能做的第一件事
打开 README.md,找到你主语言那一列的条目数(Python 72、JavaScript 51、C 49),从入门路径的 Web 服务器或 20 行模板引擎里选一篇,今晚敲完第一行。
【免费下载链接】build-your-own-xMaster programming by recreating your favorite technologies from scratch.项目地址: https://gitcode.com/GitHub_Trending/bu/build-your-own-x
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考