发布于
11234 字 · 57 分钟

全栈学习路线:从计算机基础到 AI 应用

AI 摘要

作者
  • avatar
    姓名
    Corner430
    社交账号
题图

1 前言

技术自学最大的困境不是资源太少,而是太多。GitHub 上随便一搜就是几十个 awesome list,每个 list 里又是几百个链接——看着很爽,收藏了等于学了,然后就没有然后了。

本文梳理了一条完整的技术成长路线,从计算机基础一路推进到 AI 应用与工程实践,共 17 个阶段,分为 5 大支柱:

  1. CS 基础(阶段 1-4):计算机基础、Git 与工具链、C++ 语言、代码规范与工程素养
  2. 数据结构与设计(阶段 5-6):数据结构与算法、系统设计
  3. 软件工程(阶段 7-11):前端开发、Java 后端、Go 语言、数据库、架构与设计模式
  4. AI/ML(阶段 12-16):Python 与数学基础、经典机器学习、深度学习、PyTorch 实战与 CV/NLP、模型压缩与大模型应用
  5. 工程实践(阶段 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 个阶段,从基础到进阶:

阶段支柱主题产出目标
1CS 基础计算机基础理解 OS / 网络 / 体系结构
2CS 基础Git 与工具链熟练使用 Git,掌握开发者基本工具
3CS 基础C++ 语言熟练使用 C++17
4CS 基础代码规范与工程素养从第一行代码养成好习惯
5数据结构与设计数据结构与算法刷完 200+ LeetCode
6数据结构与设计系统设计能设计常见分布式系统
7软件工程前端开发能用 Next.js / Vue 搭建完整应用
8软件工程Java 后端掌握 Spring 生态
9软件工程Go 语言能用 Go 写高并发服务
10软件工程数据库精通 MySQL,理解向量检索
11软件工程架构与设计模式掌握 DDD / CQRS / 微服务
12AI/MLPython 与数学基础掌握 Python 常用库 + 线性代数
13AI/ML经典机器学习能手写 LR / SVM / 决策树
14AI/ML深度学习理解 CNN / RNN / Transformer
15AI/MLPyTorch 实战与 CV/NLP能独立训练模型 + 复现论文
16AI/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 图解系列

  • CS-Base ★18k — 图解计算机网络、操作系统、组成原理、数据库。1000+ 张图 + 50 万字,把晦涩的八股文变成可视化的知识图谱。在线阅读

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 SemesterMIT 开发者工具课(Shell、Git、Vim 等)
explainshell.com输入命令,逐段解释每个参数

4.3 学习建议

先学 git init / add / commit / push / pull / branch / merge 这几个核心命令,然后在后续每个阶段的学习中持续使用。不需要一上来就学 rebase 和 cherry-pick——用到再学。推荐配合站内的 Lazygit 完全指南 提升效率。

5 C++ 语言(阶段 3)

C++ 生态

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.comC++ 标准库参考,最权威
Compiler Explorer在线查看 C++ 编译产物,支持多编译器对比
C++ Core GuidelinesBjarne Stroustrup & Herb Sutter 编写的编码规范
CppConC++ 大会演讲视频(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 GuideGoogle 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》分布式系统经典,必读
ByteByteGoAlex 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,不学会很吃亏:

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 小程序

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 后端

Java 是企业级后端开发的主流选择。这个阶段的目标不只是学语言,更是掌握后端工程体系——Spring 生态、数据库、缓存、消息队列、分布式。

10.1 一站式指南

  • JavaGuide ★155k — Java 面试 & 后端通用面试指南。覆盖 Java 基础、集合、并发、JVM、数据库、分布式、高并发、系统设计与 AI 应用开发。当路线图使用。在线阅读

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 官方入门
BaeldungJava / 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 生态

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 工程需要掌握这些工具:

工具描述
GORMGo 的 ORM 框架,类似 Java 的 MyBatis
WireGoogle 出品的依赖注入工具
zerolog零内存分配的结构化日志库
ants高性能 goroutine 池
gRPC-GoGoogle 的高性能 RPC 框架
Protobuf跨语言序列化协议,gRPC 的基础

结构化日志是 Go 工程的必修课。好的日志不只是 log.Println,而是带有结构化字段(JSON 格式)、统一的消息语言、可搜索的字段名。在生产环境调试问题时,结构化日志的价值远超 fmt.Println

11.3 在线资源

资源描述
Tour of Go官方交互式入门教程
Go by Example通过示例学 Go
Go 官方文档官方文档入口
topgoer.comGo 中文学习网,覆盖基础到微服务
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 是最常用的内存数据库:

进阶:生产环境常用 多级缓存(本地缓存如 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 DesignEric EvansDDD 开山之作
Patterns of Enterprise Application ArchitectureMartin Fowler企业应用架构模式
Building MicroservicesSam Newman微服务设计实战
Clean ArchitectureRobert 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 教材与习题

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 框架

PyTorch 生态

D2L 已经教了 PyTorch 基础,这个阶段的目标是熟练掌握框架,能脱离教材独立写项目。

官方资源

  • pytorch/tutorials ★9.1k — 官方教程仓库。从「60 分钟入门」到高级主题(分布式训练、量化、TorchScript)。
  • pytorch/examples ★24k — 官方示例集。覆盖 Vision、Text、Reinforcement Learning,每个示例都是可运行的完整项目。
  • PyTorch 官方文档 — API 参考。

中文教程

核心模块速查

模块描述文档
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)

LLM 与 RAG

18.1 知识蒸馏与模型压缩

当模型越来越大,如何在有限资源下部署就成了关键问题。

站内相关文章:模型压缩

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 快速参考

全部资源汇总

阶段仓库描述Stars
CS 基础cs-self-learning计算机自学指南72k
CS 基础CS-Notes面试必备基础184k
CS 基础CS-Base图解 CS 四大件18k
C++CPlusPlusThingsC++ 那些事43k
C++interviewC/C++ 面试知识38k
C++modern-cpp-tutorial现代 C++ 教程25k
C++cppinsights编译器视角看 C++4.5k
C++CppTemplateTutorial模板元编程教程11k
C++HighPerformanceConcurrentServer高性能并发服务器545
算法hello-algoHello 算法125k
算法LeetCode-Book图解算法题解8.2k
算法fucking-algorithm算法刷题框架133k
算法leetcode-master代码随想录61k
算法LeetCodeAnimation动画题解77k
算法leetcode(azl)LeetCode 题解56k
算法leetcode(doocs)多语言题解36k
系统设计system-design-primer系统设计入门342k
系统设计linux_kernel_wikiLinux 内核资料7.5k
规范zh-google-styleguideGoogle 风格指南11k
JavaJavaGuideJava 面试指南155k
Javaadvanced-javaJava 进阶79k
Javaspring-readingSpring 源码解读10k
Gothe-way-to-go_ZH_CNGo 入门指南35k
GoGoGuideGo 学习指南3.2k
GoWire依赖注入工具
Gozerolog结构化日志库
Goantsgoroutine 池
GogRPC-GoRPC 框架
PythonPython-100-DaysPython 100 天181k
数学The-Art-of-Linear-Algebra线性代数图解21k
数学Book4_Power-of-Matrix矩阵力量9.8k
数学Book5_Essentials-of-Probability-and-Statistics统计至简3.6k
MLMachineLearning_Zhouzhihua_ProblemSets西瓜书习题1.7k
MLMachine-LearningML 实战 Python310k
MLInterpretableMLBook可解释 ML4.9k
DLd2l-zh动手学深度学习77k
DLDeepLearning(花书)花书推导 + 代码7.6k
DLDeepLearning(资源)DL 资源汇总17k
DLpaper-reading李沐论文精读33k
PyTorchpytorch/tutorials官方教程9.1k
PyTorchpytorch/examples官方示例24k
PyTorchpytorch-handbook中文手册22k
PyTorchPyTorch-Tutorial-2nd实用教程 v24.5k
PyTorchpytorch-tutorial极简教程32k
CVsegment-anythingSAM 分割一切54k
CVCVPR2026-Papers-with-CodeCVPR 2026 论文
CVBringing-Old-Photos-Back-to-Life老照片修复16k
压缩knowledge-distillation-papersKD 论文集<1k
压缩Knowledge-Distillation-ZooKD 实现集1.7k
LLMFirefly大模型训练6.7k
LLMLangchain-ChatchatRAG 应用38k
LLMRAG_TechniquesRAG 技术27k

实战项目

项目描述涉及阶段
ai-blogNext.js 15 技术博客,AI 搜索 + 封面生成前端、数据库、LLM、DevOps
FamBank微信小程序家庭记账,Advisory Lock + BigIntJava 后端、数据库
hk-stockGo 港股量化交易,5-LLM 集成投票Go、LLM
Knowledge-DistillationCV 模型压缩研究CV/NLP、模型压缩
lazyvim-installer545 行幂等 Shell 安装器DevOps
mysql-crash-course-interactive交互式 MySQL 教学数据库、DevOps
ext4-learning-suiteLinux 文件系统学习工具DevOps
sudo-make-me-a-pictureAI 图像生成LLM

21 参考链接

在线课程与教材

编程语言与框架

数据库与中间件

算法与工具

系统设计

AI/ML

站内相关文章

版权声明

除非另有说明,本文内容采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处。