From 05a443456d1d10c41044789e7fb660d4fdce4b4f Mon Sep 17 00:00:00 2001 From: kang Date: Sat, 25 Apr 2026 19:23:47 +0800 Subject: [PATCH] init repo --- .gitignore | 24 ++ .project.json | 8 + AGENTS.md | 21 + CLAUDE.md | 21 + RULES.md | 37 ++ index.html | 1015 +++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 1126 insertions(+) create mode 100644 .gitignore create mode 100644 .project.json create mode 100644 AGENTS.md create mode 100644 CLAUDE.md create mode 100644 RULES.md create mode 100644 index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1bdd6ff --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# OS +.DS_Store + +# Env +.env +.env.* + +# Python +__pycache__/ +.pytest_cache/ +.mypy_cache/ +.venv/ +venv/ + +# Node +node_modules/ +.next/ +dist/ +build/ +.nuxt/ +.output/ + +# Misc +*.log diff --git a/.project.json b/.project.json new file mode 100644 index 0000000..f9a7dbc --- /dev/null +++ b/.project.json @@ -0,0 +1,8 @@ +{ + "name": "Build Your Own X 精选", + "description": "build-your-own-x 教程精选展示页", + "status": "archived", + "kind": "analysis", + "created": "2026-03-28", + "stack": ["HTML"] +} diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..b96f2c5 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,21 @@ +# Build Your Own X 精选 Agent Rules + +## Must Read First + +- `.project.json` 是机器真源:公网链接、快捷登录、凭证引用都以它为准 +- `RULES.md` 是人工规则和部署事实:启动命令、平台、域名、注意事项都写这里 +- 不允许编造不存在的域名、账号、密码;未知就保持空白并明确标记待补充 + +## Deployment Metadata Contract + +- 任何任务只要新增、删除或修改公网地址,必须在同一次任务里更新 `.project.json` +- `urls[]` 推荐显式写 `type`:`app`、`backend`、`docs`、`admin`、`repo` +- 项目专属的网页登录信息,如果允许放进仓库,就写 `.project.json.quick_login` +- 不能直接入库的敏感登录,不要伪造 `quick_login`,改为写 `.project.json.credentials` 引用 +- 数据库密码、API Key、服务器 root 密码,不属于 `quick_login` + +## Completion Gate + +- 部署完成后,不允许在 `.project.json` 缺少最新公网链接的状态下结束任务 +- 部署完成后,必须同步更新 `RULES.md` 的部署事实 +- 如果只更新了代码但没回写部署元数据,这个任务不算完成 diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..b96f2c5 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,21 @@ +# Build Your Own X 精选 Agent Rules + +## Must Read First + +- `.project.json` 是机器真源:公网链接、快捷登录、凭证引用都以它为准 +- `RULES.md` 是人工规则和部署事实:启动命令、平台、域名、注意事项都写这里 +- 不允许编造不存在的域名、账号、密码;未知就保持空白并明确标记待补充 + +## Deployment Metadata Contract + +- 任何任务只要新增、删除或修改公网地址,必须在同一次任务里更新 `.project.json` +- `urls[]` 推荐显式写 `type`:`app`、`backend`、`docs`、`admin`、`repo` +- 项目专属的网页登录信息,如果允许放进仓库,就写 `.project.json.quick_login` +- 不能直接入库的敏感登录,不要伪造 `quick_login`,改为写 `.project.json.credentials` 引用 +- 数据库密码、API Key、服务器 root 密码,不属于 `quick_login` + +## Completion Gate + +- 部署完成后,不允许在 `.project.json` 缺少最新公网链接的状态下结束任务 +- 部署完成后,必须同步更新 `RULES.md` 的部署事实 +- 如果只更新了代码但没回写部署元数据,这个任务不算完成 diff --git a/RULES.md b/RULES.md new file mode 100644 index 0000000..9c79dfd --- /dev/null +++ b/RULES.md @@ -0,0 +1,37 @@ +# Build Your Own X 精选 + +## 启动 +- `待补充` + +## 部署事实 +- 平台:待定 +- 发布状态:未部署 +- 主站 / 前端:待定 +- API / 后端:待定 +- 文档 / 解析:待定 +- 管理后台:待定 +- 代码仓:待定 + +## 快捷登录 +- 登录地址:待补充 +- 用户名:待补充 +- 密码:待补充 +- 说明:这里只写项目专属网页登录;数据库密码、API Key、服务器 root 密码不要写这里 + +## 元数据回写清单 +- 新增或变更公网地址后,必须同步更新 `.project.json.urls` +- 如果有网页后台登录: + - 可直接入库:写 `.project.json.quick_login` + - 不应入库:写 `.project.json.credentials` 引用 +- 部署完成后,`RULES.md` 和 `.project.json` 必须同一次任务一起更新 + +## 环境变量 +- 待补充 + +## 规则 +- 不允许编造不存在的部署域名、账号、密码 +- 没有公网地址时,`.project.json.urls` 保持空数组 +- 任何部署或域名变化,都要先改元数据,再视为任务完成 + +## 注意事项 +- 待补充 diff --git a/index.html b/index.html new file mode 100644 index 0000000..d5fad98 --- /dev/null +++ b/index.html @@ -0,0 +1,1015 @@ + + + + + +Build Your Own X - 精选高质量教程 + + + + +
+

