下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-znjfjocm--build-your-own-x-guide.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-znjfjocm/build-your-own-x-guide。- 从零重建技术的学习指南与路径查询。基于 GitHub 55 万星标的 codecrafters-io/build-your-own-x 项目整理。当用户想学习如何从零实现 Redis、Git、SQLite、Docker、操作系统、编译器等底层技术,或需要"
- 造轮子"
- 式深入理解技术原理时使用。触发场景包括:用户说"
- 我想从零写一个Redis"
- 、"
- 如何实现Git"
- …(完整说明见下方「阅读全文」)
阅读全文 (展开查看完整说明)
概述
Build Your Own X 学习指南
基于 codecrafters-io/build-your-own-x(GitHub 星标 #1,557k+ stars)整理。
核心理念
"What I cannot create, I do not understand." — Richard Feynman
通过从零重建你每天使用的技术,来真正理解它们的工作原理。
主要技术分类与学习路径
数据库类
- Redis:从 socket 通信、RESP 协议开始,逐步实现持久化、复制、集群
- SQLite:从 B+ 树存储引擎开始,实现 SQL 解析、查询优化
- LevelDB / RocksDB:LSM 树存储引擎实现
- MySQL 简易版:理解 InnoDB、事务、MVCC 原理
版本控制类
- Git:从 .git 目录结构开始,实现对象存储、commit、branch、merge
- SCCS / RCS:理解版本控制的最基本模型
网络与 Web 类
- HTTP 服务器:从 TCP socket 开始,实现 HTTP/1.1、路由、中间件
- DNS 服务器:理解 DNS 协议,实现递归解析器
- 负载均衡器:实现轮询、健康检查、反向代理
- CDN 简易版:理解缓存、边缘节点
容器与虚拟化类
- Docker 简易版:理解 namespace、cgroups、联合文件系统
- KVM / 虚拟机监控器:CPU 虚拟化、内存虚拟化
- 沙箱机制:seccomp、能力边界
编译器与语言类
- 解释器:从 Lisp 解释器开始,逐步实现词法分析、语法分析、求值
- 编译器:实现一个迷你编译器(前端 + LLVM IR)
- 正则表达式引擎:NFA / DFA 实现
- JSON 解析器:理解流式解析、错误恢复
操作系统类
- 操作系统内核:从 bootloader 开始,实现进程管理、内存管理、文件系统
- Shell:实现命令解析、管道、重定向、作业控制
- 文件系统:实现 FAT / ext2 简易版
算法与数据结构类
- 区块链:理解哈希链、共识机制、P2P 网络
- 搜索引擎:实现倒排索引、爬虫、排序
- 消息队列:实现 Kafka 简易版(持久化、分区、消费组)
使用方式
- 确定目标技术:用户想理解什么技术的底层原理?
- 选择实现语言:根据用户熟悉的语言选择对应教程
- 规划学习步骤:从最简单的核心功能开始,逐步迭代
- 参考资源:完整技术目录见 [references/tech-catalog.md](references/tech-catalog.md)
推荐入门顺序
如果你是第一次尝试"造轮子",建议从以下顺序开始:
- JSON 解析器(最容易,快速获得成就感)
- HTTP 服务器(理解网络编程基础)
- Git 简易版(理解版本控制模型)
- Redis 简易版(理解网络协议 + 数据结构)
- 编译器 / 解释器(理解语言设计)
注意事项
- 不需要完全复刻生产级实现,重点是理解核心原理
- 每个项目建议用 1-4 周完成,不要追求完美
- 优先选择你日常工作中接触最多的技术来重建,收获最大