模块导读

软件技术,不是让每个人都去当程序员,而是学会"用工具给自己打工"。页面最顶上就是技术栈学院——四十余门从入门讲到企业级部署的完整课程,想深耕一门、走一条职业路线,直接从那里挑门进去;下面再走三个广度方向:编程入门(让电脑替你干重复活)→ 工具链与效率(把常用软件用出花)→ AI 辅助(让 AI 当你随叫随到的助手)。三个方向都不用学很深,够用、能解决自己的真问题就行,全部走完大概 6 个月。

院

技术栈学院

Tech Stack Academy · 从入门到企业级,每门技术栈都是一本完整的书

从入门到企业级,四十余门技术栈课程,按你的方向选一条路走到底。每张卡片背后都是一本完整教程——从环境安装讲到生产部署,配代码、配自测题。不用全学,挑一条和你工作对口的主线深耕,其余当"看得懂名词"的字典翻。

「必学」是所有语言共用的前置(计算机基础 8 门),建议先学;它同时也是每个方向的通用地基,会随场景 Tab 一起出现。其余课程按你的方向筛选显示。

计算机基础与架构专题

CS Fundamentals & Architecture 3 层 · 29 门课

按「基础 → 语言分水岭 → 架构汇总」三层编排:所有语言先修完计算机基础(网络 / 操作系统 / 数据库 / 前端 / 测试 / Linux / 中间件),到各自平台后沿不同语言技术栈深耕,最后汇总到系统设计、数据工程、DevOps、GraphQL、WebAssembly 等跨语言高阶架构。

① 计算机基础 · 所有语言共用前置

Foundations 8 门

② 语言分水岭 · 到各自平台后分化

Language Watershed 16 张 · 10 语言
JAVA
Java 路线
基础语法 → EE/Web → Spring → Boot → Cloud 微服务 → Spring AI。企业级后端全链路。
JDK LTS并发JVM
进入课程 →
CLOUD
Spring Cloud 微服务
Nacos、Gateway、Sentinel、Seata,微服务拆分与服务治理全家桶,Java 路线的高阶分支。
NacosGatewaySentinel
进入课程 →
AI
Spring AI + AgentScope
LLM、RAG、Function Calling、Agent 编排,Java 侧 AI 应用入口,Java 路线的最新分支。
LLMRAGAgent
进入课程 →
PYTHON
Python 路线
基础 → Web(FastAPI/Django) → 爬虫 → 数据科学/ML → 大模型应用。AI 时代母语。
3.14装饰器异步
进入课程 →
LLM
大模型应用开发
Prompt、Function Calling、RAG、Agent、记忆、评估与安全,框架无关。Python 路线的高阶分支。
RAGAgentTools
进入课程 →
C
C 路线
指针/内存/结构体/链表/编译链接,系统编程老祖宗,所有底层的基础。
C23指针内存
进入课程 →
CPP
C++ 路线
RAII/STL/模板/智能指针/并发,性能与抽象兼得,游戏与高频系统首选。
C++23RAIISTL智能指针
进入课程 →
RUST
Rust 路线
所有权/借用/生命周期/并发/unsafe,内存安全无 GC,从系统到前端的现代系统语言。
所有权借用生命周期
进入课程 →
BACKEND
Rust 后端
Tokio、Axum、SQLx,高并发微服务与生产部署。Rust 路线的高阶分支。
TokioAxumSQLx
进入课程 →
GO
Go 路线
多返回值/defer/goroutine+channel CSP 并发/接口组合,云原生与高并发后端主力。
goroutinechannelnet/http
进入课程 →
TS
TypeScript 路线
联合类型/泛型/utility types/strict,前端到 Node 全栈的类型协作基石。
类型安全strict泛型
进入课程 →
ADV
前端进阶
React 生态、Vue 3、Next.js 15、Electron、Tauri 2.0、性能部署。TS/前端路线的高阶分支。
Next.js 15Vue 3Tauri 2.0
进入课程 →
NODE
Node.js 路线
Express/NestJS/数据库/部署/测试,一套 JavaScript 通吃前后端全栈。
ExpressNestJS部署
进入课程 →
NODE+
Node.js 进阶
NestJS 模块化、ORM 与 N+1、TS strict、测试体系、部署与并发模型。Node 路线的高阶分支。
NestJSPrisma部署
进入课程 →
IOS
iOS · Swift
Swift + SwiftUI 声明式 UI,UIKit 桥接、SwiftData 持久化,TestFlight 上架全流程。
SwiftSwiftUITestFlight
进入课程 →
MOBILE
Flutter / Android
一套 Dart 代码跨端,自绘引擎接近原生流畅;覆盖 Android 原生集成与 MethodChannel 桥接。
Flutter 3Dart跨端
进入课程 →

③ 架构与设计 · 高阶跨语言汇总

Architecture & Design 5 门

其他课程

More Stacks 5 类课程
移动端(Flutter / iOS)、产品设计、计算机基础与架构专题、各技术栈深度补全已上线 —— 每一本都按"从环境到生产"写成完整的一本厚书,后续持续扩充。
线

知识骨架:把技术点串成线

From Scattered Points to Connected Lines

