后端vibe coding

Contents

课程目录

Chapter 01

什么是后端

Chapter 01

用户的操作是如何运行的

用户
点击 / 输入
前端

Web / App / 小程序 / 其他 GUI

发送 API 请求
API
服务器
后端程序

鉴权 / 数据校验 / 路由 / 业务逻辑实现

数据库

增 / 删 / 查 / 改

Chapter 01

一次后端请求的内部旅程

01 Request

接收请求

后端先接住来自前端的接口请求,拿到路径、参数和用户上下文。

请求进入系统
02 Check

校验与鉴权

判断参数是否合法、用户有没有权限,先拦住不合规请求。

先确认能不能处理
03 Logic

进入业务逻辑

根据接口目标执行对应逻辑,比如算价格、生成订单、更新状态。

真正开始做事
04 Data

读写数据库

需要数据时查询数据库,需要保存结果时再把新状态写回去。

拿数据或改数据
05 Response

组织并返回响应

把最终结果整理成接口响应,返回给前端,再展示给用户。

把结果送回前端
后端 =
接收指令
计算 / 判断 / 校验
读写数据
返回结果
Chapter 01

后端及开发场景

1

脚本 / 批量任务处理

特征 一次触发后自动执行,适合批量、定时、周期性处理。
例子 每天凌晨统计销售数据、同步库存、批量生成报表。
2

接入已有产品的服务 / 接口

特征 持续在线,专门给现有 Web、App、小程序提供后端能力。
例子 给已有商城接入登录、下单、支付、查询等后端接口。
3

开发完整的前后端产品

特征 不仅写后端,还要和前端、数据库、部署一起构成完整产品。
例子 从 0 开发一个课程平台、管理后台、题库工具或小型 SaaS。
Chapter 01

3种开发场景的差异

Scene 01

场景1:脚本

触发方式 定时 / 手动运行一次
输入 文件、数据库表、命令行参数
输出 新文件、数据库更新、邮件
核心概念 后端、脚本、文件、数据库(查改增)
不涉及 API、请求/响应、服务常驻
Scene 02

场景2:接口

触发方式 每个 HTTP 请求触发
输入 HTTP 请求体 / 参数
输出 HTTP 响应(JSON)
核心概念 后端、服务、API、请求 / 响应、数据库
不涉及 前端
Scene 03

场景3:完整产品

触发方式 用户在前端操作触发
输入 前端收集的数据
输出 前端页面更新
核心概念 前端 + 后端 + API + 数据库 + 所有 L3 概念
不涉及
Chapter 02

vibe coding关注什么

Chapter 02

后端vibe coding关注3个方面

数据是最内核的对象,业务逻辑负责处理它,安全则包裹住整个系统边界。

Data

数据

后端要先想清楚存什么、怎么查、怎么改,因为所有结果最终都落在数据上。

Logic

业务逻辑

规则、状态流转、条件判断、接口处理都属于逻辑层,它决定数据怎样被使用。

Security

安全

权限、鉴权、参数校验、风险控制包裹在最外层,保证系统不会被误用或滥用。

安全
业务逻辑
数据
数据
业务逻辑
安全
Chapter 02

三者分别包含什么

Data

数据

数据建模 表结构、字段类型、主键、外键、索引
存储选型 MySQL、PostgreSQL、Redis、MongoDB、对象存储(OSS)
数据操作(CRUD) INSERT、SELECT、UPDATE、DELETE、ORM(如 MyBatis、GORM)
数据校验 参数校验、非空检查、格式验证(正则)、长度限制
数据流转 请求→响应管道、消息队列(Kafka、RabbitMQ)、ETL
Logic

业务逻辑

规则判断 if-else、switch、规则引擎(Drools)
流程编排 工作流引擎(Activiti)、状态机、分布式事务(Saga)
计算与转换 数学公式、聚合计算、数据映射(Map/Reduce)
异常处理 try-catch、错误码、重试机制、降级熔断(Hystrix)
外部调用 HTTP 客户端(Feign、RestTemplate)、RPC(Dubbo、gRPC)
Security

安全

身份认证 Session、JWT、OAuth2、SSO、LDAP
权限控制 RBAC(角色)、ABAC(属性)、ACL(访问控制列表)
数据保护 加密(AES、RSA)、哈希(BCrypt)、传加密(TLS/HTTPS)
防攻击 SQL 注入防护、XSS 过滤、CSRF Token、限流(令牌桶)、验证码
审计日志 操作日志、访问日志、链路追踪(Sleuth + Zipkin)
Chapter 02

数据决策树

01

存哪里?

先判断数据最终应该落在哪一类存储位置。

数据库 永久、可查询、一致性强
缓存 高速、临时、可能丢
文件 大文件、非结构化、长期
内存 极快、进程结束即丢
02

用什么工具?

确定了存储位置后,再选具体技术栈和组件。

