RootStack

以 C 作为出发点,覆盖多领域、多计算机语言的百科全书式教程 —— C、C++、Python、Rust、Dart、数据结构与算法、Linux 系统、系统内核、汇编、网络安全(红队)

version

Git 指南 · GitHub 设置 · 科学上网 · 国际付费 · AI Agent 工具 · 红队知识库 · 参与贡献

静态网站:rootstack.misser.top


关于本教程

本教程体系是一套以 C 语言为核心、向上延伸至 C++ 和数据结构、向下探及汇编和内核的完整知识库。教程使用 Obsidian 的双向链接 `文件名` 组织内容,形成相互引用的知识网络。

路径说明: 8 条学习路径覆盖 C、C++、Java、Rust、Python、Dart 六大语言方向,以及考研和渗透测试两个专业方向。每条路径从入门到进阶,按阶段推进。另有 多语言工程化/ 模块专门讲解多人多语言项目的统筹协作、跨语言构建测试与容器编排。

本教程有瑕疵。教程内容包含 AI 辅助生成的部分,可能存在概念偏差、代码错误或总结不到位的情况。请读者始终保持批判性阅读,不要盲目照搬。如果你发现错误或有改进建议,请见 问题讨论区——我们非常欢迎你的议题和 Pull Request,项目组在经过实践检验和综合讨论之后会进行修改。


推荐学习环境:Linux

本教程涉及编译、链接、系统调用、内核模块、汇编等底层内容。在 Windows 下学习 C/系统编程,频繁遇到 PATH 差异、缺少标准工具链、权限模型不一致、ABI 不同步等问题,每个问题都在分散你对核心知识的注意力。推荐使用 Linux 作为学习环境,一次解决所有环境问题,把精力留给真正要学的东西。

新手推荐:Linux Mint

最推荐新手用来踩坑的发行版是 Linux Mint

  • 基于 Ubuntu LTS,软件兼容性好,apt 生态成熟
  • Cinnamon 桌面体验接近 Windows,上手成本低
  • 开箱即用,不需要折腾就能进入学习状态

至于 Ubuntu 和 RHEL/Fedora,它们广为人知更多是因为企业/服务器市场占有率大(大多为企业程序员在使用),而非对新手友好。Mint 在桌面体验上反而更适合初学者。

如果你已经对 Linux 有一定了解,Debian、Fedora、openSUSE 都是不错的选择。想深入系统底层的话,Arch Linux 也值得尝试,但不建议作为入门首选。

快速入门


AI Agent 工具

AI Agent 工具是当前开发者生产力的核心加速器——它们不只是代码补全,而是能自主理解项目、读取文件、编辑代码、运行测试并迭代修复的”AI 协作者”。本教程体系本身就是在 Agent 工具的辅助下编写和维护的。

教程涵盖主流 Agent 工具(Claude Code、opencode、Cursor、GitHub Copilot 等)的推荐、安装、使用方式,以及作者的安全优先、性能至上、终端黑窗口的使用哲学。详见 AI_Agent工具使用教程


Obsidian 使用指南

本教程设计为在 Obsidian 中阅读以获得最佳体验(双向链接预览、图谱视图、可折叠答案)。以下是各平台的安装和导入方法:

Linux

# Linux Mint / Ubuntu
sudo apt install obsidian
 
# Arch Linux
sudo pacman -S obsidian
 
# Flatpak (通用)
flatpak install flathub md.obsidian.Obsidian

macOS

brew install --cask obsidian

Windows

obsidian.md/download 下载 .exe 安装包,运行安装即可。

导入本教程

  1. 打开 Obsidian,点击 “Open folder as vault”
  2. 选择本教程的根目录(即包含本 README.md 的文件夹)
  3. Obsidian 会自动识别 .obsidian/ 配置并加载所有双链接

导入后,从本文件(README)出发,通过 双链接 跳转到任意章节。阅读模式下按 Ctrl/Cmd + 点击 即可跳转。