Build Your Own X - 精选指南

+

从 500+ 条链接中筛选出的真正高质量教程与代码项目

+
+
30精选教程
+
11优质代码仓库
+
7大分类
+
484k原仓库 Stars(90%水分)
+
+
+ + + +
+ + +
+

系统 / 底层

+ + +
+
+ +
+ Java + C + 中级 + 80-120h +
+
+
+
你会造出什么
+ 完整的脚本语言 "Lox" -- 造两遍。先用 Java 写树遍历解释器,再用 C 写字节码虚拟机。支持动态类型、垃圾回收、闭包、类和继承。 +
+
+ 词法扫描 + 递归下降解析 + AST + 变量作用域 + 闭包 + 字节码编码 + 栈式虚拟机 + 哈希表实现 + Mark-Sweep GC + Pratt 解析 +
+
公认神作。Robert Nystrom(Google Dart 团队)著,手绘插图,每行代码都有解释。同一语言用两种根本不同的方式实现,深度理解权衡。全书免费在线阅读。
+
适合:想深入理解编程语言工作原理的中级程序员,需要基础 Java 和 C 知识。
+ +
+ + +
+
+ +
+ HDL / Jack / ASM + 中级 + 100-200h +
+
+
+
你会造出什么
+ 从一个 NAND 门开始,搭建逻辑门、ALU、CPU、RAM、汇编器、VM 翻译器、编译器、操作系统 -- 最终在你亲手造的计算机上跑俄罗斯方块。 +
+
+ 布尔逻辑 + 组合电路/ALU + 时序电路/RAM + 机器语言 + CPU 设计 + 汇编器 + 栈式 VM + 编译器前端 + OS 服务 +
+
CS 史上最受欢迎的课程之一。全球 400+ 大学采用,Coursera 免费课程,MIT Press 出版教材。从 NAND 门到俄罗斯方块,端到端理解计算机,无出其右。
+
适合:想从最底层理解计算机的任何人。无需编程基础以外的前置知识。自学程序员填补基础空白的最佳选择。
+ +
+ + +
+
+ +
+ Rust + 高级 + 60-100h + 17.4k Stars +
+
+
+
你会造出什么
+ x86_64 最小操作系统内核:VGA 文本输出、CPU 异常处理、硬件中断、分页内存管理、堆分配器、async/await 协作式多任务。 +
+
+ 裸机 Rust (no_std) + x86_64 启动 + 中断描述符表 + PIC 中断控制器 + 虚拟内存/分页 + 堆分配器设计 + async/await 内部机制 +
+
最受欢迎的 OS 教程。翻译成 10+ 语言,每月更新,Rust OSDev 社区标杆。用 Rust 类型系统让 unsafe 代码更安全。
+
适合:有 Rust 经验、想理解 OS 内核的开发者。非初学者友好。
+ +
+ + +
+
+ +
+ C + 中级 + 15-25h +
+
+
+
你会造出什么
+ ~1000 行 C 代码的终端文本编辑器,零依赖。支持文件编辑、增量搜索、语法高亮。基于 Redis 作者 antirez 的 kilo 编辑器。 +
+
+ 终端 raw mode + VT100 转义序列 + POSIX I/O + 动态数组 + 增量搜索 + 语法高亮状态机 +
+
教学法出色。184 个微小增量步骤,每步都能编译测试,立即看到结果。零依赖,只需 C 编译器。
+
适合:会基础 C、想理解终端应用和文本编辑器底层的人。
+ +
+ + +
+
+ +
+ C + 中级 + 15-25h +
+
+
+
你会造出什么
+ 简化版 SQLite 克隆:REPL、SQL 编译器和虚拟机、B-Tree 数据结构、磁盘持久化、节点分裂。 +
+
+ SQL 解析 + 虚拟机架构 + 行序列化 + 页式存储 + B-Tree + 二分搜索 + 磁盘持久化 +
+
直接参照 SQLite 真实架构,TDD 驱动开发。14 部分完整可用(作者已停更,但内容自洽)。
+
适合:想理解数据库内核的后端工程师、面试准备。
+ +
+ + +
+
+ +
+ C + 入门 + 5-10h +
+
+
+
你会造出什么
+ ~250 行 C 代码的 LC-3 虚拟机,能跑真实汇编程序(2048 游戏、Roguelike)。 +
+
+ 指令集架构 + 寄存器/内存 + 指令编解码 + 取指-解码-执行循环 + 内存映射 I/O + Trap 系统调用 +
+
最佳周末项目。代码极简但能跑真实程序。文学式编程风格,概念与实现分离清晰。
+
适合:系统编程入门者,一个周末就能完成。只需基础 C 知识。
+ +
+ + +
+
+ +
+ C + 高级 + 10-20h +
+
+
+
你会造出什么
+ 最小化但功能完整的 Linux 容器运行时:namespaces、capabilities、cgroups、seccomp、chroot。 +
+
+ Linux Namespaces + Capabilities + Cgroups + Seccomp + clone() 系统调用 + 容器安全加固 +
+
文学式编程,文档即代码。深入 Linux 内核安全机制,引用内核源码和安全论文。理解 Docker 本质的最佳材料。
+
适合:有 Linux 经验的 DevOps/SRE/安全工程师。
+ +
+
+ + +
+

