- 发布于
全栈学习路线:从计算机基础到 AI 应用
- 作者

- 姓名
- Corner430
- 社交账号

1 前言
技术自学最大的困境不是资源太少,而是太多。GitHub 上随便一搜就是几十个 awesome list,每个 list 里又是几百个链接——看着很爽,收藏了等于学了,然后就没有然后了。
本文梳理了一条完整的技术成长路线,从计算机基础一路推进到 AI 应用与工程实践,共 17 个阶段,分为 5 大支柱:
- CS 基础(阶段 1-4):计算机基础、Git 与工具链、C++ 语言、代码规范与工程素养
- 数据结构与设计(阶段 5-6):数据结构与算法、系统设计
- 软件工程(阶段 7-11):前端开发、Java 后端、Go 语言、数据库、架构与设计模式
- AI/ML(阶段 12-16):Python 与数学基础、经典机器学习、深度学习、PyTorch 实战与 CV/NLP、模型压缩与大模型应用
- 工程实践(阶段 17):DevOps、测试、容器、安全基础
每个阶段精选最值得投入时间的资源,附上学习建议和实战项目参考。
如何使用这条路线:
- 阶段 1-6 是所有方向的公共基础,建议按顺序完整走完
- 阶段 7-11(软件工程)和阶段 12-16(AI/ML)可根据职业方向选择性深入
- 每个阶段的资源分「核心」和「扩展」,时间有限先啃核心
- 遇到困难回退到上一阶段补基础,比死磕效率高
- 阶段 17(工程实践)贯穿始终,越早养成越好
前置条件:会用电脑,最好掌握任意一门编程语言的基本语法。
1.1 推荐学习路径
不同方向的读者,可以选择不同路径:
- 路径 A(后端工程师):1-6 → 8-10 → 7 → 11 → 17
- 路径 B(AI 工程师):1-6 → 12-14 → 10 → 15-16 → 17
- 路径 C(全栈 + AI):1-6 → 7 → 12-13 → 8 → 14-16 → 10-11 → 17
路径 C 最全面但时间投入也最大。建议先选一条主路径走通,再回头补另一条线。
2 学习路线全景图

17 个阶段,从基础到进阶:
| 阶段 | 支柱 | 主题 | 产出目标 |
|---|---|---|---|
| 1 | CS 基础 | 计算机基础 | 理解 OS / 网络 / 体系结构 |
| 2 | CS 基础 | Git 与工具链 | 熟练使用 Git,掌握开发者基本工具 |
| 3 | CS 基础 | C++ 语言 | 熟练使用 C++17 |
| 4 | CS 基础 | 代码规范与工程素养 | 从第一行代码养成好习惯 |
| 5 | 数据结构与设计 | 数据结构与算法 | 刷完 200+ LeetCode |
| 6 | 数据结构与设计 | 系统设计 | 能设计常见分布式系统 |
| 7 | 软件工程 | 前端开发 | 能用 Next.js / Vue 搭建完整应用 |
| 8 | 软件工程 | Java 后端 | 掌握 Spring 生态 |
| 9 | 软件工程 | Go 语言 | 能用 Go 写高并发服务 |
| 10 | 软件工程 | 数据库 | 精通 MySQL,理解向量检索 |
| 11 | 软件工程 | 架构与设计模式 | 掌握 DDD / CQRS / 微服务 |
| 12 | AI/ML | Python 与数学基础 | 掌握 Python 常用库 + 线性代数 |
| 13 | AI/ML | 经典机器学习 | 能手写 LR / SVM / 决策树 |
| 14 | AI/ML | 深度学习 | 理解 CNN / RNN / Transformer |
| 15 | AI/ML | PyTorch 实战与 CV/NLP | 能独立训练模型 + 复现论文 |
| 16 | AI/ML | 模型压缩与大模型应用 | 理解蒸馏 / 量化 + 搭建 RAG |
| 17 | 工程实践 | DevOps、测试与安全 | CI/CD + 容器 + 测试策略 + 安全意识 |
阶段 1-6 是公共基础。阶段 7-11 和 12-16 可根据兴趣并行推进(参考上面的推荐路径)。阶段 17 贯穿始终,越早养成越好。
3 计算机基础(阶段 1)

操作系统、计算机网络、组成原理——这三门课是 CS 的地基。不需要每门都学到专家级,但需要建立基本的心智模型。
3.1 一站式教材
- cs-self-learning ★72k — 北大学长的计算机自学指南。覆盖所有核心课程,不只是列资源,还给出了选课建议和学习顺序。如果只看一个仓库,就是这个。
- CS-Notes ★184k — 面试必备基础知识。把 OS、网络、数据库、算法的核心概念浓缩成一份笔记,适合快速建立全局观。
3.2 图解系列
3.3 经典课程
| 课程 | 来源 | 亮点 |
|---|---|---|
| CSAPP 配套实验 | CMU | 《深入理解计算机系统》实验,hands-on |
| 操作系统 (蒋炎岩) | 南京大学 | 国内最佳 OS 课之一 |
| CS144 计算机网络 | Stanford | 手写 TCP 协议栈 |
| 计算机体系结构 | MIT OCW | 从门电路到处理器 |
3.4 学习建议
重点学 OS + 网络 + 组成原理入门(至少理解冯诺依曼架构和内存层次结构,这对后续学 C++ 理解内存模型很关键)。数据库基础在阶段 10 会系统学习,这里了解 SQL 基本语法即可。cs-self-learning 给出了每门课的推荐教材和视频,跟着走就行。
4 Git 与工具链(阶段 2)
Git 是所有阶段都依赖的基础技能。从第一行代码开始就应该用 Git 管理。越早学,后面越省心。
4.1 Git 入门
- Pro Git — 免费在线电子书,Git 官方推荐。前 3 章(基础、分支、远程)足够日常使用。
- Learn Git Branching — 交互式 Git 教程,用可视化方式理解分支、合并、rebase。
4.2 开发者工具
| 资源 | 描述 |
|---|---|
| The Missing Semester | MIT 开发者工具课(Shell、Git、Vim 等) |
| explainshell.com | 输入命令,逐段解释每个参数 |
4.3 学习建议
先学
git init / add / commit / push / pull / branch / merge这几个核心命令,然后在后续每个阶段的学习中持续使用。不需要一上来就学 rebase 和 cherry-pick——用到再学。推荐配合站内的 Lazygit 完全指南 提升效率。
5 C++ 语言(阶段 3)