上面的"技术栈学院"是一张点的地图——每门课是一个点。但自学最容易掉进的坑是:只知其然、不知其所以然,东学一点西学一点,点之间连不成线,遇到真实问题就卡住。下面把每个方向的技术点串成一条有因果关系的线:前一个点是后一个点的地基,踩实了才往上走。

Java 后端线(企业级主干道)

为什么是这个顺序:不先懂"Web 请求怎么进来"(Servlet),就不知道 Spring 为什么要造一个容器;不懂 IoC/DI,就看不懂 Spring Boot 的"自动配置"到底自动了什么;微服务、限流、链路追踪,全是建立在"服务能起来、能互相发现"之上的上层建筑。

Java 基础 → Servlet / JavaEE → Spring 核心 → Spring Boot 自动配置 → Spring Cloud 微服务 → 网关限流 / 链路追踪 → Docker / K8s

串起来的一句话:自动配置原理让你明白"加个 starter 就能跑"的背后是条件化装配 → 微服务拆分是把一个胖应用拆成多个能独立部署的服务 → 网关限流(Gateway + Sentinel)保护服务不被打爆 → 链路追踪(Micrometer + OpenTelemetry)在几十个服务里定位"这次慢到底卡在谁"。

Python 线(从琐事到 AI)

基础不牢,爬虫的异常处理就写不对;pandas 建立的"表格即对象"思维,是进 ML 的门票;ML 跑通了,才谈得上把模型接进 LLM 应用。顺序:Python 基础 → Web → 爬虫 → 数据科学 → ML/DL → LLM 应用。

Python 基础 → 标准库 os/re/csv → Web(FastAPI) → 爬虫 requests/Scrapy → 数据科学 pandas/numpy → ML/DL scikit-learn/PyTorch → LLM 应用 RAG/Agent

系统 / 性能线(往下扎到机器)

C/C++ 让你理解"内存和指针";Rust 用所有权在编译期消灭一类并发 bug;Go 用 goroutine 把高并发写得很轻;再往上才是操作系统、网络、中间件和高并发设计。

C / C++ → Rust 所有权 → Go 并发 → 操作系统 / 网络 → 中间件 MQ/缓存 → 高并发系统设计

前端线(从页面到工程化)

HTML/CSS/JS → TypeScript → React / Vue → Vite 构建 → 工程化 / 测试 → 性能 / 可访问性

法
怎么用这条线

① 选一条主线走到"能独立做一个小项目",再横向扩展,别同时追四条线。

② 卡在某个点,回去看它前面那门课——十有八九是地基没踩实。

③ 线上的点不是都要精通,和你工作对口的主线深耕,其余当字典。

编

方向一:编程入门

Coding Basics with Python

很多人一听"编程"就头大,觉得那是程序员的饭碗,跟自己没关系。其实编程一点都不神秘:编程就是"给电脑下指令"。你每天手动重复一百遍的事——改文件名、整理表格、备份文件——只要把这些事拆成一步一步告诉电脑,它就能替你做,做错了还能改。你不需要变成程序员,会写一点点"指令",就能把每天浪费在重复操作上的时间省下来。

论为什么要学编程,学什么

是什么:编程 = 把一件事拆成步骤,用电脑听得懂的话写下来。你说"把这个文件夹里 100 张照片按日期改名",手动要一下午,写成指令电脑 1 秒跑完。

为什么:三个真实理由——① 自动化重复工作(每月都要做的报表,跑一次脚本就完事);② 批量处理数据(从几十份表格里抓信息汇总成一张总表);③ 做自己的小工具(顺手做个记账、提醒、备份的小脚本)。

学什么:只挑 Python 最基础的四样——变量(存东西的盒子)、条件(如果……就……)、循环(重复做)、函数(打包成一个按钮)。四个零件拼起来,就能解决大半日常小麻烦。

怎么用:别一上来啃厚教材。从"解决自己的一个小麻烦"开始——哪怕只是把桌面文件名批量改一遍,跑通一次,信心就有了。

四个最基础的"零件"

别背术语,先看每个零件在生活里对应什么。下面这张表混个眼熟,后面例子里会反复出现。

零件大白话是什么生活里的对应
变量
variable
一个贴了标签的盒子,往里面放东西,以后用标签取出来。名字 = "小明" 把"小明"放进贴了"名字"标签的盒子。
条件
if
"如果……就……,否则……",让电脑自己做判断。如果 下雨:带伞;否则:不带。
循环
for
"对每一个……都做一遍",让电脑替你重复。对文件夹里每一张照片:改名字。
函数
def
把一串动作打包,起个名字,以后喊名字就能用。像电器上的"煮饭"按钮——按一下,自动走完一整套流程。

三个你马上能用上的小例子