教程体系结构

RootStack/ ├ v0.25.0
├── README.md ← 你在这里
│
├── 路径-C开发.md C 开发: 从零到内核
├── 路径-CPP开发.md C++ 开发: 从零到应用开发
├── 路径-Java开发.md Java 开发: 全栈工程师路径
├── 路径-Rust开发.md Rust 开发: 系统编程进阶
├── 路径-Python开发.md Python 开发: 数据科学与AI
├── 路径-考研.md 408考研统一入口(四科阅读方向 + 章节索引整合)
├── 路径-渗透测试.md 渗透测试工程师职业路径 (含CTF→SRC/比赛分化)
│
├── linux/ Linux 百科全书式教程 (72章 + 4发行版 + WSL 8章)
│ ├── README.md Linux 教程总览与学习路线
│ ├── 01-Linux概述与历史.md → 71-libvirt与QEMU-KVM.md (72章主线)
│ ├── distro/
│ │ ├── arch/ Arch Linux 完整指南(含 NVIDIA Legacy 驱动迁移与故障恢复)
│ │ ├── debian/ Debian/Ubuntu 完整指南
│ │ ├── redhat/ RHEL/CentOS/Fedora/Rocky 完整指南
│ │ └── nix/ NixOS 声明式配置指南
│ └── resources/ 命令速查表 + 术语对照表
│
├── 算法/ 算法竞赛内容 (仅供 Path D 学习者)
│ ├── 算法技巧/ (28篇) 基础算法技巧 (数组/搜索/DP/图论等)
│ ├── 数学/ (5篇) 数论/组合数学/CRT (Phase 7)
│ ├── 搜索进阶/ (3篇) 双向搜索/A*/IDA* (Phase 8)
│ ├── DP优化/ (3篇) 单调队列/斜率/四边形不等式 (Phase 9)
│ ├── DP进阶/ (9篇) 区间DP/背包DP/树形DP/状压DP等 (Phase 6)
│ ├── 图论/ (15篇) 最短路/MST/拓扑排序/SCC/LCA/网络流等 (Phase 4)
│ ├── 字符串扩展/ (8篇) Trie/SA/SAM/Z函数/回文自动机等 (Phase 6)
│ ├── 杂项技巧/ (4篇) 莫队/CDQ/整体二分/ODT (Phase 10)
│ ├── 题目/ (8篇) 算法题目存档
│ └── 计算几何/ (3篇) 二维几何/凸包/半平面交 (Phase 11)
│
├── c语言教程/ C 语言: 入门 → 深化 → 库大全
│ ├── c目录.md
│ ├── 1入门/ (10篇) 2深化/ (9篇) 3数据结构/ (9篇)
│ ├── 4工程化/ (2篇) CMake深入 + C项目工程化(CI/静态分析/发布)
│ └── 库大全/ → 容器类库/ 功能类库/ 第三方库/
│
├── cpp教程/ C++ 教程: 基础 → 深化 → 容器库 → 功能库 → 第三方库
│ ├── cpp目录.md
│ ├── cpp基础教程/ (11篇) cpp深化教程/ (18篇, 含CMake深入+Conan/vcpkg)
│ ├── 容器库/ (5子目录) cpp功能库/ (8子目录)
│ └── cpp第三方库/ (11子目录, 网络含Web框架实战)
│
├── rust/ Rust 教程: 入门 → 深入 → 实践 → 工程 → 重构
│ ├── rust目录.md
│ ├── 1入门/ (14篇) 2深入/ (11篇) 3实践/ (7篇, 含axum Web开发)
│ ├── 4工程/ (14篇, 含sqlx+workspace) 5重构/ (6篇)
│
├── java/ (48篇) Java 全栈教程: 入门 → 深入 → 工程化 (Spring体系)
│ ├── java目录.md
│ ├── 1入门/ (18篇) 三平台环境配置 + 语法 + OOP核心
│ ├── 2深入/ (12篇) 集合源码 + 并发 + JVM + 设计模式
│ └── 3工程化/ (18篇) Maven/Gradle + Spring全家桶 + Docker/CI + 架构
│
├── dart/ (34篇) Dart/Flutter 教程: 入门 → 深入 → 框架 → 工程化
│ ├── dart目录.md
│ ├── 1入门/ (12篇) 语法 + 集合 + OOP + 空安全 + 异步 + 包管理
│ ├── 2深入/ (6篇) 泛型 + Isolate + FFI + 元编程 + 测试 + 编译产物
│ ├── 3框架/ (12篇) Flutter全流程 + 服务端Dart + Flame游戏 + Web/桌面
│ └── 4工程化/ (3篇) 架构规范 + CI自动发布 + 包发布
│
├── 多语言工程化/ (30篇) 多人多语言项目统筹: 协作 → 构建 → 协议 → 测试 → 容器 → 交付
│ ├── 多语言工程化目录.md
│ ├── 1统筹与协作/ (6篇) Monorepo + 接口先行 + 团队分工 + Git工作流 + 版本策略
│ ├── 2构建与依赖/ (4篇) 构建系统全景 + Bazel + 私有仓库 + 交叉编译
│ ├── 3接口与协议/ (6篇) FFI + Protobuf/gRPC + REST/OpenAPI + 消息队列 + 序列化
│ ├── 4测试与质量/ (4篇) 测试策略 + 契约测试 + E2E编排 + 质量门禁
│ ├── 5容器与编排/ (6篇) 统一容器化 + Compose + K8s核心/实战 + Helm/GitOps + 可观测性
│ └── 6持续交付/ (3篇) 流水线设计 + GitHub Actions + 发布回滚
│
├── 前端开发/ (~91篇) 前端全栈: 基础 → 框架 → 可视化 → 实战 → 融会贯通
│ ├── 引导阅读.md 按需求导引(六条路线+技术栈组合)
│ ├── 01-基础/ HTML+CSS+JS+TS (21篇)
│ ├── 02-CSS框架/ Tailwind+Bootstrap5+Bootstrap4+Foundation (10篇)
│ ├── 03-JS框架/ Vue2/Vue3/React/Next.js/Angular/AngularJS (25篇)
│ ├── 04-DOM与交互/ DOM+AJAX+JSON (8篇) 05-工具库/ jQuery系 (2篇)
│ ├── 06-数据可视化/ Chart.js+ECharts+Highcharts+SVG (12篇)
│ ├── 07-图标与UI/ Font-Awesome (2篇)
│ └── 08-项目实战/ (4篇) 09-融会贯通/ 工程化+联调+选型 (3篇)
│
├── lua-tutorial/ (7篇) Lua 教程: 简介 → 安装 → 基础 → 进阶 → 集成
│ ├── 00-lua简介.md 01-安装与环境配置.md 02-基础入门.md
│ ├── 03-进阶教程.md 04-C与C++集成.md
│   └── 05-Neovim示例.md          06-Love2D示例.md
│
├── emacs教程/ (47篇) Emacs 教程: 入门 → Elisp语言 → 配置实践 → 插件开发 → 开发环境集成 → 扩展应用 → 进阶
│ ├── emacs目录.md 总索引 + 四条学习路线(完整/从Vim迁移/极速上手/深度)
│ ├── 1入门/ (6篇) 认识Emacs/安装启动/内置教程与基本操作/配置文件从零开始/包管理与use-package/从Vim迁移
│ ├── 2Elisp语言/ (12篇) 资源与视频/求值与类型/变量作用域/函数闭包与宏/列表序列哈希表/控制流与错误处理/缓冲区文本/文本属性与Overlay/命令键位映射/Mode与Hook/包与命名空间/调试与性能
│ ├── 3配置实践/ (6篇) 配置工程化/主题字体与美化/键位系统设计/界面布局与功能位置/自定义功能开发/多机同步与分发
│ ├── 4插件开发/ (4篇) 插件结构与生命周期/编写MinorMode/编写MajorMode与语法高亮/测试打包发布MELPA
│ ├── 5开发环境集成/ (8篇) 补全与LSP/编译器集成/运行器与构建任务/调试器集成/Git与Magit/终端Shell与远程/OrgMode效率系统/主流语言实战
│ ├── 6扩展应用/ (6篇) 内置浏览器EWW/媒体播放器EMMS与MPV/虚拟机与容器管理/邮件RSS与阅读/文件管理与笔记/AI助手集成
│   └── 7进阶/ (5篇) 启动加速与性能优化/NativeComp与字节码/TRAMP远程开发/常见故障排查/生态社区与进阶路线
│
├── python/ (~60篇)              Python 教程: 入门 → 精通 → 实战 → 专项工具
│   ├── python目录.md
│   ├── 1入门/ (8篇)               2精通/ (8篇)             3实战/ (5篇)
│   ├── 4库/                       5工程化/ (6篇)           6量化分析/ (6篇)
│   ├── 7科学计算/ (5篇)           8数据可视化/ (5篇)       9图形处理/ (4篇)
│   └── 10web应用/ (5篇)           11人工智能/ (6篇)
│
├── 数据结构/ (23篇)             语言无关的数据结构教程 + DSA学习路线
│ ├── A_数组_Array → V_查找_Search (共22篇,A-V连续编号)
│ ├── C_线性表_LinearList.md 线性表 ADT + 顺序表 + 408 算法设计题
│
├── 操作系统/ (10篇) 大学本科操作系统课标 + 深入底层扩展
│ ├── 操作系统_索引.md
│ ├── A_操作系统概述 / B_进程管理 / C_线程与并发 / D_CPU调度
│ ├── E_同步与死锁 / F_内存管理 / G_内存分配器 / H_文件系统 / I_进程间通信
│ └── J_IO管理
│
├── 计算机原理/ (10篇) 大学本科计算机组成原理课标 + 深入底层扩展
│ ├── 计算机原理_索引.md
│ ├── A_数据表示 / B_缓存层级 / C_CPU架构 / D_内存层次结构 / E_指令集体系结构
│ ├── F_总线系统 / G_输入输出系统 / H_CPU数据通路与控制器 / I_流水线与指令流水
│ └── J_运算方法与运算器
│
├── 计算机网络/ (7篇) 大学本科计算机网络课标 + 深入底层扩展 (408全覆盖)
│ ├── 计算机网络_索引.md
│ └── A_体系结构 / B_物理层 / C_数据链路层 / D_网络层 / E_传输层 / F_应用层
│
├── 密码学/ (~29篇) 全领域密码学教程: 导读 + 20个专题
│ ├── 密码学导读.md 阅读起点与学习路线
│ └── 专题/ 初等数论/古典/对称/哈希/公钥/椭圆曲线/格/后量子/量子/零知识证明/同态加密/数字签名/密钥管理/秘密共享/密码协议/侧信道/工具等
│
├── 内核/ (~35篇) 四种内核 + C与Rust新时代 + Rust内核开发
│ ├── 系统内核/ (7篇) 语言运行时内核/ (7篇)
│ ├── 工具内核/ (7篇) 游戏引擎内核/ (7篇)
│ ├── Rust内核/ (6篇) Rust 在内核中的实践
│ └── 内核索引.md C与Rust的内核新时代.md
│
├── 汇编基础/ (~16篇) x86/ARM 汇编教程 + 硬件直接操作
│ ├── 汇编目录.md
│ ├── 1基础/ (4篇) 2硬件操作/ (11篇)
│
├── 数据库/ (17篇) 多数据库教学: MySQL深入9章 + 全主流数据库
│ ├── 数据库目录.md
│ ├── mysql/ (9篇) 安装配置/SQL语法/查询进阶/索引事务/权限备份/存储过程/主从复制/后端集成/性能诊断
│ ├── postgresql/ sqlite/ sqlserver/ oracle/
│ └── mongodb/ redis/ elasticsearch/
│
├── red_team/ (~186篇) 网络安全红队职业路径 (Linux 通用工具链,不依赖专用发行版)
│ ├── 网安基础知识/ (10篇) 渗透测试方法论
│ ├── 前端基础/ (34篇) 实战教程/ (13篇,含14天实训)
│ ├── 数据库安全/ (10篇) 各数据库渗透: 探测/提权/破解
│ ├── 渗透基础/ 信息收集/ 扫描与枚举/ 漏洞利用/ Web渗透/ 密码攻击/
│ ├── 权限提升/ 代理与隧道/ 无线安全/ 数字取证/ 模糊测试/ 恶意软件分析/ (48篇)
│ ├── 工具获取与环境搭建.md 工具渠道: 包管理器/GitHub/语言生态/源码/自研
│ ├── 服务器部署与运维/ (4篇) QQ Bot攻防实战
│ └── ctf_trea/ (~51篇) CTF竞赛知识库
│ ├── Web/Web前置技能/ (HTTP协议/操作系统/数据库/HTML-CSS/程序语言)
│ ├── Web/Web工具配置/ (虚拟机/BurpSuite/Chrome/WebShell/菜刀/端口扫描/远程连接/目录爆破)
│ ├── Web/信息泄露/ (目录遍历)
│ └── Web/SQL/ (注入5型 + mysql结构9场景, curl五步实操流)
│   配套自制工具: ~/hackingtools/web/注入/sqlinject (SQL注入自动化)
│
├── git.md Git 与 GitHub 终端操作指南 (17节)
├── github-settings.md GitHub 网页端设置指南(新增)
├── vim教程.md Vim 编辑器教程 (安装+快捷键+:指令大全+现代替代)
├── VSCODE的配置与使用.md VS Code 配置与使用 (安装+插件+快捷键+替代)
├── dsh.md DeepSeek Harness 教程 (安装+Web UI+Profile+插件开发与发布)
├── deepseek-harness/ (26篇) DSH框架深度教程: 认知+架构+实战+自建Harness
│ ├── deepseek-harness目录.md
│ ├── 1认知/ (3篇) 范式跃迁 + 全景 + Cordis论文精读
│ ├── 2架构/ (7篇) 内核/Profile/服务DI/事件/能力三角色/LLM适配/沙箱
│ ├── 3实战开发/ (9篇) 源码导读 + 插件全流程 + 发布
│ └── 4设计自己的Harness/ (7篇) 用Cordis从零造框架(含200行骨架源码)
├── npm.md npm 使用教程 (安装配置+版本管理+npx+进阶+排障)
├── VERSION                      项目版本号: 0.25.0
└── ISSUES.md 问题讨论与贡献指南

