一个长期维护的个人知识库。
面向计算机基础、系统编程、AI 工程与开源源码阅读。
CS Core Lab 不是课程笔记,也不是学习打卡仓库。
它更像一个长期维护的工程师 Notebook:用来沉淀我对计算机系统、工程实践和 AI 技术的真实理解。这里不会追求“今天学了多少”,而是更关注:
- 我是否真正理解了一个概念;
- 我是否能用实验验证它;
- 我是否能从源码中看到它的实现;
- 我是否能把它和其他知识连接起来;
- 我是否能在未来的工程实践中复用它。
这个仓库会随着我的成长持续更新,而不是某门课结束后就停止维护。
大学一晃就过去了三年,三年里一直忙于堆积实习经历,实际上待在学校的日子寥寥无几,就更不要说什么专业课的学习了,期末考试也只是草草水过,计算机的基础教育可以说是为 0!!!
一直不太喜欢称自己为
程序员(猿)、码农,相反我更喜欢工程师这个称呼,想到“工程师”人们总容易联想到“可靠”、“底层”、“专业”;而不是“猝死”、“苦逼”和“996(007)”😅。这也和我的目标一致:在毕业前,把自己培养成一名兼具计算机基础、系统设计能力、工程实践能力、AI前沿技术和开源协作经验的软件工程师。 接下来一年我会在这里记录自己的关于计算机基础、rust、AI相关的学习-----在AI时代里,我拒绝成为草台班子的一部分
目前仓库按照几个长期方向组织:
00-roadmap/:学习路线、阶段目标、能力地图和复盘。01-computer-science/:操作系统、计算机网络、数据库、计算机组成。02-programming/:JavaScript、Rust、前端工程、编译器和工程实践。03-projects/:Pixelle、CS Core Lab、Tiny Engine 和 AI Engineering 等项目沉淀。04-interview/:前端、Rust、操作系统、简历和项目面试材料。05-reading/:书籍、论文、文档和源码阅读轨迹。index/:总索引、问题索引、面试索引、项目索引和资料索引。templates/:概念笔记、面试回答、项目沉淀、源码阅读和复盘模板。
每个主题目录都尽量保持相同结构:notes、experiments、diagrams、source-reading、questions、resources。知识不是孤立文件,而应该逐渐形成网络。
- 确认
02-programming/systems-programming-legacy/是否还需要继续拆分。 - 确认
02-programming/source-reading-legacy/是否还有残留内容需要归类。 - 确认
03-projects/ai-engineering/中哪些内容属于项目沉淀,哪些应迁回02-programming/。 - 从
index/questions/中筛选面试高频问题,迁入04-interview/或补充到index/interview-index.md。
- 不堆资料,只沉淀理解。
- 不只写结论,也记录问题、实验和验证过程。
- 不照搬课程目录,而是围绕系统机制和工程问题组织内容。
- 不迷信工具,但保持 Markdown、GitHub 和 Obsidian 之间的可迁移性。
- 不追求一次写完,而是允许长期重构、修正和链接。
接下来一年,这个仓库会重点围绕三条主线演进:
- 补齐计算机基础:操作系统、网络、数据库、计算机组成和编译原理。
- 建立系统编程能力:以 Rust、Linux、并发、异步运行时和性能分析为核心。
- 深入 AI 工程实践:理解 RAG、Agent、工具调用、上下文工程和评估体系。
长期来看,我希望这里不只是一个 Markdown 仓库,而是一个能持续支撑工程判断、源码阅读、系统设计和开源协作的个人知识系统。
如果几年后回头看,这里应该能回答一个问题:
我是否真正把自己训练成了一名更可靠、更专业、更接近系统本质的软件工程师?