编程学习知识地图导航

这页只做顶层导航,负责回答“应该进入哪张知识地图”。具体概念、语法点、工具命令和案例内容放到各子知识地图中维护。

总体关系

编程学习
  -> 编程语言
  -> 数据结构与算法
  -> 操作系统与运行环境
  -> 工程工具与数据库
  -> 软件工程与协作规范
  -> AI Engineering

1. 编程语言知识地图

语言学习用于建立表达能力:如何描述数据、控制流程、组织代码、管理资源和构建可维护程序。

  • 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 用于把模型、上下文、工具、知识库、评测和协作流程组织成可运行系统。