写在教程之前

本教程体系的目标是提供一套从 C 出发、延伸至系统底层的完整知识库,涵盖 C、C++、数据结构与算法、Linux 系统、操作系统内核、Rust 语言。我们追求的不是”一本通”的虚假承诺,而是一个结构清晰、双向链接、支持 AI 辅助学习的知识体系。

核心原则:

  1. 精简内容,深入底层 — 不在无关紧要处堆砌文字,关键节点深入讲解,其余留给读者思考。
  2. 底层至上 — C 和 C++ 不同于 Java/Python,它们靠近硬件。本教程体系涉及汇编、内存布局、指针本质等底层话题,从”CPU 看到了什么”的角度剖析。
  3. 辩论式阅读 — 希望读者带着批判态度阅读,将更多时间放在思考上。练习题的目的就是启发思考,不会就回去重想。
  4. 双链接体系 — 使用 Obsidian 双链接连接不同模块,形成计算机知识网络。
  5. 不反对也不鼓吹 AI — 自我思考是第一要务,AI 工具进行辅助。推荐读者旁边开着 AI,遇到不懂的问题先自己对 AI 解释看法让其纠正,来形成自己的理解。
  6. 实践为主,教程为辅 — 真正的工程师经验来自项目堆砌和自我踩坑。本教程体系提供结构和指引,修炼靠个人。