C++ 是学习计算机底层原理的最佳语言——它让你直面内存管理、对象模型、编译过程,同时又提供了现代高级特性。
5.1 主教材
- C++ Primer(第 5 版)— 公认的 C++ 最佳入门书。系统覆盖 C++11 特性,适合作为主线教材从头学到尾。
5.2 在线教程
- CPlusPlusThings ★43k — C++ 那些事。从基础语法、STL、设计模式到并发编程、C++11/14/17 新特性,体系完整,中文讲解。
- interview ★38k — C/C++ 技术面试基础知识总结。覆盖语言、数据结构、算法、OS、网络,适合学完基础后查漏补缺。
5.3 现代 C++
- modern-cpp-tutorial ★25k — 《现代 C++ 教程》。C++11/14/17/20 On the Fly,从传统 C++ 到现代特性的快速过渡。在线阅读
- cppinsights ★4.5k — C++ Insights:用编译器的视角看代码。输入一段 C++ 代码,展示编译器实际生成的内容——理解 auto、lambda、range-for 背后发生了什么。在线使用
5.4 模板与元编程
- CppTemplateTutorial ★11k — 把 C++ Templates 当作图灵完备语言来讲的中文教程。帮助你对模板元编程融会贯通。
5.5 高性能实战
- HighPerformanceConcurrentServer ★545 — 基于 C++11 的高性能并发 HTTP 服务器。涵盖日志、线程池、内存池、定时器、网络 IO、HTTP、数据库连接,模块间低耦合高内聚。学完 C++ 基础后的最佳练手项目。
5.6 在线工具与参考
| 资源 | 描述 |
|---|---|
| cppreference.com | C++ 标准库参考,最权威 |
| Compiler Explorer | 在线查看 C++ 编译产物,支持多编译器对比 |
| C++ Core Guidelines | Bjarne Stroustrup & Herb Sutter 编写的编码规范 |
| CppCon | C++ 大会演讲视频(YouTube) |
| LearnCpp.com | 从零学 C++ 的免费在线教程 |
5.7 学习建议
建议用 C++ Primer 作为主教材打基础,配合 CPlusPlusThings 查漏补缺。学完基础后尽快进入现代 C++(changkun 教程),不要在 C++98 上花太多时间——现代 C++ 写起来完全不一样。模板元编程是进阶内容,初学可跳过。遇到不确定的语法,第一时间查 cppreference,不要靠猜。
6 代码规范与工程素养(阶段 4)
好代码不只是「能跑」,更要「能读」。代码规范是团队协作的基础,也是从「写代码」到「做工程」的分水岭。学完 C++ 基础语法后马上养成规范习惯,效果最佳。
6.1 代码规范
- zh-google-styleguide ★11k — Google 开源项目风格指南中文版。涵盖 C++、Python、Shell、JSON 等语言的编码规范。
6.2 经典著作
| 书名 | 描述 |
|---|---|
| Google C++ Style Guide | Google C++ 编码规范(英文原版) |
| The Pragmatic Programmer | 《程序员修炼之道》— 软件工程思维 |
| Clean Code | 《代码整洁之道》— 写出可读代码 |
6.3 学习建议
从第一行代码就养成好习惯。选一份风格指南(推荐 Google Style)严格遵守,比之后再改习惯容易得多。代码规范不是束缚,而是让你把注意力从「这里要不要加空格」转移到「这个设计对不对」。
7 数据结构与算法(阶段 5)

算法能力是程序员的硬通货。不管做前端、后端、AI 还是系统开发,面试绕不开,工作中也经常用到。
7.1 系统教程
- hello-algo ★125k — 《Hello 算法》。动画图解、一键运行,支持 C++ / Java / Python / Go 等 12 种语言。从零开始讲数据结构和算法,是目前最好的中文入门教材。在线阅读
- LeetCode-Book ★8.2k — 《图解算法数据结构》+《剑指 Offer》题解,同一作者的进阶配套。
7.2 刷题方法论
- fucking-algorithm ★133k — 「labuladong 的算法笔记」。不只教 how,更教 why——用框架思维解题,一通百通。在线阅读
- leetcode-master ★61k — 《代码随想录》。精选 200 道经典题,按类型排序(数组、链表、树、回溯、动态规划……),配详细图解和视频。在线阅读
7.3 可视化题解
- LeetCodeAnimation ★77k — 用动画呈现 LeetCode 题解,把抽象的算法过程变成直观的动态演示。
7.4 题解参考
- leetcode(azl) ★56k — LeetCode 题解记录,按难度和类型分类。
- leetcode(doocs) ★36k — 多语言 LeetCode 题解(C++ / Java / Python / Go / TS),同一道题多种语言对比。
7.5 在线工具
| 资源 | 描述 |
|---|---|
| VisuAlgo | 数据结构与算法可视化 |
| LeetCode 力扣 | 刷题平台 |
| OI Wiki | 信息学奥赛 Wiki,算法百科全书 |
| Sorting Visualizer | 排序算法可视化 |
7.6 学习建议
hello-algo 入门 → 代码随想录按分类刷 → labuladong 理解框架思维。不要追求题量,200 道高质量题胜过 500 道无脑刷。如果 C++ 语法成为做题的阻碍,可以先用 Python 理解算法思路,再用 C++ 重写一遍作为语言练习。每道题先自己想 15 分钟,想不出来再看题解——算法能力来自痛苦的思考过程,不是看答案的速度。
8 系统设计(阶段 6)

