中文名:编程宝典
ZHENNs_ProgrammingCodex 是我的个人编程知识库,用 Obsidian 组织知识,用 Git 管理版本。
这个仓库不是一本传统教材,也不是一个已经完成的教程网站。它更像是一棵正在生长的技术树:把我在学习、写项目、读代码、使用 AI 编程时遇到的零散知识,慢慢整理成一张可以复用、可以回看、可以继续扩展的知识图谱。
现在写代码变得越来越容易了。
AI coding 和 vibe coding 可以让人很快写出功能,但它也带来了一个很严重的问题:代码很容易变成 black box(黑盒)。
如果我只让 AI 帮我写代码,而不理解代码背后的技术、历史、问题和限制,那么项目可能短期能跑,长期却会越来越难维护。
所以我建立了这个知识库。
它的目标不是简单地收藏资料,而是记录我真正理解一个技术的过程:
- 这个技术出现前,人们遇到了什么问题?
- 以前是怎么解决的?
- 这个技术为什么会出现?
- 它真正解决了什么?
- 它有什么局限?
- 它和其他技术有什么关系?
- 我是在什么项目、什么 bug、什么困惑中学会它的?
这个知识库采用“中文逻辑 + 英文术语”的写法。
原因很简单:我的母语是中文,用中文解释逻辑更容易理解;但我的 CS 学习、考试和技术交流又经常发生在英文环境里,所以技术名词必须保留英文。
例如:
Tokenization(分词)Embedding(嵌入)Virtual DOM(虚拟DOM)Dependency Injection(依赖注入)
解释用中文,术语用英文。这样既能理解得快,也能和课堂、考试、文档、代码里的英文概念对上。
编程宝典/
├── 00 工具与指南/
├── 01 知识图谱入口/
├── 10 计算机基础/
├── 20 编程语言/
├── 30 软件工程/
├── 40 Web与网络/
├── 50 数据与存储/
├── 60 AI与编程工具/
├── 80 问题与痛点/
└── 90 素材与临时笔记/
文件夹负责降低查找成本,真正的知识图谱靠卡片之间的 [[wikilink]] 直接连接。这个仓库不依赖额外导航文件来串联知识点。
技术卡片是这个知识库的主干。
它用来记录稳定、可复用的技术概念,例如:
Class(类)Closure(闭包)Virtual DOM(虚拟DOM)Tokenization(分词)Dependency Injection(依赖注入)
问题卡片从痛点出发,解释“为什么需要某个技术”。
例如:
- 为什么需要
Virtual DOM(虚拟DOM)? - 为什么异步代码会产生
Callback Hell(回调地狱)? - 为什么 AI 生成的代码容易变成 black box?
- 为什么数据库查询会变慢?
我希望自己不是死记技术名词,而是理解技术背后的问题。
这个仓库会持续更新。
它记录的是一个 CS 学生和程序员如何在 AI 时代学习编程、理解代码、维护项目、避免被黑盒吞掉的过程。
我希望它最后不只是一个笔记仓库,而是我的个人技术地图。