内核 —— 技术栈的底层基石

C 语言之所以诞生,就是为了写操作系统内核。Dennis Ritchie 在 Bell Labs 创造 C 语言时,目标就是用它重写 Unix 内核(之前用汇编)。至今,Linux 内核(3000万行)、Windows NT 内核、FreeBSD 内核、以及几乎所有嵌入式 RTOS 都是用 C 写的。

C 语言写内核的优势

  • 零成本抽象: C 的每个语法结构都直接映射到机器指令,没有隐藏的内存分配或运行时开销
  • 直接硬件访问: 指针可以映射到任意物理地址(MMIO),volatile 保证不会被优化掉
  • 可预测的内存布局: struct 的字段顺序和 padding 都是可控的
  • 无运行时依赖: 内核没有 libc,C 语言本身不需要运行时支持
  • ABI 稳定性: C ABI 是事实上的跨语言标准,Rust/C++/Zig 都通过 C ABI 互操作

新时代: C 与 Rust 的结合

传统上 C 是内核的唯一选择。但约 70% 的 CVE 安全漏洞来自内存 bug。Rust 的所有权系统在编译期消除这些 bug,同时保持零成本抽象的承诺。

Linux 6.1 开始正式支持 Rust 内核模块。未来的趋势不是 C vs Rust,而是 C AND Rust

  • C 负责成熟稳定的核心子系统(调度器、内存管理、VFS)
  • Rust 负责新开发的驱动和子系统(GPU driver、Binder、网络协议)
  • 两者通过 C ABI 的 FFI 无缝交互

