编程学习知识地图导航
这页只做顶层导航,负责回答“应该进入哪张知识地图”。具体概念、语法点、工具命令和案例内容放到各子知识地图中维护。
总体关系
编程学习
-> 编程语言
-> 数据结构与算法
-> 操作系统与运行环境
-> 工程工具与数据库
-> 软件工程与协作规范
-> AI Engineering1. 编程语言知识地图
语言学习用于建立表达能力:如何描述数据、控制流程、组织代码、管理资源和构建可维护程序。
- C++知识地图:C/C++ 基础、内存模型、面向对象、STL、现代 C++、并发与工程案例。
- Python知识地图:Python 入门、容器语义、函数、文件、异常、模块、面向对象、爬虫与数据库实践。
- 现代Cpp的知识图谱:现代 C++ 专题补充,聚焦 RAII、智能指针、移动语义、lambda、constexpr 等能力。
待建设地图:
- 前端知识地图:HTML、CSS、浏览器基础、页面结构与交互。
- 汇编知识地图:寄存器、内存地址、指令、调用约定和底层执行模型。
2. 数据结构与算法知识地图
数据结构与算法用于建立“如何组织数据、如何降低复杂度”的能力。
- 算法知识地图:复杂度、线性结构、树、图、哈希、排序、字符串算法和待补专题。
待建设地图:
- 数据结构知识地图:线性结构、树形结构、散列结构、图形结构的结构关系。
- 算法题型知识地图:递归、分治、回溯、动态规划、贪心、图论题型。
3. 操作系统与运行环境知识地图
操作系统知识用于理解程序运行在哪里、如何访问文件、网络、进程、权限和系统资源。
- Linux知识地图:Linux 入门、命令行、文件系统、权限、进程、网络工具和终端编辑。
待建设地图:
- 操作系统知识地图:进程、线程、内存、文件系统、I/O、网络和虚拟化。
- Windows知识地图:Windows 入门、快捷键、命令行、开发环境和常见排障。
4. 工程工具与数据库知识地图
工程工具用于把代码变成可构建、可协作、可部署、可排查的项目。
待建设地图:
- 开发工具知识地图:Git、GitHub、VS Code、CMake、Docker、数据库工具的关系。
- Git知识地图:版本管理、分支、提交、远程协作、回滚和冲突处理。
- Docker知识地图:镜像、容器、网络、数据卷、部署实例。
- CMake知识地图:目标、依赖、编译选项、工程组织。
- 数据库知识地图:SQL、MySQL、Redis、SQLite、Python/Go 数据库访问。
5. 软件工程知识地图
软件工程用于把“能运行的代码”推进到“可维护、可协作、可演进的系统”。
待建设地图:
- 软件工程知识地图:需求、设计、实现、测试、发布、维护。
- 编程规范知识地图:命名、格式、注释、错误处理、未定义行为、文档生成。
- 设计模式知识地图:创建型、结构型、行为型模式,以及 UML 类关系。
- 文档写作知识地图:Markdown、LaTeX、技术文档结构和说明模板。
6. AI Engineering 知识地图
AI Engineering 用于把模型、上下文、工具、知识库、评测和协作流程组织成可运行系统。
- AI Engineering知识地图:Prompt、Context Engineering、RAG、Agent、MCP、协作范式、评测与工程治理。