系统设计是把前面学到的所有知识综合运用的阶段。它考验的不是单点知识,而是全局视野。
8.1 系统设计入门
- system-design-primer ★342k — GitHub 上最热门的仓库之一。系统性讲解可扩展性、缓存策略、负载均衡、数据库分区、消息队列、微服务等核心概念,附 Anki 记忆卡。
8.2 Linux 内核
- linux_kernel_wiki ★7.5k — Linux 内核学习资料:200+ 经典文章、100+ 内核论文、50+ 内核项目、500+ 面试题。深水区资源,有兴趣再钻研。
8.3 经典著作与课程
| 资源 | 描述 |
|---|---|
| Designing Data-Intensive Applications | 《DDIA》分布式系统经典,必读 |
| ByteByteGo | Alex Xu 的系统设计图解 |
| System Design Interview (YouTube) | 系统设计面试视频讲解 |
| MIT 6.824 分布式系统 | 分布式经典课程(进阶,建议有项目经验后再学) |
8.4 学习建议
system-design-primer 是核心主线,建议通读一遍建立全局观。DDIA 和 6.824 是进阶内容——如果你还没写过实际后端项目,建议先去做阶段 7-9 的实战,有了工程经验后回来读 DDIA,体感完全不同。先学概念(缓存、负载均衡、消息队列),项目中遇到了再深入细节。
9 前端开发(阶段 7)
全栈能力意味着你不只能写后端逻辑,还能做出用户看得见、摸得着的产品。前端是连接技术与用户体验的桥梁。
9.1 Web 基础
前端框架再花哨,底层还是 HTML / CSS / JavaScript。零基础建议先打底:
- MDN Web Docs — Mozilla 维护的 Web 技术权威参考。HTML、CSS、JavaScript 教程质量极高。
- freeCodeCamp — 全球最大的免费编程学习平台。前端课程从 HTML/CSS 基础到 React,全程交互式练习。
9.2 TypeScript
现代前端开发几乎是 TypeScript 标配。Next.js 项目默认使用 TypeScript,不学会很吃亏:
- TypeScript 官方文档 — 从 JavaScript 到 TypeScript 的官方迁移指南,写得很好。
9.3 React + Next.js
- React 官方文档 — React 18+ 的交互式教程,从组件、状态管理到 Hooks,官方出品质量最高。
- Next.js Learn — Next.js 官方教学课程。手把手从零搭建全栈应用,覆盖路由、数据获取、SSR/SSG、API Routes。
- Tailwind CSS — Utility-first CSS 框架。告别手写 CSS,用类名组合快速构建界面。
9.4 Vue
- Vue.js 官方教程 — Vue 3 交互式教程。Composition API 是重点,Options API 了解即可。
- Vite — 下一代前端构建工具,Vue 3 项目的默认选择。极快的冷启动和热更新,也支持 React。
- VueUse — Vue Composition API 工具集。200+ 个即插即用的 composable 函数。
9.5 小程序
- 微信小程序官方文档 — 入门必读。原生开发使用 WXML / WXSS / JS,配合 CloudBase 云开发可实现全栈。
9.6 学习建议
先用 MDN 或 freeCodeCamp 学 HTML / CSS / JS 基础 → 学 TypeScript → 再进入 React + Next.js(生态最大、就业面最广)。第一个项目做一个个人博客或作品集网站。掌握 React 后再看 Vue 会很快。小程序适合做 C 端产品练手。
实战项目:ai-blog 是一个基于 Next.js 15 + React 19 + TypeScript + Tailwind CSS 4 的技术博客,集成了 AI 语义搜索(embedding + cosine similarity)和 AI 封面生成功能,使用 Contentlayer2 做类型安全的 MDX 内容管理。
10 Java 后端(阶段 8)