详见 C与Rust的内核新时代

四种内核视角

内核类型入口代表
系统内核C语言与操作系统Linux, Windows, BSD
语言运行时内核语言运行时内核索引CRT, CPython, V8, JVM
工具内核工具内核索引SQLite, Redis, MySQL, Chromium
游戏引擎内核游戏引擎内核索引Unity, Unreal, raylib

关于刷题

从工程化培训视角来看,算法竞赛并不是本教程体系下刷题的主要目的。刷题的唯一目的是在自认为学会一个语法点或数据结构之后,去检验自己是否真的掌握了。如果你阅读本教程的初衷不是为了竞赛,或者首要目标是步入工程化开发,我们不推荐将大量时间消耗在各大题库中。本教程在各章节末尾附带少量力扣题目,用于自检即可。

关于 AI 使用:题库平台普遍有反作弊机制。用 AI 进行题目理解、思路讨论、代码审查是安全且推荐的;但直接复制 AI 生成的代码提交到平台有封号风险。无论如何,本教程不推荐将刷题数量和排名放在自我思考之上。

推荐算法资源

以下开源项目可配合本教程的 DSA 模块使用:

项目语言Stars说明
OI-wiki中文26.3k编程竞赛百科,完整知识树,做题遇到不会的先查这里
TheAlgorithms/PythonPython223k全部算法 Python 实现,教育级代码质量
TheAlgorithms/CC22.2kC 语言算法实现(本教程 C 主线的直接对照参考)
TheAlgorithms/C-Plus-PlusC++34.5kC++ 算法实现(本教程 C++ 主线的直接对照参考)
TheAlgorithms/JavaJava66kJava 算法实现
TheAlgorithms/RustRust25.9kRust 算法实现
TheAlgorithms/GoGo18.1kGo 算法实现
awesome-algorithms资源列表25.4k算法学习精选书单/课程/竞赛网站/可视化工具
Algo-AtlasC++/Py493LeetCode 2000 题/8 月刷题计划,含完整分类笔记

