后端开发是构建现代Web应用的核心技术,从基础的编程语言到复杂的API设计和数据库管理,本路径将带你系统掌握后端开发的技能。
学习建议:
- 初学者推荐从 Python + FastAPI 开始,快速上手
- 有一定基础后可学习 Go + Gin,提升性能优化能力
- 建议按照章节顺序循序渐进学习
参考资料:
第一阶段:编程语言基础
Python基础(推荐入门)
- Python语法基础
- 变量、数据类型(int, str, list, dict)
- 控制流(if, for, while)
- 函数定义和调用
- 模块和包导入
- 数据结构和算法
- 内置数据结构(list, tuple, dict, set)
- 基本算法(排序、搜索)
- 时间复杂度分析
- 面向对象编程
- 类和对象
- 继承和多态
- 封装和抽象
- 包管理和虚拟环境
- uv 创建虚拟环境
- uv 包管理
Go基础(进阶选择)
- Go语法基础
- 变量声明和类型
- 函数和方法
- 指针和内存管理
- 并发编程
- goroutines创建和管理
- channels通信
- sync包的使用
- 包管理和模块
- go mod初始化
- 依赖管理
- 包导入
- 错误处理
- error类型
- panic和recover
- 自定义错误
第二阶段:Web框架
FastAPI框架(Python生态)
- FastAPI快速入门
- 安装和Hello World
- 基本应用结构
- 路由和请求处理
- 路径参数和查询参数
- 请求体处理
- 响应模型
- 数据模型(Pydantic)
- BaseModel定义
- 字段验证
- 嵌套模型
- 依赖注入
- 依赖函数
- 全局依赖
- 路径依赖
- 中间件和异常处理
- 自定义中间件
- 异常处理器
- HTTP异常
- 异步编程
- async/await语法
- 异步数据库操作
- 并发请求处理
Gin框架(Go生态)
- Gin快速入门
- 安装和基本路由
- 运行服务器
- 路由和中间件
- 路由分组
- 中间件使用
- 路由参数
- 数据绑定和验证
- JSON绑定
- 表单绑定
- 验证器
- 错误处理
- 自定义错误响应
- 恢复中间件
- 性能优化
- 路由优化
- 内存池使用
第三阶段:API设计与开发
RESTful API设计原则
- 资源导向设计
- 遵循资源化的 URI(如
/users/123) - 使用标准 HTTP 动词(GET/POST/PUT/DELETE)
- 无状态性
- 统一接口
- 遵循资源化的 URI(如
HTTP协议
- HTTP方法
- GET:获取资源
- POST:创建资源
- PUT:更新资源
- DELETE:删除资源
- 状态码
- 2xx:成功(200 OK, 201 Created)
- 4xx:客户端错误(400 Bad Request, 404 Not Found)
- 5xx:服务端错误(500 Internal Server Error)
数据交互
- JSON数据格式
- JSON结构与语法
- 序列化和反序列化
- 统一响应格式设计
- CORS(跨域资源共享)
- 浏览器同源策略
- CORS配置方法
- 预检请求处理
会话管理
- Cookie & Session
- Cookie:浏览器端存储
- Session:服务端会话
- 安全性考虑
- JWT(JSON Web Token)
- 无状态认证方案
- Token结构(Header, Payload, Signature)
- 刷新Token机制
渲染模式
- SSR(服务端渲染)
- SEO友好
- 首屏加载快
- CSR(客户端渲染)
- 用户交互流畅
- 服务器压力小
- 混合渲染
- Next.js等现代框架
- 按需选择渲染方式
API文档
- OpenAPI规范(Swagger)
- API规范定义
- 版本控制
- 自动文档生成
- Swagger UI
- 交互式文档
- 在线测试API
第四阶段:数据库
关系型数据库(SQL)
- SQL基础
- CRUD操作(增删改查)
- JOIN查询(内连接、外连接)
- 子查询和聚合
- 数据库设计
- 表结构设计
- 主键和外键
- 索引优化
- 范式理论
- ORM(对象关系映射)
- SQLAlchemy基础
- 模型定义
- 查询构建器
- 关系映射(一对一、一对多、多对多)
- 数据迁移
- Alembic使用
- 迁移脚本编写
- 版本管理
非关系型数据库(NoSQL)
- MongoDB基础
- 文档模型
- CRUD操作
- 集合和索引
- 使用场景
- 灵活的数据结构
- 大数据量存储
- 高并发读写
数据库性能优化
- 连接池管理
- 连接池配置
- 性能调优
- 查询优化
- 执行计划分析
- 索引策略
- 慢查询优化
第五阶段:安全与认证
认证与授权(Authentication & Authorization)
核心概念:
- 认证(Authentication):确认用户身份(谁在访问?)
- 授权(Authorization):控制访问权限(能做什么?)
认证方式
- 基于Session的认证
- Cookie-based会话
- 服务端存储
- 会话过期管理
- 基于Token的认证
- JWT(JSON Web Token)
- Token生成和验证
- Payload结构设计
- 刷新Token机制
- OAuth2.0
- 授权码流程
- 客户端类型
- 第三方登录集成
安全最佳实践
- 密码安全
- bcrypt哈希加密
- 密码强度验证
- 防止暴力破解
- HTTPS
- SSL/TLS证书
- 加密传输
- 常见安全威胁
- SQL注入防护
- XSS攻击防护
- CSRF防护
第六阶段:测试
单元测试
- pytest框架
- 测试函数编写
- fixtures使用
- 参数化测试
- Mock和Patch
- 测试覆盖率
- coverage工具
- 报告生成
- 覆盖率目标设定
API测试
- 集成测试
- requests库测试
- httpx异步测试
- TestClient使用
- 端到端测试
- 完整流程测试
- 数据库测试隔离
测试最佳实践
- TDD(测试驱动开发)
- 测试金字塔原则
- CI/CD集成
第七阶段:性能优化
缓存机制
- 缓存策略
- 缓存穿透、击穿、雪崩
- LRU/LFU算法
- 过期策略
- Redis缓存
- 键值存储
- 数据结构(String, Hash, List, Set, ZSet)
- 缓存更新策略
- HTTP缓存
- 客户端缓存
- ETag和Last-Modified
- Cache-Control头
异步任务处理
- Celery任务队列
- Worker配置
- 任务定义和调用
- 定时任务
- 消息队列
- RabbitMQ/Redis作为broker
- 任务重试机制
- 监控和管理
数据库优化
- 查询优化
- 执行计划分析
- 索引策略
- N+1问题解决
- 读写分离
- 主从复制
- 负载分配
负载均衡
- 基本概念
- 水平扩展
- 负载均衡算法(轮询、加权、最少连接)
- 实现方式
- Nginx负载均衡
- 健康检查
容器化
- Docker基础
- 镜像构建(Dockerfile)
- 容器运行和管理
- 多阶段构建优化
- Docker Compose
- 多容器编排
- 服务依赖管理
- 开发环境配置
部署流程
- 生产环境配置
- 环境变量管理
- 配置文件分离
- 日志管理
- 应用服务器
- Gunicorn/Uvicorn配置
- 进程管理
- 监控和重启
CI/CD
- 持续集成
- GitHub Actions
- 自动化测试
- 代码质量检查
- 持续部署
- 自动化部署流程
- 回滚策略
监控与日志
- 应用监控
- 性能指标收集
- 错误追踪
- 日志系统
- 日志收集和分析
- 日志等级管理