开发工具链
本模块介绍 Go Web 开发中常用的工程化工具和技术栈,包括数据库操作、ORM 框架、配置管理、日志记录、认证授权等。
📋 学习目标
完成本模块学习后,你将能够:
- 使用 MySQL 进行数据库操作
- 使用 GORM 进行 ORM 操作
- 掌握 Go Modules 依赖管理
- 使用 Viper 管理配置
- 使用 Zap 进行日志记录
- 实现 JWT 认证授权
- 使用 Swagger 生成 API 文档
- 使用 Redis 进行缓存和消息队列
- 使用 Docker 进行容器化部署
- 使用 Testify 编写单元测试
- 实现定时任务和实时通信
- 掌握其他常用工程化工具
🎯 学习路径
📚 第一部分:数据库与 ORM(第1-2周)
| 章节 | 内容 | 预计时间 | 难度 |
|---|---|---|---|
| MySQL 基础 | MySQL 连接和操作 | 4-5小时 | ⭐⭐ |
| GORM 框架 | ORM 操作和关联 | 5-6小时 | ⭐⭐⭐ |
🛠️ 第二部分:依赖与配置(第3-4周)
| 章节 | 内容 | 预计时间 | 难度 |
|---|---|---|---|
| Go Modules | 依赖管理 | 3-4小时 | ⭐⭐ |
| Viper 配置管理 | 配置读取和管理 | 3-4小时 | ⭐⭐ |
📝 第三部分:日志与认证(第5-6周)
| 章节 | 内容 | 预计时间 | 难度 |
|---|---|---|---|
| Zap 日志库 | 结构化日志 | 3-4小时 | ⭐⭐ |
| JWT 鉴权 | JWT 认证实现 | 4-5小时 | ⭐⭐⭐ |
🔧 第四部分:其他工具(第7-8周)
| 章节 | 内容 | 预计时间 | 难度 |
|---|---|---|---|
| Validator 验证 | 数据验证 | 2-3小时 | ⭐⭐ |
| CORS 跨域 | 跨域处理 | 2-3小时 | ⭐ |
| 限流与熔断 | 限流和熔断器 | 3-4小时 | ⭐⭐⭐ |
📚 第五部分:API 与缓存(第9-10周)
| 章节 | 内容 | 预计时间 | 难度 |
|---|---|---|---|
| Swagger API 文档 | API 文档生成 | 3-4小时 | ⭐⭐ |
| Redis 缓存 | 缓存和消息队列 | 4-5小时 | ⭐⭐⭐ |
🐳 第六部分:部署与测试(第11-12周)
| 章节 | 内容 | 预计时间 | 难度 |
|---|---|---|---|
| Docker 基础 | 容器化部署 | 3-4小时 | ⭐⭐ |
| 测试框架 Testify | 单元测试和 Mock | 2-3小时 | ⭐⭐ |
⚙️ 第七部分:高级功能(第13-14周)
| 章节 | 内容 | 预计时间 | 难度 |
|---|---|---|---|
| 任务调度 Cron | 定时任务 | 2-3小时 | ⭐⭐ |
| WebSocket | 实时通信 | 3-4小时 | ⭐⭐⭐ |
🚀 快速开始
技术栈概览
go
// 典型的 Go Web 项目技术栈
import (
"gorm.io/gorm" // ORM 框架
"gorm.io/driver/mysql" // MySQL 驱动
"github.com/spf13/viper" // 配置管理
"go.uber.org/zap" // 日志库
"github.com/golang-jwt/jwt" // JWT 认证
)💡 学习建议
📖 学习方法
- 循序渐进:从基础工具到高级特性
- 实践为主:通过实际项目学习
- 理解原理:理解工具的设计思想
- 最佳实践:学习生产环境的使用方式
🔍 推荐资源
⏭️ 下一阶段
完成开发工具链学习后,可以进入:
🎉 开始你的工具链学习之旅吧! 这些工具将大大提高你的开发效率!