🌐 网络 / 基础设施

+ + +
+
+ +
+ C + 中级 + 20-30h +
+
+
+
你会造出什么
+ 完整的 socket 编程能力:TCP/UDP 客户端和服务端、多路复用、DNS 解析。 +
+
+ Socket API + TCP/UDP + select/poll + 字节序 + DNS 解析 + 多客户端处理 +
+
网络编程圣经。几乎每个 CS 学生都读过。幽默易懂的写作风格,持续更新 20+ 年。
+
适合:想理解网络编程底层的任何开发者。
+ +
+ + +
+
+ +
+ C + 高级 + 30-50h +
+
+
+
你会造出什么
+ 用户态 TCP/IP 协议栈:Ethernet、ARP、ICMP、TCP 状态机。 +
+
+ Ethernet 帧 + ARP 协议 + IP 分组 + ICMP + TCP 状态机 + TUN/TAP 设备 +
+
从以太网帧到 TCP 握手,逐层实现。真正理解网络协议的最佳实践。
+
适合:想深入理解 TCP/IP 协议栈的系统/网络工程师。
+ +
+ + +
+ +
+
你会造出什么
+ 能下载真实 torrent 的 BitTorrent 客户端。 +
+
+ Bencode 编解码 + Tracker 协议 + Peer 协议 + 分片下载 + 并发管理 +
+
一篇文章讲透 BT 协议,简洁清晰,最终产物能实际下载文件。
+
适合:对 P2P 协议和 Go 感兴趣的开发者。
+ +
+ + +
+
+ +
+ Rust + 中级 + 10-15h +
+
+
+
你会造出什么
+ 完整的 DNS 服务器,支持递归解析。 +
+
+ DNS 协议 + UDP Socket + 递归解析 + 二进制协议解析 +
+
5 章循序渐进,从 DNS 报文格式到完整递归解析。Rust 网络编程实践佳作。
+
适合:想学 Rust 网络编程或理解 DNS 原理的开发者。
+ +
+ + +
+
+ +
+ Shell + 中级 + 2-4h + 12.6k Stars +
+
+
+
你会造出什么
+ 100 行 Bash 的 Docker 克隆:pull、run、exec、ps、logs、网络、cgroups。 +
+
+ Linux Namespaces + Cgroups + Chroot + 容器本质 +
+
"每行代码的顿悟密度"最高的项目。100 行证明容器就是 Linux 内核特性的组合,比大多数书讲得好。
+
适合:任何用 Docker 但不理解其本质的人。2-4 小时搞懂容器。
+ +
+ + +
+
+ +
+ Rust + 高级 + 20-30h +
+
+
+
你会造出什么
+ 简化版浏览器引擎:HTML 解析器、CSS 解析器、布局引擎、渲染管线。 +
+
+ HTML 解析 + CSS 选择器 + 样式计算 + 布局算法 + 渲染树 +
+
Mozilla 工程师 Matt Brubeck 写的,7 篇系列。从 HTML 解析到像素输出,理解浏览器渲染的最佳短教程。
+
适合:前端想理解浏览器内部、或对 Rust 实战感兴趣的高级开发者。
+ +
+
+ + +
+