Java 是企业级后端开发的主流选择。这个阶段的目标不只是学语言,更是掌握后端工程体系——Spring 生态、数据库、缓存、消息队列、分布式。
10.1 一站式指南
10.2 进阶专题
- advanced-java ★79k — 互联网 Java 工程师进阶。涵盖高并发(消息队列、搜索引擎、缓存)、分布式(分布式锁、分布式事务、分布式 ID)、高可用(限流、熔断、降级)。
10.3 Spring 源码
- spring-reading ★10k — Spring 框架源码深度解读。涵盖 IOC 容器、AOP、事务管理、MVC、Boot 自动配置、事件机制、缓存抽象、响应式编程。
10.4 前沿方向
- Spring Boot 3 + Spring Cloud:微服务标配,搭配 OpenFeign(声明式 HTTP 调用)、MyBatis(ORM)、MapStruct(对象映射)构建完整的后端体系。
- Spring AI + MCP 协议:Spring 生态的 AI 集成新方向。通过 MCP(Model Context Protocol)协议对接多种大模型,支持多 Agent 工作流(StateGraph 编排多个 AI Agent 协作完成复杂任务),实现 AI 驱动的后端服务。
10.5 在线资源
| 资源 | 描述 |
|---|---|
| Java 官方教程 | Oracle 官方入门 |
| Baeldung | Java / Spring 实战教程,质量极高 |
| Spring 官方文档 | Spring Boot 官方 |
10.6 学习建议
JavaGuide 当路线图和查漏补缺工具。学 Java 不要只学语法——Java 的价值在于它的生态。先用 Spring Boot 写一个 CRUD 项目(用户管理、博客系统),然后逐步引入 Redis 缓存、Kafka 消息队列。Spring 源码不是入门阶段该看的,遇到问题再读源码。
实战项目:FamBank 是一个微信小程序家庭记账应用,使用 CloudBase 云函数 + MySQL 后端,全链路采用 BigInt(分)处理金额避免浮点精度问题,用 MySQL Advisory Lock 解决并发结算。
11 Go 语言(阶段 9)