数据库 MySQL / PostgreSQL / MongoDB / …
缓存 Redis / Memcached / …
文件 本地文件系统 / 云存储(OSS / S3)…
内存 程序变量 / 数组 / 字典 / …
03

以什么方式存?

最后决定数据模型和结构,决定系统如何理解这份数据。

结构化 表(行 + 列)、JSON、固定字段
半结构化 键值对、文档
非结构化 文本、图片、视频、二进制
Chapter 02

业务逻辑决策树

01

模块拆分

这个业务可以分成哪几件独立的事?

例子 下单 = 校验库存 → 创建订单 → 扣库存 → 支付 → 发消息
02

时序逻辑

这几件事按什么顺序做?哪些可以并行?

串行 A 做完才能做 B
并行 A 和 B 可以同时做
条件 满足某个条件才做 C
循环 重复做 D 直到满足条件
03

异常路径

每一步失败了怎么办?

重试 如网络抖动
跳过 非关键步骤可跳过
回滚 撤销前面步骤,事务回退
报警 人工介入处理
04

外部依赖

调外部服务时超时或报错怎么办?

熔断 快速失败,保护自己
降级 返回默认值或缓存
异步重试 放进队列,稍后处理
Chapter 02

安全决策树

01 Identity

身份安全(鉴权)

先判断接口要不要确认“你是谁”,再决定是否继续做更细的访问控制。

是否需要验证身份?
是 → 使用认证方式 Session / Cookie、JWT、OAuth2 / SSO、API Key。
认证
Session / Cookie JWT OAuth2 / SSO API Key
否 → 匿名访问 公开接口可放行,但通常只适合只读或公共资源。
公开
是否需要权限控制?
是 → 使用授权模型 RBAC、ABAC、ACL,继续回答“他能做什么”。
授权
RBAC ABAC ACL
否 → 仅认证不鉴权 只确认身份,不区分更细粒度权限。
简化
Chapter 02

安全决策树

02 Data

数据安全(加密)

同时判断数据在传输中、存储时、展示时,是否需要额外保护。

传输中是否需要加密?
是 → TLS / HTTPS 对外接口默认应启用,避免链路中被窃听或篡改。
链路
否 → 明文传输 仅内网勉强可见,但整体不推荐。
不推荐
存储时是否需要加密?
密码 → BCrypt / PBKDF2 手机号/身份证 → AES 支付/密钥 → RSA 完整磁盘 → 全盘加密
否 → 明文存储 实现简单,但安全风险高,不推荐。
高风险
是否需要脱敏展示?
是 → 掩码展示 如 `138****0000`,减少界面直接暴露的敏感信息。
脱敏
否 → 原始数据 通常只限内部系统或管理员场景。
内部
Chapter 02

安全决策树

03 Engineering

工程安全(日志与防护)

除了权限和加密,系统还要具备记录、拦截、追溯攻击与异常的能力。

是否需要记录日志?
操作日志 访问日志 审计日志 ELK / Sleuth+Zipkin / SLF4J
否 → 无日志 出问题后几乎无法定位,整体不推荐。
不推荐
是否需要防攻击?
限流防刷 令牌桶 / 漏桶,如 Redis + Lua。
SQL 注入防护 参数化查询 / ORM,如 MyBatis、JPA。
XSS / CSRF / 暴力破解 输出过滤 / CSP、Token 校验、验证码 / 登录失败锁定。
是否需要审计追溯?
是 → 记录关键信息 用户 ID、操作时间、IP、请求参数、处理结果。
审计
否 → 仅错误日志 能看到报错,但无法完整回溯敏感操作链路。
简版
Chapter 03

前后端配合

Chapter 03

前后端配合 · 接口数据获取

01 Reuse

后台页面的接口复用

如果系统里已经有管理后台页面,最直接的方式通常是先看它当前正在调什么接口。

适合场景 你要做的是已有业务能力的前端接入,而不是发明一套新后端。
怎么找 看浏览器 Network、页面源码、接口封装文件,直接定位请求地址和参数格式。
优点 真实可用、字段更贴近线上系统,通常成本最低。
02 Docs

其他已有接口文档使用

如果团队已经有 Swagger、YAPI、Apifox 等文档,可以直接按文档接入。

适合场景 你拿不到现成页面,但接口定义已经被整理出来。
重点关注 请求方式、路径、鉴权方式、入参结构、返回字段、错误码。
风险 文档可能过期,所以接入时最好再用调试工具验证一次。
03 Build

自己开发的接口使用

如果没有现成能力可复用,就需要自己定义接口,再由前端按你定义的协议来调用。

适合场景 新需求、新流程、新数据结构,现有系统无法直接支持。
你要明确 接口路径、请求参数、响应结构、鉴权规则、异常返回。
核心价值 前后端约定清晰后,页面开发、联调和后续维护都会更顺畅。
Next Lesson

Thanks

下一节:5.数据库的应用