技术知识库
记录规范
记录规范
一条笔记,一个主要问题
标题使用可搜索的完整概念或问题,例如“UFS 中 UIC 命令如何完成链路启动”,避免“学习记录 1”。概念笔记尽量自洽,让脱离目录后的单篇内容仍能读懂。
固定结构
- YAML 元数据:机器可读的分类与生命周期。
摘要:用自己的话给出 2–5 句结论。问题/背景:说明这篇笔记解决什么。正文:解释机制;代码、图和数据服务于结论。证据与来源:标明规范章节、内核版本、文件和函数。关联:用[[双向链接]]连接前置、相似及相反概念。待验证:明确不知道或尚未确认的部分。
四层知识结构
同一个主题按“导航—理解—操作—排错”拆成四层,不把理论、长命令和错误日志堆在同一篇笔记中。
| 目录 | 回答的问题 | 主要内容 |
|---|---|---|
10-Domains | 本领域有什么,应该按什么顺序学习? | MOC、章节目标、概念导读、主线入口、故障索引、前置与后续 |
20-Concepts | 这是什么,为什么这样工作? | 术语、机制、边界、因果关系、适用条件,不承担完整操作流水线 |
30-Projects | 怎样从零做成并验证? | 可复现的成功主线、完整命令、配置内容、预期结果和完成标准 |
50-Labs | 为什么失败,如何定位并修复? | 故障现象、环境、根因、尝试、最终修复和验证结果 |
MOC 与章节
- 每个章节 MOC 先写学习目标,再提供“概念导读”,随后链接 Project 主线和相关 Lab。
- MOC 不复制长篇理论和命令,而是提供最短阅读路径与有意义的链接标题。
- 新增 Concept、Project 或 Lab 后,应把它加入对应 MOC。
Concepts
- 一篇 Concept 聚焦一个可独立理解的问题,例如“debootstrap 为什么分成两个阶段”。
- 解释“是什么、为什么、如何关联”,写清版本和适用条件;不要把整套安装命令复制进 Concept。
- Concept 至少链接一个相关 MOC 或 Project,使理论能够落到实际实验。
Projects
30-Projects保存可从零复现的成功主线。必须写清工作目录、前置条件、按顺序执行的完整命令、需要写入文件的完整内容、验证命令和完成标准。- Projects 使用“章节 → 小节 → 笔记”的语义层级:第一层目录代表一个完整学习目标,第二层目录代表该章内可独立验收的小节,Markdown 文件承载具体成功主线。
- 第一、二层目录都采用
NN-语义名称;编号只表示同层阅读顺序,不跨层连续计数。例如01-实验平台搭建/04-Debian-rootfs与02-Linux内核基础知识/01-GCC编译。 - Project 在关键步骤前用一两句话说明目的,并链接对应 Concept;不在命令之间重复展开大段理论。
- 重复的
ls或临时探测可以合并,但不能省略影响结果的操作。 - Project 遇到故障时只保留一句现象和对应 Lab 链接;详细错误日志不重复堆入主线。
Labs
50-Labs保存故障与调试闭环。每篇围绕一个主要问题,记录实际现象、环境、根因、尝试过的方案、最终修复和验证结果。- Labs 尽量镜像受影响 Project 的“章节 → 小节”路径,便于从成功主线定位故障;只有跨多个 Project 的通用故障才单独建立语义目录。
- 成功的主线实验属于 Project,不因名称中包含“实验”就放入 Labs。
- Lab 修复成功后,应把最终必要操作合并回相关 Project,确保 Project 单独阅读仍可复现。
链接方向
推荐形成以下双向路径:
MOC → Concept → Project → Lab
↑ ↘ ↗ │
└───────── 关联与返回链接 ─┘
- MOC 提供入口;Concept 链接实际 Project;Project 就近链接原理 Concept 和故障 Lab;Lab 链回受影响的 Project。
- 首次出现的重要术语建立链接即可,避免同一段落反复链接造成噪声。
元数据字段
| 字段 | 规则 |
|---|---|
id | 稳定、唯一,建议英文 kebab-case;文件改名时不改 ID |
type | moc、concept、source、lab、project、daily、guide |
status | seed(草稿)、growing(整理中)、evergreen(已验证)、archived |
domain | 主领域:kernel、ufs、pcie、networking、meta 等 |
tags | 少而稳定,只表达横向特征,不复制目录层级 |
created/updated | ISO 日期 YYYY-MM-DD |
source | 来源笔记链接或 URL;没有则留空 |
命名与链接
- MOC 使用
主题 MOC;其余文件使用自然语言标题,不加流水号。 - 顶层章节编号与小节编号分别从
01开始:不得把上一章最后的小节编号延续成下一章的第一个小节。 - 同一小节的架构、平台和版本扩展继续放在原小节目录,并用“扩展:主题”命名;例如 RISC-V Debian rootfs 归入
30-Projects/01-实验平台搭建/04-Debian-rootfs。扩展不得占用新的同级小节或顶层章节编号。 - 新编号必须对应新的语义目标:先回答“这是新章节、新小节,还是现有小节的扩展”,再创建目录。
- 首次出现的重要术语链接到概念笔记;不要每次出现都链接。
- 外部资料先建立来源笔记,再由概念笔记引用它。
- 内核相关结论写明版本/commit;规范结论写明版本与章节。
- 截图不能代替文字结论;图片说明里写清观察结果。
每周整理(约 20 分钟)
- 清空或分类
01-Inbox。 - 将实验结论提炼到概念笔记,而不是只留在日志中。
- 把新笔记加入对应 MOC,并补至少一个有意义的关联链接。
- 更新
status和updated,归档已失效内容。