详细用法见 路径 D 的推荐资源章节


学习路径

以下路径按开发方向划分,覆盖 C、C++、Java、Rust、Python、Dart 六大语言方向,以及考研和渗透测试两个专业方向。

路径文件适合人群
C 开发路径-C开发系统编程/嵌入式/内核开发
C++ 开发路径-CPP开发应用开发/后端服务/游戏开发
Java 开发路径-Java开发企业级全栈开发/Spring体系
Rust 开发路径-Rust开发系统编程/内存安全/高性能
Python 开发路径-Python开发数据科学/AI/Web开发/自动化
Dart 开发路径-Dart开发移动应用/跨平台/Flutter全栈
考研路径-考研408计算机统考四科系统备考
渗透测试路径-渗透测试网络安全/渗透测试/CTF/红队攻防

本教程体系可当作类百科全书使用,内容完善但体量庞大。若作为教程从头通读,效率不高。建议按照路径文件中的推荐阅读顺序,结合索引文件进行选择性学习。同时推荐与 AI 进行问答互动学习——在自认为掌握语法或数据结构之后,去 力扣 做几道题验证即可。如遇到错误,不建议死磕,可用 AI 辅助纠正思路。


关于网络安全工作环境

网络安全知识与发行版无关。RootStack 的网安部分不依赖任何专用安全发行版——任何主流 Linux 发行版都可以搭建完整的渗透测试环境。工具从包管理器、GitHub Releases、语言包管理器(pipx/go/cargo/npm)或源码获取,也可以自己写脚本与工具。