Go 语言简洁高效,是云原生时代的宠儿。Docker、Kubernetes、etcd 都是用 Go 写的。有 C/C++ 基础的话上手极快。
11.1 入门教程
- the-way-to-go_ZH_CN ★35k — 《Go 入门指南》中文译本。系统介绍 Go 语言的方方面面,从基础语法到并发编程。
- GoGuide ★3.2k — Go 语言学习指南。涵盖 Go 教程、开源书籍、入门教程、学习路线,零基础友好。
11.2 Go 生态工具
学语言只是起点,真正的 Go 工程需要掌握这些工具:
| 工具 | 描述 |
|---|---|
| GORM | Go 的 ORM 框架,类似 Java 的 MyBatis |
| Wire | Google 出品的依赖注入工具 |
| zerolog | 零内存分配的结构化日志库 |
| ants | 高性能 goroutine 池 |
| gRPC-Go | Google 的高性能 RPC 框架 |
| Protobuf | 跨语言序列化协议,gRPC 的基础 |
结构化日志是 Go 工程的必修课。好的日志不只是 log.Println,而是带有结构化字段(JSON 格式)、统一的消息语言、可搜索的字段名。在生产环境调试问题时,结构化日志的价值远超 fmt.Println。
11.3 在线资源
| 资源 | 描述 |
|---|---|
| Tour of Go | 官方交互式入门教程 |
| Go by Example | 通过示例学 Go |
| Go 官方文档 | 官方文档入口 |
| topgoer.com | Go 中文学习网,覆盖基础到微服务 |
| Effective Go | 官方最佳实践指南 |
| Go 语言设计与实现 | 深度剖析 Go 运行时(进阶) |
11.4 学习建议
Go 语法简洁到几乎不需要教程——先跑 Tour of Go 熟悉语法,再通过 Go by Example 熟悉常用模式,然后直接写项目。Go 的学习曲线在并发模型(goroutine + channel),而不是语法。有 C/C++ 基础的话,重点关注 Go 与 C++ 的差异:GC、接口鸭子类型、error 处理、没有继承。
实战项目:hk-stock 是一个 Go 语言编写的港股量化交易系统,使用多因子评分模型 + 5 个大模型集成(加权投票决策),实现了分层风控机制。
12 数据库(阶段 10)
数据库是后端的根基。写 CRUD 谁都会,但要在高并发、高可靠的生产环境下正确使用数据库,需要深入理解其内部机制。
12.1 MySQL 核心
| 资源 | 描述 |
|---|---|
| MySQL 官方文档 | 权威参考,遇到问题先查这里 |
| MySQL 实战 45 讲 | 丁奇(林晓斌)的经典课程 |
| High Performance MySQL | 《高性能 MySQL》第 4 版 |
12.2 Redis
后端开发离不开缓存。Redis 是最常用的内存数据库:
- Redis 官方文档 — 入门教程 + 命令参考
- Redis 设计与实现 — 黄健宏的经典中文书,深入 Redis 内部数据结构
进阶:生产环境常用 多级缓存(本地缓存如 Caffeine + 分布式缓存 Redis),减少网络往返,提高热点数据访问速度。
12.3 NoSQL 与搜索引擎
MySQL 不是唯一的选择。不同场景需要不同的数据库:
- MongoDB:文档型数据库,适合数据结构灵活多变的场景(日志、配置、非结构化内容)。MongoDB 官方文档
- Elasticsearch:分布式搜索与分析引擎,适合全文搜索、日志分析、实时统计。Elasticsearch 官方文档
- ClickHouse:列式 OLAP 数据库,适合海量数据的聚合分析(报表、供需匹配、大宽表查询)。当 MySQL 跑不动复杂分析 SQL 时,ClickHouse 是首选。ClickHouse 官方文档
12.4 进阶模式
真实项目中经常用到的数据库模式:
- Advisory Lock(顾问锁):MySQL 的
GET_LOCK()可以实现应用层分布式锁,比SELECT ... FOR UPDATE更灵活,适用于并发结算、定时任务互斥等场景。 - BigInt 金额处理:金融场景永远不要用浮点数存钱。用 BigInt 存「分」(或更小单位),全链路整数运算,展示时再除以 100。这是血的教训。
- 分段错误码:按服务分配错误码段(如 10000-19999 是用户服务,20000-29999 是订单服务),方便排查问题来源。
- 连接池管理:连接池大小、超时时间、空闲连接回收策略直接影响系统吞吐量。
- 分库分表:当单表数据量超过千万级,需要考虑水平拆分。ShardingSphere 是 Java 生态最成熟的分库分表中间件。
- 消息队列:Kafka 用于高吞吐日志/事件流,ZeroMQ 适合低延迟进程间通信。消息队列是微服务解耦的核心基础设施。
12.5 向量检索
传统数据库处理精确匹配,向量数据库处理「语义相似」。两者结合是 AI 时代后端的标配:
- Embedding 生成:用大模型将文本转为高维向量
- Cosine Similarity:计算向量间的余弦相似度做语义搜索
- 增量更新策略:通过 content hash 比较,只对变更内容重新生成 embedding,避免全量计算
- PostgreSQL + pgvector:如果需要在关系数据库中原生支持向量搜索,pgvector 是目前最成熟的方案
12.6 学习建议
先学 CRUD 和基本索引 → 再学查询优化(EXPLAIN 是你最好的朋友)→ 然后学事务隔离级别和锁机制 → 最后学高可用(主从复制、分库分表)。不要跳步,每一层都建立在前一层之上。
实战项目:mysql-crash-course-interactive 是一个 298 行的交互式 MySQL 学习工具,用 Shell 脚本实现自动化教学环境搭建。FamBank 展示了 Advisory Lock + BigInt 金额在家庭记账场景的实战应用。ai-blog 则展示了 embedding 向量搜索的完整实现。
13 架构与设计模式(阶段 11)
当项目复杂度超过一个人能在脑子里装下的程度时,架构就成了刚需。好的架构不是一开始设计出来的,而是在不断迭代中演化出来的——但你需要先知道有哪些模式可用。
13.1 DDD(领域驱动设计)
DDD 的核心思想是让代码结构反映业务领域,而不是按技术分层。想象一个电商系统——与其把代码分成 controller/ service/ dao/(按技术分),不如分成 order/ payment/ inventory/(按业务分)。经典的 4 层架构:
Interface(接口层)→ Application(应用层)→ Domain(领域层)← Infrastructure(基础设施层)
关键原则:
- 领域层纯净:Domain 层不依赖任何基础设施(不 import 数据库、不 import HTTP 框架)。这是 DDD 最核心的一条——如果你的 Domain 层 import 了 GORM 或 MyBatis,说明方向偏了。
- 值对象不可变:金额、地址、时间范围等用不可变对象表示(Go 用 readonly struct,Java 用 record,Python 用 frozen dataclass)
- 聚合根:一组相关对象通过聚合根统一管理,外部只能通过聚合根访问
- 限界上下文:不同业务模块各自定义自己的领域模型,即使名字相同(比如「用户」在订单系统和权限系统中含义不同)
13.2 CQRS(命令查询职责分离)
读和写走不同的模型和数据通道。写操作通过命令(Command)修改状态,读操作通过查询(Query)直接从读模型获取。适用于读写比例悬殊的场景。
13.3 设计模式实战
- 策略 + 工厂:不同业务类型用不同处理策略,工厂根据类型创建对应策略实例。比纯 if-else 更易扩展。
- 处理器链 / 管道过滤器:请求经过一系列处理器依次处理(日志 → 认证 → 限流 → 业务逻辑)。Spring 的 Filter Chain、Go 的中间件都是这个模式。
- SPI 扩展点:定义接口,通过配置或注解注册实现类,支持插件式扩展。
13.4 微服务架构
- 服务拆分:按业务领域(不是按技术层)拆分服务
- 服务间通信:REST(OpenFeign)、gRPC + Protobuf(高性能二进制序列化,适合内部服务间调用)、消息队列各有适用场景
- API 网关:统一入口,处理认证、限流、路由
13.5 推荐阅读
| 书名 | 作者 | 描述 |
|---|---|---|
| Domain-Driven Design | Eric Evans | DDD 开山之作 |
| Patterns of Enterprise Application Architecture | Martin Fowler | 企业应用架构模式 |
| Building Microservices | Sam Newman | 微服务设计实战 |
| Clean Architecture | Robert Martin | 整洁架构 |
13.6 学习建议
DDD 不是读完书就会的——它需要在实际项目中反复实践。如果你还没有经历过「代码太乱改不动」的痛苦,可以先跳过这个阶段,等有了 1-2 个中等规模项目经验后再回来。入门练习:从一个小项目开始,定义领域模型 → 区分实体和值对象 → 保持领域层纯净 → 让基础设施层依赖领域层(而不是反过来)。
14 Python 与数学基础(阶段 12)