💻 前端 / 编程语言

+ + +
+
+ +
+ JavaScript + 中级 + 4-6h +
+
+
+
你会造出什么
+ React 克隆 "Didact":Fiber 架构、函数组件、useState Hook、协调算法 (Reconciliation)。 +
+
+ createElement / JSX + Virtual DOM + Fiber 树 + 并发渲染 + Reconciliation + useState 实现 +
+
交互式代码块,8 步拆解 React 16.8+ 核心。Rodrigo Pombo(Code Hike 作者)出品,讲 React 内部原理最清楚的一篇。
+
适合:每天用 React 但想深入理解原理的前端开发者。
+ +
+ + +
+
+ +
+ JavaScript + 入门 + 1-2h + 28.4k Stars +
+
+
+
你会造出什么
+ ~200 行的迷你编译器:将 Lisp 风格调用转为 C 风格。注释比代码多。 +
+
+ 词法分析 + AST 解析 + Visitor 模式 + 代码生成 + 编译三阶段 +
+
史上最易懂的编译器教程。Babel/Yarn/Lerna 核心贡献者 Jamie Kyle 出品。每行都有注释,像读书一样。
+
适合:对编译器好奇但被"龙书"吓退的人。1-2 小时入门。
+ +
+ + +
+
+ +
+ Python + 中级 + 3-5h +
+
+
+
你会造出什么
+ 117 行 Python 的 Scheme 解释器 "Lispy":变量、条件、lambda/闭包、REPL。 +
+
+ 词法/语法分析 + AST + 环境模型 + Eval/Apply 循环 + Lambda 演算 + 闭包 +
+
Peter Norvig(Google 研究总监、AI 教材作者)亲笔。117 行代码诠释"软件的麦克斯韦方程",经典中的经典。
+
适合:想理解编程语言工作原理的 Python 开发者。
+ +
+ + +
+
+ +
+ Python + 中级 + 30-50h +
+
+
+
你会造出什么
+ 完整的 Pascal 解释器:词法器、递归下降解析器、AST、符号表、语义分析器。19 部分系列。 +
+
+ 词法分析 + 递归下降解析 + AST + Visitor + BNF/EBNF 语法 + 符号表 + 语义分析 + 嵌套作用域 +
+
19 部分系列,从单数字计算器到完整 Pascal 解释器。每篇递增构建,带练习题。最彻底的解释器教程。
+
适合:愿意投入几周深入学习解释器/编译器的开发者。
+ +
+ + +
+
+ +
+ Python + 高级 + 80-120h +
+
+
+
你会造出什么
+ 完整的 Web 浏览器:HTTP 网络、HTML/CSS 解析、布局引擎、渲染管线、JS 集成、无障碍、动画、合成。 +
+
+ HTTP 网络 + HTML 解析 + CSS 级联/优先级 + 布局算法 + JS/DOM 交互 + 安全 (Cookie/XSS/CSRF) + GPU 动画 + 无障碍树 +
+
牛津大学出版社正式出版,Chrome 渲染引擎负责人合著。免费在线版,大学教材级别。16 章覆盖完整浏览器栈。
+
适合:想深入理解浏览器的资深开发者、Web 平台工程师、CS 高年级学生。
+ +
+ + +
+
+ +
+ Python + 中级 + 8-15h +
+
+
+
你会造出什么
+ 983 行 Python 的 Git 实现 "wyag":init、add、commit、log、checkout、tag 等,兼容真实 Git 仓库。教程本身的提交就是用 wyag 完成的。 +
+
+ Git 对象模型 + SHA-1 内容寻址 + Refs/分支/HEAD + Index 暂存区 + Tree/Commit 序列化 + Merkle DAG + .gitignore +
+
从底层重新实现 Git,最终产物兼容真实 Git 仓库。理解 Git 内部原理的最佳教程。2026 年 2 月仍在更新。
+
适合:每天用 Git 但被 Git 心智模型困惑的开发者。
+ +
+ + +
+
+ +
+ Rust + 中级 + 15-25h +
+
+
+
你会造出什么
+ ~3000 行 Rust 的终端文本编辑器:文件读写、搜索、语法高亮。kilo 编辑器的 Rust 重写。 +
+
+ Rust 所有权/借用 + 终端 raw mode + 文本缓冲区 + 文件 I/O + 增量搜索 + 语法高亮 +
+
通过造真实项目学 Rust,而非抽象练习。后期章节先给任务再给答案,鼓励主动学习。2025 年 5 月更新。
+
适合:想通过实战项目学 Rust 的其他语言开发者。
+ +
+
+ + +
+

