---
title: "ShipReal: 从氛围编程到真正的工程师"
description: "你的 AI 写好了这个应用。让它一直活着的那部分，没人写。 这门 20 小时的课补上这段空白。"
canonical: "https://shipreal.dev/zh-hans"
last-updated: "2026-09-01"
---

# 从氛围编程到真正的工程师

> 你的 AI 写好了这个应用。让它一直活着的那部分，没人写。 这门 20 小时的课补上这段空白。

**38 章，真实故障复盘、动手作业、自评测验。** [YouTube](https://www.youtube.com/watch?v=fyHbx9de3GI&list=PLFEcqBh9-Xwo) · [Teachable](https://shipreal.teachable.com/courses/course/lectures/66619411)

## 课程目录

### 引言

整门课的地图：每一章深潜能带走什么，十一篇之间又是怎么一层层叠上去的。

- **引言：前方的路** (13 节, ~25 min): 摊开地图：全部 38 章，每次深潜能带走什么，出问题时该跳到哪一章。

### 第 1 篇: 思维转变

重接你对“能运行的软件”的思考线路：系统、状态与权衡。AI 供不上的那层判断力。

- **“能用”的错觉** (12 节, ~28 min): 请求生命周期、环境，还有生产环境那座冰山：为什么“在我笔记本上能跑”几乎什么都不说明。
- **用系统与状态思考** (12 节, ~29 min): 状态、副作用与幂等性：为什么“再跑一次”有时候只会更糟。
- **决策、复杂度与抽象** (14 节, ~36 min): 权衡、YAGNI，以及抽象什么时候才值回租金：AI 替你做不了的那些判断。

### 第 2 篇: 开发者的地基

每天的手艺：把 Git 当思考工具、AI 原生的工作流、运行时、算法、前端架构，以及依赖这片雷区。

- **把版本控制当思考工具** (13 节, ~33 min): Git 不止 commit 和 push：分支策略、bisect，以及把 blame 当考古工具用。
- **AI 原生的工程工作流** (13 节, ~31 min): 把提示词当规格来写，审查不是你写的代码，以及让 AI 的速度不失控的那些护栏。
- **代码是怎么跑起来的：运行时这一层** (13 节, ~33 min): 进程、内存与事件循环：为什么 Node 会阻塞，为什么 Python 的 GIL 是个事。
- **算法思维：复杂度与数据结构** (13 节, ~27 min): 大 O 直觉，以及数组、哈希表和树怎么选：N 平方会在 10,000 个用户时悄悄要了你的命。
- **前端架构：AI 替你搭好的，和它搭错的** (13 节, ~35 min): 渲染模型、状态管理，以及 AI 替你搭错的那几处前端骨架。
- **依赖管理：藏起来的雷区** (12 节, ~31 min): 锁文件、语义化版本的谎言与供应链攻击：left-pad 的故事，以及怎么不当续集主角。

### 第 3 篇: 数据层

把数据库当心智模型：先有表和索引再谈查询，不再怕 SQL，以及不会把生产环境搞挂的迁移。

- **数据库基础：用数据思考** (13 节, ~33 min): 在写下第一条查询之前，先用表、索引和约束来思考。
- **SQL 与查询思维** (13 节, ~33 min): 不再怕 JOIN，看得懂的执行计划，以及一上量就化掉的那些查询。
- **规模化的数据：变更、迁移，以及更远处** (13 节, ~34 min): 变更、迁移和回填，而且不会把生产环境一起拖下水。

### 第 4 篇: 网络与契约

系统之间怎么说话：把 APIs 当契约、每个请求赖以存活的 DNS 到 HTTP 那条链，以及实时模式。

- **把 API 设计当契约** (13 节, ~35 min): REST 与 RPC 两种思路、版本化，以及在不坑依赖方的前提下演进 APIs。
- **网络基础** (12 节, ~33 min): DNS、TCP、TLS、HTTP：每个请求生死所系的那条链。
- **实时与事件驱动模式** (12 节, ~33 min): WebSocket、服务端推送事件与事件驱动流程：轮询不够用之后该怎么办。

### 第 5 篇: 加固

让它扛得住与现实的第一次接触：默认安全、有韧性的错误处理、买得到信心的测试，以及能回答“凌晨 3 点是什么坏了”的可观测性。

- **默认就安全** (12 节, ~35 min): OWASP 的头号风险、注入与认证失效：是攻击找上你，不是你去找它。
- **错误处理与韧性** (12 节, ~32 min): 超时、带退避的重试与熔断器：让失败体面地发生，而不是轰然发生。
- **测试：要的是信心，不是覆盖率** (12 节, ~33 min): 买到信心而不是买到覆盖率数字的测试：测什么，跳过什么，为什么。
- **可观测性：日志、指标与追踪** (15 节, ~33 min): 日志、指标与追踪：赶在用户之前回答“凌晨 3 点是什么坏了”。

### 第 6 篇: 基础设施与部署

你的代码踩在什么上面：容器到底解决了什么、比任何一次控制台改版都活得久的云概念，以及能拦下坏部署的流水线。

- **容器：讲为什么，不讲怎么做** (12 节, ~35 min): Docker 到底解决了什么：镜像和容器的区别，以及“在容器里能跑”为什么终于有了意义。
- **云基础设施：讲概念，不讲点哪个按钮** (12 节, ~38 min): 托管服务的决策树：比任何一次控制台改版都活得久的云概念。
- **CI/CD：护着你的那条流水线** (12 节, ~33 min): 一条能在用户发现之前拦下坏部署的流水线。

### 第 7 篇: 架构与规模

为增长做设计：单体优先的架构、队列、缓存、先剖析再优化，以及分布式系统的直觉。

- **架构模式：单体、服务与中间地带** (13 节, ~34 min): 单体优先的思路，服务什么时候才配得上它的复杂度，以及没人拿去做营销的那块中间地带。
- **异步处理与队列** (14 节, ~34 min): 消息队列：为什么每个真实系统都有一个，以及消费者跟不上时会发生什么。
- **缓存策略** (12 节, ~30 min): Redis、TTL 与缓存失效：计算机科学两大难题之一，名声在外。
- **性能、剖析与扩容** (14 节, ~33 min): 先剖析再优化：找到真正的瓶颈，而不是你猜的那个。
- **分布式系统直觉** (12 节, ~34 min): 分布式计算的那些谬误，以及在自己的设计里一眼认出它们的直觉。

### 第 8 篇: 业务层

养活公司的那部分代码：支付与合规、真能预测收入的指标，以及不骗自己的归因。

- **支付、订阅与合规** (12 节, ~34 min): 扛得住重试的支付 Webhook、订阅状态机，以及跳不过去的那些合规基本功。
- **业务指标与产品分析** (13 节, ~35 min): 真能预测收入的那些指标，以及只好看的那些虚荣指标。
- **用户获取、广告与归因** (13 节, ~36 min): UTM、归因窗口，以及不骗自己的广告算术。

### 第 9 篇: AI 驱动的产品

负责任地把智能送上线：模型怎么学、向量嵌入与 RAG，以及有评测和成本预算的生产级 AI 功能。

- **机器学习基础：模型是怎么学的** (12 节, ~33 min): 模型到底是怎么学的：够你不被演示和供应商忽悠。
- **给你的应用装上智能** (13 节, ~33 min): 向量嵌入、RAG，以及按活儿挑模型，而不是挑嗓门最大的那个。
- **做出能上生产的 AI 功能** (12 节, ~33 min): 评测、成本与延迟预算，以及扛得住真实用户的 LLM 功能。

### 第 10 篇: 手艺与生产级掌控

资深工程师的习惯：假设驱动的调试，以及把发布和赌博区分开的那张上线检查清单。

- **把调试当成一门功夫** (12 节, ~35 min): 假设驱动的调试：复现、隔离、证明，而不是打印语句加祈祷。
- **生产就绪与长期运维** (14 节, ~37 min): 上线检查清单、故障响应，以及发布之后才真正开始的那套运维节奏。

### 第 11 篇: 移动端扩展

到了手机上，一切都不一样：离线优先的数据、跑到一半就消失的网络，以及应用商店的发版列车。

- **移动端特有的心智模型** (13 节, ~33 min): 移动端为什么不是缩小版网站：生命周期、权限，以及当严厉房东的操作系统。
- **移动端数据与网络** (12 节, ~37 min): 离线优先的数据、同步冲突，以及请求跑到一半就消失的网络。
- **移动端发布与分发** (12 节, ~30 min): 应用商店审核、发版列车，以及二进制包为什么没法热修复。

### 结语: 临别赠言

收尾的那一端：你的思考方式变了什么，以及趁热该去做的那一件事。

- **临别赠言：现在去上线一个立得住的东西** (7 节, ~12 min): 你的思考方式变了什么，这周该做的那一件事，以及怎么守住刚练出来的判断力。

## 常见问题

### 这门课是给谁的？

靠做东西学会写代码的开发者，不是靠上课学的。你每天用 AI 工具（Copilot、Claude、ChatGPT）上线应用，速度前所未有。但“能跑”和“做过工程”之间隔着一道沟，凌晨 3 点出故障时你能感觉到，资深同事问你“为什么这么写”时你也能感觉到。

你不是新手。你写得出代码，但不总能说清按下回车之后到底发生了什么。这门课补的正是这道沟。

### 它教的东西，哪些是我用提示词问不出来的？

判断力。现在 AI 写掉了你 80% 的代码；真正要命的是剩下那 20%：架构、错误处理、安全模型、系统设计。这 20% 要求你懂权衡、懂上下文、懂后果，而这恰恰是 AI 替不了你的。

每一章都拿一件你自认“懂了”的东西（数据库、APIs、部署）开刀，让你看见自己漏掉了什么：请求生命周期、查询计划、重试风暴、缓存失效、上线检查清单。

### 需要 CS 学位或者特定的技术栈吗？

不需要学位。这门课就是为跳过学位的人，以及拿了学位但忘得差不多的人做的。它以概念为先：例子用的是 PostgreSQL、Redis、Docker、Stripe 这类主流工具，但每一章教的是心智模型，不是某家厂商的按钮该点哪个，所以你换成任何技术栈上线都用得上。

### 故障复盘和作业是什么？

Complete 里每一章都会解剖一场真实、有据可查的工程灾难：真实的公司、真实的日期、真实的根因，以及什么本来能拦住它。然后作业把这一章用到你自己已经上线的项目上，不是玩具仓库，所以每章结束时，你的真实系统都会比之前更接近生产级一点。

### 要花多长时间？

Complete 有 38 章教学内容，每章 25 到 40 分钟，另加作业，最后以一段简短的结语收尾。视频大约 20 小时，加上动手部分差不多翻倍。全课分成十一篇，彼此独立，所以你也可以直接跳到眼下正在着火的那一篇：部署挂了？第六篇。查询太慢？第三篇。

### 有证书吗？

有！而且是挣来的，不是看完就发：ShipReal 结业证书，由 Teachable 颁发。每一章都以一份 10 题自评测验和一道开放题收尾，全部做完，证书才到手。

### 公司能给整个团队买吗？

可以。席位直接售卖，按上面团队方案里的单席价格，一张发票结清，人来人走，席位跟着团队走。每位工程师拿到的都是 Complete 课程，配着自己的项目做，不是共用的沙箱。

超过 20 个席位，或者你需要 PO、通过 SAML 或 OIDC 做单点登录，又或者要把课程内容以 SCORM、xAPI 包或 LTI 的方式接进你自己的 LMS，在 Cornerstone、Workday、Moodle 或者你们在跑的任何系统里使用，写信给我，我们一起把范围定下来。

### 要是不适合我怎么办？

先看 YouTube 上免费的概览：几分钟就能知道这门课对不对你的路子。再往后，价格表里的那条保证就是全部答案，具体怎么申请写在退款政策里。

### 有哪些语言版本？

目前配音只有英文。Teachable 上的 Complete 附带英文、法文、德文、意大利文、西班牙文和希伯来文字幕。更多语言即将上线。

## Legal

[Privacy Policy](https://shipreal.dev/privacy) · [Terms of Service](https://shipreal.dev/terms) · [Refund Policy](https://shipreal.dev/refunds)