进入 AI/ML 领域前,需要两个前置条件:Python 编程能力和数学基础。如果从阶段 6 直接进入 AI 路线,Python 对你来说会比 C++ 简单很多,专注于 NumPy / Pandas 生态即可。
14.1 Python 系统教程
- Python-100-Days ★181k — 「Python 100 天从新手到大师」。从基础语法、函数、面向对象,到 NumPy / Pandas 数据分析、Web 开发,内容覆盖全面,中文讲解。前 30 天的内容足够支撑后续 ML 学习。
14.2 线性代数
- The-Art-of-Linear-Algebra ★21k — Gilbert Strang《线性代数》的图解笔记。把抽象概念变成直觉,强烈推荐作为入门第一站。
- 矩阵力量 ★9.8k — 「鸢尾花书」系列第四册。从加减乘除讲到特征值分解,全程配 Python 可视化代码。
14.3 概率与统计
- 统计至简 ★3.6k — 「鸢尾花书」系列第五册。用可视化方式讲概率分布、贝叶斯、假设检验,降低抽象感。
14.4 Python Web 后端(进阶)
Python 不只是 ML 的前置语言,也是现代 Web 后端的强力选择:
- FastAPI — 基于类型提示的现代 Python Web 框架,自带 OpenAPI 文档生成,异步性能优异。搭配 Uvicorn(ASGI 服务器)和 Pydantic(数据校验)构成完整的后端体系。
FastAPI 的优势在于:类型安全(Pydantic 自动校验请求/响应)、异步原生(async/await 一等公民)、API 文档自动生成。如果你需要快速搭建一个 Python 后端服务,FastAPI 是首选。
14.5 学习建议
Python:不需要 100 天全部学完。重点掌握:基础语法(变量、控制流、函数、类)→ 文件操作 → NumPy / Pandas / Matplotlib。这三块是 ML 的前置依赖。边学边写小脚本练手,不要只看不写。如果走后端方向,学完基础后可以直接上手 FastAPI。
数学:不要死记公式,重点培养几何直觉。比如矩阵乘法就是空间变换,特征值就是变换的「不动方向」。善用可视化工具(matplotlib、GeoGebra),画出来比推十遍公式有效。
15 经典机器学习(阶段 13)

先理解经典 ML 再学深度学习,否则容易「只会调库,不懂原理」。西瓜书(周志华《机器学习》)是中文圈最经典的教材。
15.1 教材与习题
- MachineLearning_Zhouzhihua_ProblemSets ★1.7k — 西瓜书课后习题的 NumPy / Pandas 实现。光看书不做题等于没学。
15.2 实战代码
- Machine-Learning ★10k — Python3 机器学习实战。覆盖 kNN、决策树、贝叶斯、逻辑回归、SVM、线性回归、树回归,每个算法从零实现。
15.3 可解释性(进阶)
- InterpretableMLBook ★4.9k — 《可解释的机器学习》中文翻译。理解模型为什么这样预测,比单纯提高准确率更有价值。
15.4 学习建议
重点理解偏差-方差权衡、过拟合、交叉验证这三个概念。它们贯穿整个 ML/DL 生涯。建议先跑通代码看到结果,再回头理解数学推导——有了感性认识,公式就不再抽象。
16 深度学习(阶段 14)

这是 AI 路线的核心阶段。D2L(动手学深度学习)是当之无愧的首选教材——交互式、有代码、有视频、有社区。
16.1 系统教材
- d2l-zh ★77k — 《动手学深度学习》(李沐等著)。被全球 500+ 所大学用于教学。覆盖 MLP、CNN、RNN、注意力机制、Transformer、优化算法、计算机视觉、自然语言处理。在线阅读 | 配套视频
- DeepLearning(花书笔记) ★7.6k — Goodfellow《深度学习》(花书)的数学推导 + 源码级代码实现。适合在 D2L 之后深入理论。
16.2 资源汇总
- DeepLearning(资源大全) ★17k — 深度学习入门教程、优秀博客、经典论文的汇总目录。遇到某个具体主题不理解时来这里找补充材料。
16.3 论文精读
- paper-reading ★33k — 李沐的论文精读系列。逐段精读经典论文(ResNet、Transformer、BERT、GPT 等),配视频讲解。从「读不懂论文」到「能独立读论文」的桥梁。
16.4 学习建议
D2L 是这个阶段的主线,建议完整跟一遍。关键是:跑代码、改参数、看效果变化。不要只看书和视频——深度学习的直觉来自实验,不是推导。论文精读可以在学完 D2L 的 CNN 和 Transformer 章节后穿插进行。
17 PyTorch 实战与 CV/NLP(阶段 15)
17.1 PyTorch 框架

D2L 已经教了 PyTorch 基础,这个阶段的目标是熟练掌握框架,能脱离教材独立写项目。
官方资源:
- pytorch/tutorials ★9.1k — 官方教程仓库。从「60 分钟入门」到高级主题(分布式训练、量化、TorchScript)。
- pytorch/examples ★24k — 官方示例集。覆盖 Vision、Text、Reinforcement Learning,每个示例都是可运行的完整项目。
- PyTorch 官方文档 — API 参考。
中文教程:
- pytorch-handbook ★22k — PyTorch 中文手册。系统介绍各模块的使用。
- PyTorch-Tutorial-2nd ★4.5k — PyTorch 实用教程第二版。从零基础入门到 CV / NLP / LLM 项目应用。
- pytorch-tutorial(yunjey) ★32k — 极简 PyTorch 教程。用最少的代码展示核心概念。
核心模块速查:
| 模块 | 描述 | 文档 |
|---|---|---|
| autograd | 自动微分引擎 | 反向传播的核心 |
| nn.Module | 神经网络模块基类 | 所有网络层的父类 |
| nn.functional | 函数式接口 | 激活函数、损失函数等 |
| optim | 优化器 | SGD、Adam、AdamW 等 |
| DataLoader | 数据加载 | 批量化、打乱、多进程加载 |
| TorchVision | 计算机视觉工具包 | 预训练模型、数据集、变换 |
17.2 PyTorch 学习建议
先跑官方教程的「60 分钟入门」,然后尝试从零写一个完整训练循环(不用任何高层封装):加载数据 → 定义模型 → 前向传播 → 计算损失 → 反向传播 → 更新参数 → 验证。能手写这个循环,说明你真正理解了 PyTorch。
17.3 计算机视觉