下面三段代码都很短,每行后面跟着中文注释(# 开头的那行),告诉你这行在干嘛。先读注释,再读代码,不懂语法也能看懂思路。

例子 1:用 Python 批量重命名 100 个照片文件

import os # 调用电脑自带的文件工具 # 遍历 photos 文件夹里的每一个文件 for filename in os.listdir("photos"): # 只挑出以 .jpg 结尾的照片 if filename.endswith(".jpg"): # 给它加个前缀,变成"旅行_xxx.jpg" new_name = "旅行_" + filename os.rename("photos/" + filename, "photos/" + new_name) print("改好了:", new_name)

例子 2:把整理好的信息写成一张表格(CSV,Excel 能直接打开)

import csv # 调用处理表格的工具 # 假设已经把网上的信息整理成了这样一份清单 data = [ {"标题": "Python 入门书", "价格": 59}, {"标题": "数据分析实战", "价格": 89}, ] # 把清单写进一个"结果.csv"文件 with open("结果.csv", "w", newline="", encoding="utf-8-sig") as f: writer = csv.DictWriter(f, fieldnames=["标题", "价格"]) writer.writeheader() # 先写表头 writer.writerows(data) # 再把数据一行行写进去 print("表格已生成:结果.csv,双击就能用 Excel 打开")

例子 3:写一个"每天自动备份文件"的小脚本

import shutil # 文件复制工具 import datetime # 日期工具 # 拿到今天的日期,比如 2026-09-16 today = datetime.date.today().isoformat() # 把"工作资料"整个文件夹,复制到"备份/今天日期"里 shutil.copytree("工作资料", "备份/" + today) print("备份完成,今天是", today)
先看这句大实话

不要一上来就追求"精通 Python"。新手最容易掉的坑:收藏一堆教程、装一堆软件、看了半个月视频,一行代码没跑过。正确做法是先跑通一个小脚本——哪怕只是把桌面 10 个文件批量改名,跑成功的那一刻,你就已经"入门"了。语法是在跑的过程中补的,不是背出来的。

小练习 · 编程入门

1.(概念题)下面这段代码里,for 这一行在干嘛?请用大白话说出来:

for name in ["张三", "李四", "王五"]: print("你好," + name)
查看答案

答案:它在说"对着张三、李四、王五这三个人,每个人都说一句『你好,某某』"。循环(for)就是让电脑把同样的动作,对名单里的每一项重复做一遍。解析:这就是循环的本质——你写一次,电脑替你重复三次(或三百次)。

2.(代码填空)想让程序做到"分数大于等于 60 就打印『及格』,否则打印『不及格』",横线处该填什么?

score = 75 if ______: print("及格") else: print("不及格")
查看答案

答案:横线处填 score >= 60。解析:if 后面跟的是一个"是真是假"的判断——75 大于等于 60 这句话是真的,电脑就走"及格"这条分支;如果是 50,这句话是假的,就走 else 分支。

3.(思考题)你每周都要把一个文件夹里的截图按"日期+序号"重命名,手动要 20 分钟。学了今天的内容,你打算怎么用 Python 解决?说思路就行,不用写完整代码。

查看答案

参考思路:① 用 os.listdir 列出文件夹里所有文件;② 用 for 循环每一个;③ 用 if 只挑出截图(.png/.jpg);④ 拼出新名字(今天日期 + 第几个);⑤ os.rename 改名。解析:这正是"批量重命名"那个例子的思路——把你手动做的步骤,一条条翻译成电脑听得懂的话。以后每周跑一下,1 秒完事。

免费学习资源(都能白嫖)

资源特点适合阶段
Python 官方中文教程官方出品、免费、权威,从零讲到入门。刚起步,边读边敲
freeCodeCamp(中文)交互式在线练习,浏览器里直接写代码,不装环境。零基础第一周
廖雪峰 Python 教程中文社区经典,大白话、例子多。入门后查漏补缺
记
怎么用卡片

① 别啃厚书,先让一个脚本跑起来——哪怕只改 10 个文件名,跑通就是胜利。

② 代码里一定写中文注释,过两周你自己回来看,注释比代码还重要。

③ 报错了别慌,把红字整段复制给 AI 看,它会告诉你哪一行出了什么问题。

工

方向二:工具链与效率

Toolchain & Productivity

这个方向不是让你学更多软件,而是把你已经在用的软件用得更快。同一个软件,熟练的人比新手快 3 倍——差的从来不是软件,而是几个快捷键和小习惯。每天省 10 分钟,一年下来就是 60 个小时。下面四块:命令行、Git、编辑器、自动化,每块都只学"解决什么问题"的最小够用版。

论四类省时间的基本功

命令行:给电脑开一条"直达车道"——不用一层层点文件夹,打一行字就到。

Git:给你的文件存"后悔药"——改坏了能回到上一版,多人一起改也不会打架。

编辑器:选对工具、记住几个快捷键,写东西的速度翻倍。

自动化:把"点鼠标点一百遍"的操作录下来,以后一键回放。

命令行基础:打字比点鼠标快

终端(也叫命令行、Shell)就是一个"只打字、不用鼠标"的黑色小窗口。你不用成为黑客,记住下面 10 个命令就够应付 90% 的日常。

命令大白话例子 / 解决什么问题
pwd我现在在哪儿?迷路时打一下,告诉你当前文件夹路径。
ls看看这里有什么列出当前文件夹里的文件,相当于双击打开文件夹。
cd 目录名进某个文件夹cd 下载 进到"下载"里;cd .. 退回上一级。
mkdir 名字新建文件夹mkdir 项目资料 比右键新建快。
cp 源 目标复制文件批量复制时比拖鼠标快得多。
mv 源 目标移动 / 改名mv a.txt b.txt 直接改名。
rm 文件名删除谨慎用!删掉不进回收站。
cat 文件看文件内容快速看一个文本文件里写了什么。
clear清屏屏幕刷满了,打一下重新变干净。
.. 和 ~两个快捷地址.. 是上一级,~ 是你的主目录,省去一路翻文件夹。

Git 版本控制:给文件存"后悔药"

你写一份方案,改了十版——v1、v2、最终版、真的最终版、打死不改版……最后老板说"还是第一版好",你翻不回去了。Git 就是解决这事的:它帮你记住文件的每一个版本,随时能回到任意一版。

commit(提交) → 给当前状态"拍一张快照"
改完一个小版本,就拍一张照片存下来,并写一句说明。
大白话:commit 就是"存档"。游戏打 boss 前存个档,打输了读档重来。你写完一章、改好一段,就 commit 一下,以后随时能翻到这一版。
push(推送) → 把存档传到网上备份
存在自己电脑上不保险,传到 GitHub 这类网站上,硬盘坏了也能找回来。
解决什么问题:电脑突然崩了、硬盘挂了,存档还在云上,重新下载就行。多人合作时,大家也靠 push 把各自的改动汇到一起。
pull(拉取) → 把网上最新存档拉到自己电脑
换了台电脑,或者同事改了东西,pull 一下就同步到最新。
大白话:push 是"上传",pull 是"下载最新版"。一个人用也不亏——它就是你免费的、带历史记录的云备份。

编辑器效率:VS Code 记住这几个就够

VS Code 是目前最常用的免费写代码/写文本工具,插件丰富。不用学全,记住下面五个快捷键,效率立刻翻倍。

快捷键(Mac / Windows)干什么用
Cmd+P / Ctrl+P按文件名秒速打开文件,不用在文件夹里翻。
Cmd+D / Ctrl+D选中当前这个词,再按一下选中下一个相同的,一起改。
Cmd+/ / Ctrl+/一键把当前行变成注释 / 取消注释。
F2一键重命名一个变量,所有用到它的地方一起改。
Cmd+` / Ctrl+`在编辑器里直接调出命令行,不用再切窗口。

自动化工具:把重复操作录下来

宏(Macro) → 录一遍,以后一键回放
Excel、VS Code 里都有"录制宏"功能。
解决什么问题:你有 50 个表格要做一模一样的格式调整。打开录制,操作第一个,它把你的每一步录下来;剩下 49 个按一下按钮,它自动替你做。
自动化脚本 → 把 Python 脚本定时跑
前面那个"自动备份"脚本,交给系统定时任务每天跑。
解决什么问题:不用你每天记得去点,系统到点自动执行。Mac 用"定时任务(launchd)"、Windows 用"任务计划程序",图形界面点几下就能设。
思维陷阱

工具是为了省时间,不是拿来折腾的。很多人学工具学着学着跑偏了——花三天挑编辑器主题、找插件、配字体,正事一件没干。记住一条:每学一个工具,当天就拿它干一件真事(哪怕只是用 cd 进一次文件夹)。学完不用,三天就忘;用一次,就留下了。

小练习 · 工具链与效率

1.(概念题)你在文件夹里找一个不知道藏在哪的文件,用命令行的话,哪条命令能最快列出当前文件夹里所有东西?

查看答案

答案:ls(Windows 是 dir)。解析:它相当于"把这个文件夹的内容全列出来",比一层层双击点开快。配合 cd 上下进出,比用鼠标翻快得多。

2.(情景题)你写了一份简历,改了五版,文件名变成"简历v1.doc / 简历v2.doc / 简历最终版.doc / 简历真的最终版.doc"。用 Git 的三个动作(commit / push / pull)怎么从根上解决这个问题?

查看答案

答案:只保留一个"简历.doc",每改一版就 commit 一次(写清"加了实习经历""改了自我评价"),push 到网上备份。想回到任何一版,Git 历史里都找得到。解析:不用再搞一堆带"最终版"的文件——Git 帮你记住每一版,一个文件名就够。

3.(选择题)在 VS Code 里,你想把代码里所有的"name"一次性改成"用户名",最快的快捷键是?A. 一个个手动改 B. 按 F2 C. 关机重启

查看答案

答案:B,按 F2。解析:把光标放在 name 上按 F2,重命名一处,全文所有用到它的地方一起改,不会漏。这就是"编辑器效率"的典型例子——一个键顶手动改二十次。

记
怎么用卡片

① 命令行只背 10 个命令就够,别啃《命令行大全》。

② 写东西就一个文件,靠 Git 记版本——告别"最终版、最终版2、打死不改版"。

③ 任何"重复做 5 次以上"的操作,都想想能不能录成宏或写成脚本。

智

方向三:AI 辅助学习与开发

AI-Assisted Learning & Work

现在的 AI(豆包、ChatGPT 这类)已经能当一个随叫随到的助手:解释难题、改作文、写代码、润色邮件,半夜三点也在。但请先记住一句话——AI 是助手,不是替身。它会犯错、会一本正经地胡说,你得有判断力;它给你代码,你得能看懂每行在干嘛,不能直接抄了就交。

论AI 能帮你干什么,不能干什么

是什么:用 AI 把学习和工作里"查、写、改"这三类活外包掉一部分,你负责提需求、做判断、拍板。

为什么:以前"第一次尝试"最耗时间——不懂的概念查半天、作文改半天、报错搜半天。AI 把这部分时间压缩到几分钟,你把精力花在真正需要动脑的地方。

怎么用:三件事——会提问(怎么问决定答案质量)、会验证(重要结论自己核对)、会落地(把 AI 给的东西改成自己能用的)。

什么时候用:卡壳了、卡住了、第一次接触一个新东西——先问 AI 拿个入门解释,再自己动手,比闷头查资料快得多。

AI 能帮你干的四类活

场景让 AI 干什么
AI 辅助学习解释难懂的概念("用大白话讲导数");生成练习题("出 5 道鸡兔同笼");批改作文;陪你练口语对话。
AI 辅助开发写一段小代码;对着报错一步步 debug;解释这段代码每一行在干嘛;帮你做代码审查。
AI 辅助写作润色一封邮件;给一篇文章生成大纲;中英互译;把啰嗦的话改简洁。
AI 辅助查资料把一大段文章总结成三句话;对比几个选项的优缺点;列一个问题的解决思路清单。

三个真实例子:好的提问长什么样

例子 1:让 AI 解释微积分"导数"
差的问法:"什么是导数?" 好的问法见下。
你可以这样问:"我是高中生,刚学微积分。请用骑自行车上坡打比方解释什么是导数。先别给公式,先给我直觉,最后给一个最简单的数学例子。"为什么好:给了身份(高中生→别讲太深)、给了比喻要求(上坡)、给了顺序(先直觉后公式)——AI 就知道你要的不是百度百科,而是能听懂的解释。
例子 2:让 AI 帮你 debug Python 报错
不要只发一句"代码报错了"。
你可以这样给:① 把完整的报错红字整段贴进去;② 附上出问题的那一小段代码;③ 说清楚"我本来想干什么、它实际干了什么"。为什么好:AI 看报错就像医生看化验单——你不给化验单只说"我难受",它只能瞎猜。三样东西给齐,它能直接指出是哪一行、为什么错。
例子 3:让 AI 润色一封工作邮件
别让它"随便写一封",要给原稿。
你可以这样说:"帮我把下面这封邮件改得更专业、更礼貌,但保持原意和我的语气,字数不要变太多:(贴上你的初稿)。"为什么好:给了原稿(有依据)、给了要求(专业+礼貌)、给了边界(保持原意别乱加戏)——出来的东西你微调一下就能直接发。

Prompt 三要素:怎么问才得到好答案

要素意思一句话模板
给背景你是谁、在什么场景、为谁做。"我是一名初一学生,在给爸妈写一封旅行计划邮件。"
给要求多长、什么风格、不要什么。"控制在 200 字以内,语气亲切,不要用书面套话。"
给例子给一个你想要的样子。"参考这个风格:(贴一段你喜欢的文字)。"
注意事项

① AI 会犯错,而且会"一本正经地胡说"。它给的事实、数字、法律条文,重要的事一定要自己再核对一遍——尤其是考试答案、医疗、法律、钱的事。
② 不要直接抄代码交差。AI 写的代码可能跑不起来,也可能藏着 bug。让它写完后,追问一句"这段代码每一行在干嘛",看懂了再用。
③ 别把敏感信息贴进去。公司机密、密码、身份证号、客户隐私,不要直接粘给公开的 AI 工具——你贴出去的内容,就当它会被别人看到。

小练习 · 设计你的 Prompt

1.(改 Prompt)小李只发了一句:"给我讲讲什么是光合作用。"结果 AI 回了一篇论文,他根本看不懂。请按"三要素"把这句话改好。

查看答案

参考答案:"我是小学生,在准备课堂发言。请用大白话、举一个养花的例子,讲讲什么是光合作用,150 字以内,不要用术语。"解析:给了背景(小学生、课堂发言)、给了要求(大白话、150 字、不要术语)、给了例子方向(养花)。同样一个 AI,提问不同,出来的东西天差地别。

2.(设计题)你想让 AI 帮你把下面这段乱糟糟的周报改清楚,请写出你的提问(不用写周报内容,写提问即可)。

查看答案

参考答案:"我在写每周工作汇报,下面这段写得很乱。请帮我:① 分成『本周完成 / 遇到的问题 / 下周计划』三段;② 每段压缩成 3 条要点;③ 语气简洁专业。原稿如下:(贴上你的周报)。"解析:先说用途(周报),再说怎么改(分三段、每条三条、语气),最后给原稿。三要素齐全,AI 改完基本能直接用。

3.(判断题)AI 给你写了一段"能跑"的代码,你直接复制到公司项目里上线了。这件事哪里有风险?

查看答案

答案:风险有三:① 代码可能藏着 AI 自己没发现的 bug,上线后出事;② 你没看懂,以后出问题没人能改;③ 可能用到了不安全的写法(比如泄露数据)。正确做法:让 AI 逐行解释给你听,确认逻辑对、边界处理对,再用。AI 是助手,签字负责的还是你。

记
怎么用卡片

① 提问永远带三样:背景 + 要求 + 例子,别只甩一个词。

② 卡住了先问 AI 拿思路,自己再动手——AI 给方向,你负责落地。

③ 重要结论、代码、数字,一定要自己验证;敏感信息别往外贴。

做

能动手做什么:每个技术栈的真实案例

What You Can Build with Each Stack

学一门技术栈,最有成就感的时刻不是"看懂了",而是"用它真做出个东西"。下面给每个方向一个你踮脚能够到的练手项目,并附上业界真实的开源项目——去看它的源码、照着它的结构搭一遍,比刷十个小时视频有用。链接优先指向官方仓库,避免踩到过时镜像。

技术栈你能做出什么推荐练手项目去 GitHub 看什么
Java / Spring会议室预订、博客后台用 Spring Boot + MyBatis 写"会议室预订 API",加登录和冲突校验spring-projects/spring-boot:读 spring-boot-autoconfigure 里带 @ConditionalOnClass 的类,看懂"有依赖就自动装配"
Python 标准库批量改名、CSV、日志提取见下方"进阶指南"的 ERROR 日志小练习(仅标准库)无第三方依赖,直接读 Python 官方 os / csv 文档的"示例"一节
Python Web个人记账 APIFastAPI + PostgreSQL 写"记账 API"(下方旗舰案例),配 Actions + Dockertiangolo/fastapi:读 fastapi/dependencies.py 理解依赖注入怎么复用校验逻辑
Python 爬虫价格变动提醒、资讯聚合定时抓某电商价格,跌了发邮件 / 微信提醒scrapy/scrapy:看"引擎 → 调度器 → 下载器 → 管道"四件套怎么串起来
数据科学分析自己的账单 / 运动数据用 pandas 读一年账单 CSV,按月汇总、画趋势pandas-dev/pandas:读 groupby 源码,理解"分组聚合"的引擎
ML / DL垃圾邮件分类、销量预测用 scikit-learn 跑通"垃圾邮件分类",再换 PyTorch 手写一个神经网络scikit-learn/scikit-learn:读 Pipeline 怎么把"清洗→向量化→训练"串成一步
前端待办 + 日历 PWA用 React/Vue 做一个离线也能用的"待办 + 日历"vuejs/core:读响应式原理,理解"数据变了视图怎么自动更新"
RustCLI 文件去重工具写一个按内容哈希去重的命令行工具,对标 fd / ripgreprust-lang/rust + BurntSushi/ripgrep:读它怎么把"所有权"用在高频字符串处理上
Go高并发短链服务用 gin 写"短链接服务",压测 1 万 QPSgin-gonic/gin + golang/go:看 goroutine 怎么让并发写得很轻
DevOps把上面的 API 打包上线用 Docker 打包记账 API + GitHub Actions 自动测试 + Prometheus 监控kubernetes/kubernetes、prometheus/prometheus、moby/moby(Docker)
数据库 / 中间件限流、日志管道用 Redis 做接口限流,用 Kafka 把应用日志汇到一处alibaba/nacos(注册/配置)、alibaba/Sentinel(限流)
旗舰案例:从 0 到上线的"个人记账 API"
把前面几条线一次性串起来:选型(FastAPI 轻、PostgreSQL 稳)→ 建表(users / bills)→ 写测试(pytest 覆盖增删改查)→ 并发(连接池 + 事务,避免超卖)→ 打包(Dockerfile)→ 自动部署(GitHub Actions 跑测试 + 推镜像)→ 监控(Prometheus 暴露 QPS / 耗时 / 错误率,Grafana 看板)。这一步走完,你就经历过一个功能从代码到生产的全流程——这是面试和真实工作里最值钱的经验。
法

最小可行认知:查文档 · 读源码 · 搜报错

The Minimum Viable Skill: Docs, Source, Errors

课程讲完,你至少要知道关键词是什么、遇到问题去哪找答案。这三项能力,比多背十个 API 更重要——因为它们让你"以后遇到没学过的问题也能自己解决"。

① 查官方文档

每个成熟库都有 /docs。例:FastAPI 官方文档直接给"怎么写 POST""怎么接数据库"的可复制片段;Spring 有详尽的 Reference。原则:先官方文档,再博客;博客只用来"换个角度理解",不用来"抄答案"。

② 读源码

遇到黑盒,去 GitHub 把依赖 clone 下来,打断点调试。例:不懂 Spring Boot 自动配置,就读 spring-boot-autoconfigure 里带 @ConditionalOnClass 的类,看它怎么"探测到 classpath 有某依赖就自动配某个 Bean"。读源码不是背,是看高手怎么把一个问题拆干净。

③ 搜报错

把报错信息的最后一行原样粘到 Google / GitHub Issues / Stack Overflow,再加上技术栈关键词(如 FastAPI 422)。原则:报错信息是最好的线索,别只看中文翻译,原句搜命中率高得多。

遇到问题时的标准动作(照着走)
① 用一句话复述现象(什么输入、期望什么、实际什么)→ ② 读报错最后一行,定位是"语法 / 运行 / 逻辑"哪类 → ③ 用官方文档关键词搜 → ④ 搜 GitHub Issues 看有没有同病相怜 → ⑤ 写一个最小复现(删掉所有无关代码,只留能触发 bug 的几行)→ ⑥ 还不行,去读相关源码那一段。这套动作走下来,90% 的问题你能自己关掉。
别这么做

① 只搜中文博客抄代码、不验证就跑——很可能抄到三年前的旧 API。② 一报错就甩一句"它报错了"去问人,谁也帮不了你——先给报错原文和最小复现。③ 全程依赖 AI 不给它看文档 / 源码,AI 也会编——AI 给方向,你负责落地和验证。

径

6 个月学习路径建议

Six-Month Roadmap

三个方向不是让你同时学,而是排个队、一步一步来。下面这张表把半年切成四段,每段都告诉你"学什么、用什么检验自己"。别跳阶段,前一段跑通了再进下一段。

第一阶段(第 1–2 月):Python 入门 + 命令行基础

先把"会写一点点代码"和"会开命令行"这两件事立起来
学什么Python 四件套(变量 / 条件 / 循环 / 函数)+ 命令行 10 个常用命令。
练什么写一个批量重命名脚本、一个 CSV 表格生成脚本,各跑通一次。
检验标准不看教程,能独立写出"对一个文件夹批量改名"的小脚本;能在终端里用 cd/ls 进出文件夹。

第二阶段(第 3–4 月):Git + 编辑器效率 + 做一个小项目

从"会写一句"到"能交一件完整作品"
学什么Git 三个动作(commit / push / pull)+ VS Code 常用快捷键。
做什么挑一个自己的真实小需求做个小工具——比如自动记账、每日提醒、文件整理器,整个过程用 Git 存档。
检验标准小项目能跑、能改、改坏了能通过 Git 回到上一版;全程不用"最终版2"这种文件命名。

第三阶段(第 5–6 月):AI 辅助工具 + 自动化实战

把 AI 变成你的日常外挂,把重复活儿全自动化
学什么Prompt 三要素(背景 / 要求 / 例子)+ 宏和定时任务。
练什么用 AI 帮你 debug、写文档、润色邮件;把每周重复做的一件事录成宏或写成定时脚本。
检验标准遇到报错先自己描述清楚再问 AI;每周有至少一件重复工作被自动化掉。

持续阶段:用工具解决自己的实际问题

这门课没有"毕业",只有"越用越顺手"
核心心法遇到一件"做了三次以上"的重复事,就停下来想:能不能写个脚本 / 录个宏 / 丢给 AI 干?
不要做的事不要为了学工具而学工具;不要收藏一堆教程从不打开;不要直接抄 AI 的东西不验证。
最终目标你不需要当程序员,你要成为"会给自己做工具的人"——这就够了。
记
怎么用卡片

① 每个阶段结束,用"检验标准"对照一下,没达标就别着急进下一阶段。

② 所有学习都围绕"解决自己的一个真问题",别为学而学。

③ 半年后你不会成为程序员,但你会成为一个省时间、会找工具、会用 AI 的人——这正是这个模块想要的。

进

进阶指南:想真正拉开差距,课程之外做三件事

Beyond the Course: Three Habits That Compound

课程是"地图 + 罗盘"。下面三件事,是把"看过"变成"会做"的关键——它们不复杂,但极少人坚持,所以坚持的人就赢了。

行动具体做法为什么有效
做一个"0 到上线"的完整小项目例:用 FastAPI + PostgreSQL + Docker 写"个人账单记账 API",配 GitHub Actions 自动测试部署到云服务器,加 Prometheus 监控强迫经历选型、建表、写测试、处理并发、排查内存泄漏、写 README 全流程
持续贡献 / 阅读开源找一个常用库(requests、FastAPI、Nacos),先跑通源码调试,再提一个微小 PR(修 typo、补测试、改文档)学会读别人代码、遵守贡献规范、参与 Code Review——高薪岗位核心硬技能
建立"复盘笔记"习惯每踩一个坑(数据库死锁、K8s Pod OOM、前端白屏),记录:现象 → 排查步骤 → 根因 → 修复 → 预防措施知识只有变成可检索的经验库,下次同类问题才能"降维打击"
小练习:验证你是否"学会了"课程里的 Python 基础

任务:写一个脚本,把某文件夹下所有 .log 文件里包含 ERROR 的行提取出来,按时间戳排序后写入 errors_summary.csv(列:文件名、时间戳、错误行)。

限制:只用标准库(os、re、csv、datetime),不超过 30 行代码。

判定:能独立写出来、跑通、并处理异常(编码错误、空文件、时间格式不统一)→ 基础扎实;卡在"怎么遍历文件夹 / 正则怎么写 / CSV 怎么追加写" → 回去把"批量重命名""写 CSV"两个例子再敲两遍,加注释、改参数、观察输出。

参考答案(约 25 行,先自己写再对照)

import os, re, csv from datetime import datetime def parse_ts(line): m = re.search(r'\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}:\d{2}', line) return m.group(0) if m else "1970-01-01 00:00:00" rows = [] for root, _, files in os.walk("logs"): for f in files: if not f.endswith(".log"): continue path = os.path.join(root, f) try: with open(path, "r", encoding="utf-8") as fh: for line in fh: if "ERROR" in line: rows.append((f, parse_ts(line), line.strip())) except (UnicodeDecodeError, OSError): pass # 编码错误 / 空文件:跳过,不中断 rows.sort(key=lambda r: r[1]) with open("errors_summary.csv", "w", newline="", encoding="utf-8-sig") as out: w = csv.writer(out); w.writerow(["文件名", "时间戳", "错误行"]) w.writerows(rows) print(f"已提取 {len(rows)} 条 ERROR")
为什么这样写

解析:os.walk 递归遍历文件夹;re.search 用正则从每行抠出时间戳,抠不到就给默认值(处理"时间格式不统一");try/except 吞掉编码错误和空文件,保证脚本不中途崩溃;最后按时间戳排序再写 CSV。这正是"批量重命名""写 CSV"两个例子的组合拳——你卡住,说明那两个例子还没敲熟。

结
一句话总结

课程是"地图 + 罗盘",走路还得靠你自己迈腿、摔跤、爬起来、记路。把每门课的示例代码全手敲一遍、跑通、改参数、加日志、写 README,再做 1–2 个完整小项目,你的水平会稳稳超过"只看视频不动手"的 90% 入门者——这才是可量化的进步。

源

配套开源产品推荐

Open-Source Tools We Like

学工具不是为了空谈,下面三个本门户自己在用的开源小工具,都是"用 AI 提升学习和工作"的实战件,感兴趣可以去 GitHub 上看看源码、自己跑一个。

MJ-reader
AI 赋能精准学习——把厚书、长文章喂进去,让 AI 帮你抓重点、做笔记、出问答,读得更快记得更牢。
在 GitHub 查看
multi_model_client
AI 陪伴 Agent——一个能聊天、能记事、能切换多个大模型的本地客户端,像身边坐了个随时可问的学习伙伴。
在 GitHub 查看
mj-nexus-os
本地化 Work Agent——跑在自己电脑上的工作智能体,把"打开软件、整理文件、跑脚本"这些零碎活儿交给它。
在 GitHub 查看
持续更新中 —— 移动端(Flutter / iOS)与产品设计已上线,云原生、安全、测试与工程化等专题会陆续补齐。
看到哪门还没开,先记着,过阵子回来敲门就行。
深

知识点深化库 · 20 页

Deep Dive Library

20 个软件技术核心知识点,每个一页讲透:数据结构 → JVM → 数据库 → 网络 → 前端。直觉、代码、例题、18 题练习、记忆口诀,面试前刷一遍。

数组与链表
连续存储 vs 指针串联
栈与队列
LIFO/FIFO 底层与应用
哈希表
哈希函数、冲突解决、负载因子
二叉树与遍历
前中后序、层序、递归改迭代
堆与优先队列
大顶堆小顶堆、堆排序、TopK
图基础与遍历
邻接表/邻接矩阵、BFS/DFS
排序全家族
冒泡/快排/归并/堆排/基数对比
双指针与滑动窗口
对撞/快慢/窗口模板
JVM 内存模型
堆/栈/方法区/程序计数器
垃圾回收
GC Roots、标记清除/复制、G1/ZGC
线程与并发
synchronized/volatile/锁/线程池
类加载机制
双亲委派、加载-连接-初始化
索引与 B+ 树
聚簇/非聚簇、覆盖索引、最左前缀
事务与 ACID
隔离级别、幻读、MVCC
SQL 优化
EXPLAIN、慢查询、索引失效
TCP 三次握手
序列号/状态机/四次挥手
HTTP/HTTPS 全貌
请求响应、状态码、TLS 握手
Linux 命令速成
文件/进程/网络/权限/grep awk
闭包与原型链
作用域链、this、原型继承
浏览器渲染机制
从 URL 到像素、重排重绘
线程池原理
七大参数、执行流程、拒绝策略
锁与 synchronized
锁升级、Monitor、ReentrantLock
JMM 与 volatile
可见性、有序性、happens-before
ConcurrentHashMap
分段锁到 CAS+桶锁演进
线程安全模式
不可变、线程封闭、安全发布
CompletableFuture
异步链式编排、并行调用
分布式事务
2PC、TCC、本地消息表
CAP 与一致性
CP/AP、Raft、BASE
消息队列
解耦异步削峰、消息可靠性
RPC 与注册中心
服务发现、负载均衡
分布式锁
Redis SETNX、看门狗、RedLock
缓存穿透雪崩
穿透/击穿/雪崩三兄弟
React 核心原理
虚拟 DOM、Diff、Hooks、Fiber
Vue 响应式
defineProperty 到 Proxy
前端构建工具
Webpack、Vite、Tree Shaking
前端性能优化
LCP/INP/CLS、加载渲染交互
微服务拆分
业务域拆分、避免分布式单体
熔断限流
熔断器三态、令牌桶、降级
API 网关
统一入口、鉴权、路由、限流