如果你想用现成的安全发行版,主流选择有三类,仅作参考:

  1. Kali Linux(Debian 系)—— 由 Offensive Security 维护,最广为人知,工具齐全,基于 Debian 稳定版
  2. Arch 系(BlackArch 等) —— 滚动更新,工具库极大,DIY 程度高,适合熟悉 Arch 的用户
  3. Parrot OS(Debian 系,独立分支)—— 轻量、注重隐私和开发环境,CTF 场景常见

每个体系各有优劣,但它们都只是「预装了一堆工具的 Linux」。不装专用系统同样可以:任何 Linux + 自己获取的工具 + 自己写的脚本,都能完成出色的安全测试工作。工具获取与环境搭建见 工具获取与环境搭建


各模块入口速查

模块入口说明
C 语言C 教程目录入门 → 深化 → 3数据结构 → 库大全
C++C++ 教程目录基础 → 深化 → 容器库 → 功能库 → 第三方库
PythonPython 教程目录入门 → 精通 → 实战 → 库 → 工程化 → 专项工具
VimVim 编辑器教程Windows安装+快捷键大全+:指令大全+现代替代
VS CodeVS Code 配置与使用三平台安装+中文/字体配置+插件+快捷键
EmacsEmacs 教程目录从零写配置+从Vim迁移+Elisp语言教程与资源+自己写配置写插件+编译器/运行器/浏览器/播放器/虚拟机接入 (47篇)
dshDeepSeek Harness 教程安装/Web UI/Profile/插件安装与开发/发布
DSH 框架深度DeepSeek Harness 完整教程Cordis架构+论文精读+插件实战+自建Harness (26篇)
npmnpm 教程安装配置/基本使用/版本管理/npx/进阶/排障
数据结构DSA 学习路线21个主题, Phase 0→6, 力扣题目
算法技巧动态规划24个算法专题, 语言无关
内核内核总索引四种内核 + C与Rust新时代
汇编汇编基础教程基础入门 → 硬件直接操作 (16篇)
数据库数据库教学目录MySQL深入9章 + PostgreSQL/SQLite/MSSQL/Oracle/MongoDB/Redis/Elasticsearch (17篇)
Java 全栈Java 教程目录入门 → 深入 → 工程化/Spring全家桶 (48篇), 路径G
Dart/FlutterDart 教程目录入门 → 深入 → 框架(Flutter/服务端/游戏/Web) → 工程化 (34篇)
多语言工程化多语言工程化目录多人多语言项目统筹: 协作/构建/协议/测试/K8s/交付 (30篇)
前端开发前端引导阅读HTML/CSS/JS/TS + Vue/React/Angular + 可视化, 按需路线 (~91篇)
渗透测试工程师红队知识库总目录Linux 通用渗透体系, ~186篇, 职业路径
AI AgentAI_Agent工具使用教程编码 Agent 工具推荐、安装、使用哲学