计算机视觉是深度学习最成熟的应用领域。这个阶段不只是学模型,更要学会读论文、复现论文。
- segment-anything ★54k — Meta 的 SAM(Segment Anything Model)。「分割一切」的基础模型,代表了 CV 领域 foundation model 的方向。代码清晰,适合精读。
- CVPR2026-Papers-with-Code — CVPR 2026 论文 + 代码合集。跟踪顶会最新成果。
- Bringing-Old-Photos-Back-to-Life ★16k — 微软的老照片修复项目(CVPR 2020 oral)。既有学术价值又有趣味性,很适合作为「第一个复现项目」。
17.4 NLP 基础
D2L 已经覆盖了 Transformer 和注意力机制的理论,但在进入大模型(阶段 16)之前,建议补充 NLP 的基础知识:
- 词嵌入:Word2Vec、GloVe — 理解「词向量」的概念,这是后续所有 NLP 模型的基石
- Seq2Seq + 注意力:编码器-解码器架构 — 机器翻译的经典范式
- 预训练语言模型:BERT(理解双向编码)、GPT 系列(理解自回归生成)— 大模型的前身
D2L 的 NLP 章节和李沐的论文精读(Transformer、BERT、GPT 论文)可以作为这部分的学习材料。
站内相关文章:对比学习(Contrastive Learning)
17.5 CV/NLP 学习建议
选一个方向深入:CV 选一篇经典论文从头复现(不要只跑 demo,要读懂模型架构、损失函数、数据增强);NLP 则重点理解 Transformer → BERT → GPT 的演进脉络,为下一阶段的大模型学习打基础。
实战项目:Knowledge-Distillation 是一个计算机视觉领域的模型压缩研究项目,涉及知识蒸馏的多种方法实现与对比实验。
18 模型压缩与大模型应用(阶段 16)