🤖 AI / 机器学习

+ + +
+
+ +
+ Python (PyTorch) + 入门-中级 + 25-30h + 21.1k Stars +
+
+
+
你会造出什么
+ Micrograd(自动微分引擎)、Makemore(字符级语言模型)、GPT from scratch、BPE Tokenizer。 +
+
+ 反向传播原理 + 语言模型 + MLP 架构 + BatchNorm + 手动反向传播 + Transformer 注意力 + BPE 分词 +
+
业界神作。Andrej Karpathy(前 Tesla AI 总监、OpenAI 创始成员)讲解。前置要求极低:基础 Python + 模糊的高中数学。Jupyter notebook 全提供。
+
适合:ML 零基础但会 Python 的人;想建立神经网络深层直觉的自学开发者。
+ +
+ + +
+
+ +
+ Python (PyTorch) + 中级 + 60-80h + 89.4k Stars +
+
+
+
你会造出什么
+ 完整的 ChatGPT 级 LLM:分词器、注意力机制、GPT 架构、预训练、分类微调、指令微调。 +
+
+ LLM 架构 + 分词/Tokenization + Self-Attention + Multi-Head Attention + GPT 实现 + 预训练 + 分类微调 + 指令微调 + LoRA +
+
GitHub 上最受欢迎的 ML 教程之一。Manning 出版社配套书籍。笔记本电脑即可运行,无需 GPU。附 17+ 小时视频课程。Bonus 章节覆盖 Llama/Qwen/Gemma。
+
适合:会 Python 想深入理解 LLM(不只是调 API)的开发者。
+ +
+ + +
+
+ +
+ C++ + 入门-中级 + 8-12h (Book 1) / 40-60h (全三册) + 10.3k Stars +
+
+
+
你会造出什么
+ 光线追踪渲染器:漫反射/金属/电介质材质、景深、纹理、体积雾、BVH 加速、蒙特卡洛积分。 +
+
+ 光线-球体相交 + 抗锯齿 + 材质系统 + 景深/运动模糊 + 纹理/Perlin 噪声 + BVH 加速结构 + 蒙特卡洛方法 +
+
图形学入门经典。三册渐进深入,CC0 公共领域许可。Peter Shirley(图形学教授)将多年教学浓缩为最易懂的光线追踪入门。能生成照片级真实感图像。
+
适合:对图形学好奇的人、游戏开发者、想要有视觉成就感的 C++ 学习者。
+ +
+
+ + +
+