力扣即时练习

本教程体系以 力扣 (LeetCode) 为推荐的日常练习平台。各语言基础、数据结构章节末尾附带对应力扣题目类型指引。

学习路线 → 力扣 (适合求职/工程/理解数据结构)
竞赛路线 → 洛谷 + Codeforces + POJ/HDU + AtCoder (适合走算法竞赛的选手)

郑重提醒:刷题的意义在于自检,不在于数量和排名。每学完一个主题做 2-4 道题验证理解即可。关于 AI 与刷题的边界:用 AI 讨论题目思路是好的,但直接复制 AI 生成的代码提交有被检测和封号的风险。


快速参与贡献

RootStack 欢迎任何人贡献内容、修正错误或提出建议。

网页端操作(无需安装 Git)

  1. Fork 本项目 — 打开 GitHub 项目页,点击右上角 Fork 按钮
  2. 提建议 — 点击仓库上方的 Issues 标签 → New Issue,描述你的问题或想法
  3. 在线修改并提交 PR — 在 GitHub 网页上浏览到要修改的文件,点击 编辑按钮 → 修改 → Commit changes → 选择 Create a new branchPropose changes → 点击 Create Pull Request
  4. Fork 后如何同步上游 — 在 GitHub 网页上,你的 fork 仓库页点击 Sync forkUpdate branch

终端操作(专业流程)

详见 Git 与 GitHub 终端操作指南,包含从安装到 PR 合并的完整教程。

# 极简流程:Fork → Clone → 修改 → PR
git clone https://github.com/你的用户名/RootStack.git
cd RootStack
git remote add upstream https://github.com/原项目名/RootStack.git
git checkout -b my-feature
# 修改文件...
git add .
git commit -m "说明你的修改"
git push origin my-feature
# 然后去 GitHub 网页点 "Compare & pull request"

Git 安装(各平台)

平台安装命令备注
Linux (Debian/Ubuntu)sudo apt install git
Linux (Arch)sudo pacman -S git
macOSbrew install git也可从 git-scm.com 下载 .dmg
Windowswinget install Git.Git 或从 git-scm.com 下载 exe

作者观点:推荐使用终端里的原生 Git,而不是 git.exe 或 IDE 内置的 Git GUI。终端 Git 给你完整的能力、一致的跨平台体验,以及对每一步操作的掌控感。图形化的 Git 工具适合查看历史,但日常操作建议回归命令行。


近期任务

主要是两大任务,完善数据结构章节,与完善系统运维章节。
本教程虽然是整合了已有的开源知识,但大部分需要手动筛查和优化,即使有AI辅助也很难做完。另外本教程还有一些是没有被开源的教程,需要自己去探索撰写。


维护日志


致谢

本教程体系的开发过程中使用了以下 AI 辅助工具:

  • opencode — 项目重构与内容批量处理
  • Claude Code — 方案设计、内容编写与代码审查

AI 生成内容声明:本教程中由 AI 辅助生成的内容包括:GIF 动态图片、结构图、相关开源知识库/项目仓库/书籍的搜索整理、文件路径整理与归纳。其余内容由作者人工编写与审核。

感谢所有通过 问题讨论区 和 Pull Request 参与贡献的读者。