18.1 知识蒸馏与模型压缩
当模型越来越大,如何在有限资源下部署就成了关键问题。
- knowledge-distillation-papers ★<1k — 知识蒸馏论文合集。按年份和类型整理,适合系统性文献调研。
- Knowledge-Distillation-Zoo ★1.7k — 知识蒸馏方法的 PyTorch 实现集。统一框架下对比多种 KD 方法。
站内相关文章:模型压缩
18.2 大模型训练与微调
- Firefly ★6.7k — 大模型训练工具。支持 Qwen2.5、Llama3、Gemma 等主流模型的全参数训练、QLoRA 微调、DPO 对齐。
18.3 RAG 应用
- Langchain-Chatchat ★38k — 基于 LangChain 的本地知识库 RAG 应用。支持 ChatGLM、Qwen、Llama 等多种语言模型,开箱即用的企业级 RAG 方案。
- RAG_Techniques ★27k — RAG 技术大全。系统介绍各种高级 RAG 技术(混合搜索、重排序、查询改写、多跳推理等),从入门到前沿。
18.4 LLM 工程模式
学完基础后,还需要掌握 LLM 在工程中的集成模式:
- Prompt 工程:先学会高效使用 LLM,建立对模型能力边界的直觉
- 微调(Fine-tuning):让模型适配特定任务,QLoRA 让消费级 GPU 也能微调大模型
- RAG Pipeline:解决 LLM 知识截止和幻觉问题,检索增强生成是当前最实用的方案
- 多模型集成:多个 LLM 加权投票做决策,比单模型更稳健(用于量化交易、内容审核等高风险场景)
- AI 图像生成:文生图、图生图 pipeline 的搭建
18.5 学习建议
学习顺序很重要:先用再造。先通过 Prompt 工程学会高效使用 LLM,建立对模型能力边界的直觉;然后学微调,理解如何让模型适配特定任务;最后搭 RAG pipeline,解决 LLM 知识截止和幻觉问题。不要一上来就训练模型——那是最后一步。
实战项目:hk-stock 实现了 5 个大模型集成的加权投票决策系统。sudo-make-me-a-picture 是一个 AI 图像生成项目。ai-blog 集成了 embedding 语义搜索和 AI 封面生成。Knowledge-Distillation 则聚焦模型压缩研究。
19 DevOps、测试与安全(阶段 17)
写代码只是软件工程的一部分。构建、测试、部署、监控——这些「代码之外」的能力决定了你能不能把项目从本地跑到生产环境。
19.1 CI/CD
- GitHub Actions:GitHub 原生的 CI/CD 工具。一个 YAML 文件定义完整的构建流水线(lint → test → build → deploy)。
- GitHub Actions 文档 — 官方教程,从入门到高级用法。
- 常见 pipeline 组合:代码提交 → ESLint / Prettier 格式检查 → 单元测试 → 构建 → 自动部署
19.2 容器与编排
- Docker 官方文档 — 从安装到 Dockerfile 编写,官方 Get Started 教程质量很高。
- Docker:一行命令搭建开发环境,团队环境一致,告别「我电脑上能跑」。
- Kubernetes:容器编排标准。当你的服务从单机扩展到集群时,K8s 是绕不开的。入门推荐 Kubernetes 官方教程。
19.3 测试策略
好的测试策略按架构分层:
- 单元测试:测试领域层(Domain)的纯业务逻辑,不依赖外部服务,运行快
- 集成测试:测试基础设施层(Infrastructure),连接真实数据库,不要 mock 数据库——mock 通过但线上炸了的教训太多
- E2E 测试:测试接口层(Interface),模拟真实用户操作。Playwright 是当前最好的 E2E 测试框架
19.4 可观测性
微服务架构下,问题排查不能靠猜——你需要完整的可观测性体系:
- 分布式链路追踪:SkyWalking 是国内最流行的 APM(应用性能监控)工具,支持 Java/Go/Python 等多语言 Agent,自动采集调用链、性能指标、拓扑图。替代方案有 Jaeger、Zipkin。
- 日志聚合:ELK(Elasticsearch + Logstash + Kibana)或 Loki + Grafana,集中收集和检索分布式日志。
- 指标监控:Prometheus + Grafana 是云原生监控的标配。
可观测性三大支柱:链路追踪(Traces)+ 日志(Logs)+ 指标(Metrics)。在微服务环境中,一个请求可能经过 5-10 个服务,没有链路追踪就像瞎子摸象。
19.5 Web 安全基础
全栈开发者必须有基本的安全意识:
- OWASP Top 10:最常见的 Web 安全风险(SQL 注入、XSS、CSRF 等),每个都要知道是什么、怎么防
- HTTPS / TLS:所有生产环境必须启用 HTTPS
- 认证与授权:JWT、OAuth 2.0 的基本概念和使用场景
- 推荐阅读:OWASP Top 10
19.6 Shell 工程
Shell 脚本不是「临时凑合」的工具,而是一门严肃的工程学科:
set -e:任何命令失败立即退出,不要让错误悄悄传播- 幂等性:脚本重复执行和执行一次效果一样。先检查再操作(
if ! command -v foo; then install foo; fi) - 彩色日志:用颜色区分 INFO / WARN / ERROR,一眼看出脚本执行状态
- 参数验证:脚本开头就检查必要参数和环境依赖
19.7 开发环境
- LazyVim:基于 Neovim 的现代开发环境,内置 LSP、补全、文件搜索、Git 集成。一套配置覆盖所有语言。
19.8 学习建议
测试和 CI/CD 越早引入越好——不需要等到「项目做完了」再补。从第一个项目开始就写测试、配 GitHub Actions,养成习惯后效率反而更高。Docker 在学后端(阶段 8-9)时就可以开始用,Kubernetes 等有微服务需求时再学。
实战项目:lazyvim-installer 是一个 545 行的幂等 Shell 安装器,包含彩色日志、环境检测、依赖安装等工程化实践。ext4-learning-suite 是一个 Linux 文件系统学习工具。mysql-crash-course-interactive 是 298 行的交互式 MySQL 教学脚本。ai-blog 的 CI/CD 使用 GitHub Actions 实现 lint + build 自动化,配合 Playwright 做 E2E 测试。
站内相关文章:
20 快速参考
全部资源汇总
实战项目
| 项目 | 描述 | 涉及阶段 |
|---|---|---|
| ai-blog | Next.js 15 技术博客,AI 搜索 + 封面生成 | 前端、数据库、LLM、DevOps |
| FamBank | 微信小程序家庭记账,Advisory Lock + BigInt | Java 后端、数据库 |
| hk-stock | Go 港股量化交易,5-LLM 集成投票 | Go、LLM |
| Knowledge-Distillation | CV 模型压缩研究 | CV/NLP、模型压缩 |
| lazyvim-installer | 545 行幂等 Shell 安装器 | DevOps |
| mysql-crash-course-interactive | 交互式 MySQL 教学 | 数据库、DevOps |
| ext4-learning-suite | Linux 文件系统学习工具 | DevOps |
| sudo-make-me-a-picture | AI 图像生成 | LLM |
21 参考链接
在线课程与教材:
编程语言与框架:
- cppreference.com
- Compiler Explorer
- C++ Core Guidelines
- LearnCpp.com
- Google C++ Style Guide
- MDN Web Docs
- TypeScript 官方文档
- React 官方文档
- Next.js Learn
- Tailwind CSS
- Vue.js 官方教程
- VueUse
- Vite
- FastAPI
- Pydantic
- Java 官方教程
- Baeldung
- Spring 官方文档
- JavaGuide 在线阅读
- Tour of Go
- Go by Example
- Go 官方文档
- Effective Go
- topgoer.com
- Go 语言设计与实现
数据库与中间件:
- MySQL 官方文档
- Redis 官方文档
- GORM
- Kafka 文档
- Redis 设计与实现
- MySQL 实战 45 讲
- High Performance MySQL
- MongoDB 官方文档
- Elasticsearch 官方文档
- ClickHouse 官方文档
- ShardingSphere
算法与工具:
- hello-algo 在线阅读
- labuladong 在线阅读
- 代码随想录
- VisuAlgo
- LeetCode 力扣
- OI Wiki
- CS-Base 在线阅读
- 现代 C++ 教程在线阅读
- Sorting Visualizer
- C++ Insights 在线使用
系统设计:
AI/ML:
PyTorch 官方文档 DevOps 与安全:
站内相关文章:
版权声明
- 作者: Corner430
- 标题: 全栈学习路线:从计算机基础到 AI 应用
- 链接: https://corner430-ai-blog.vercel.app/blog/cs-self-learning-roadmap
- 许可协议: CC BY-NC-SA 4.0
除非另有说明,本文内容采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处。