📦 优质代码仓库(可克隆学习)

+

以下是 build-your-own-x 中有真正高质量代码的仓库,不只是文章链接,而是可以 clone 下来研读的项目。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tier仓库Stars语言造什么一句话评价
T1trekhleb/javascript-algorithms196kJavaScript70+ 算法 + 15+ 数据结构GitHub 最受欢迎的教育仓库,每个算法有 README、BigO 分析、测试
T1rasbt/LLMs-from-scratch89.4kPython完整 GPT-like LLM"造 LLM" 的权威资源,书级质量,笔记本可跑
T1ssloy/tinyrenderer23.4kC++~500 行 3D 软件渲染器14 课详解,零依赖。理解 OpenGL/Vulkan 底层的最佳项目
T2cfenollosa/os-tutorial30.3kC / ASMBootloader 到 Kernel + Shell25 个小课(每课 5-15 分钟),"造 OS" 最佳入门
T2p8952/bocker12.6kShell100 行 Bash 的 Docker每行代码顿悟密度最高的项目,2-4 小时搞懂容器
T2kanaka/mal (Make a Lisp)10.6k89 种语言Lisp 解释器(11 步到自举)用任何你想学的语言造同一个解释器,独一无二的多语言教育项目
T2hexacta/didact6.7kJavaScriptReact 克隆(Fiber + Hooks)"造 React" 的配套代码,commit diff 展示演进过程
T3jamesroutley/write-a-hash-table4.3kC~200 行哈希表7 章 1-2 小时,最佳下午茶项目
T3Fewbytes/rubber-docker3.2kPython / C容器引擎(Workshop 格式)比 bocker 更深入,有讲义和分级练习
T3conradoqg/naivecoin1.3kJavaScript~1500 行加密货币有 REST API、钱包、挖矿、P2P,"造币" 最佳实战
T3jserv/mini-arm-os1.2kC / ASMARM 最小 OS(抢占式多任务)嵌入式/ARM 方向的 OS 入门,支持 QEMU 和真实硬件
+
+ + +
+

💡 总结与建议

+ +
+

快速入门路线(总时间 < 20h)

+ + + + + +
1. The Super Tiny Compiler1-2h理解编译器三阶段
2. Write your Own VM (LC-3)5-10h理解 CPU 执行原理
3. Docker in 100 lines (bocker)2-4h理解容器本质
4. Norvig's Lispy3-5h理解编程语言原理
+
+ +
+

深度学习路线(每个 1-2 周)

+ + + + + +
1. Crafting Interpreters80-120h编程语言实现圣经
2. Nand2Tetris100-200h从 NAND 门到俄罗斯方块
3. LLMs from Scratch60-80h从零造 LLM
4. Browser Engineering80-120h从零造浏览器
+
+ +
+

核心结论

+
    +
  • build-your-own-x 的 500+ 链接中,真正高质量的约 30 个(本页全部列出)
  • +
  • 最有价值的不是链接集合本身,而是其中少数经过社区反复验证的经典教程
  • +
  • 优质代码仓库 11 个,其中 T1 级别 3 个(javascript-algorithms / LLMs-from-scratch / tinyrenderer)
  • +
  • 如果只选一个做:想理解计算机选 Nand2Tetris,想理解 AI 选 Karpathy 系列,想学编程语言选 Crafting Interpreters
  • +
+
+
+ +
+ +
+ 从 build-your-own-x (484k stars) 精选 | 研究日期:2026-03-28 +
+ + +