Go Web开发进阶项目实战51CTO
【课程介绍】
由在职程序员打造的Go语言实战课程体系,与你分享企业项目开发经验与技巧。学习阅读源码的能力,学习Go Web开发常用组件的使用,可独立开发Go Web项目
【课程目录】
-
第1章 gin框架源码解析
1小时36分钟6节
1-1课程介绍[05:32]1-2gin框架源码解析之Radix树介绍[18:04]1-3gin框架源码解析之请求处理[19:58]1-4gin框架源码解析之路由方法树[14:28]1-5gin框架源码解析之路由注册与路由匹配[19:41]1-6gin框架源码解析之中间件详解[19:01]第2章 Go语言操作常用数据库
3小时2分钟11节
2-1Go连接MySQL[26:22]2-2database/sql及mysql驱动注册源码分析[15:52]2-3database/sql增删改查操作[19:58]2-4mysql预处理和SQL注入[13:14]2-5MySQL事务操作[12:53]2-6使用sqlx连接MySQL[09:48]2-7sqlx基本使用[23:11]2-8sqlx.In函数介绍和使用[20:21]2-9使用go-redis连接redis[08:49]2-10go-redis基本使用[14:24]2-11pipeline与watch事务[17:53]第3章 Go Web开发常用组件
3小时12分钟12节
3-1zap日志库介绍[15:10]3-2zap日志库自定义配置[22:35]3-3gin框架添加zap记录日志[09:28]3-4使用viper读取配置信息(配置热加载)[25:10]3-5从viper获取配置信息[12:11]3-6优雅关机和平滑重启[14:44]3-7大型Web项目CLD分层理念[07:44]3-8搭建较通用GoWeb开发脚手架(上)[16:34]3-9搭建较通用GoWeb开发脚手架(下)[13:46]3-10使用结构体变量保存配置信息[21:33]3-11补充viper库的注意事项[13:51]3-12补充通过命令行参数获取配置文件路径[19:39]第4章 bluebell项目实战
11小时33分钟42节
4-1课前唠叨之编程应该怎么学?[05:38]4-2用户表结构设计[07:46]4-3基于雪花算法生成用户id[20:26]4-4梳理注册业务流程[17:48]4-5请求参数的获取与校验[14:26]4-6使用validator库进行参数校验[21:33]4-7创建用户保存至数据库[21:44]4-8配置mode控制日志输出位置[11:53]4-9登录功能基本实现[15:11]4-10定义错误码并封装响应方法[21:49]4-11用户认证模式介绍[20:04]4-12JWT(JSON Web Token)介绍[11:24]4-13在项目中使用JWT认证[21:23]4-14优化JWT认证中间件[11:49]4-15解决代码中循环引用的问题[07:02]4-16refresh token模式详解[17:18]4-17限制同一账号同一时间只能登录一个设备[08:07]4-18前端vue实现登录注册功能介绍[10:01]4-19为Go项目编写Makefile[11:40]4-20使用Air实现文件实时重载[08:08]4-21bluebell社区列表接口实现1[19:47]4-22bluebell社区列表接口实现2[14:03]4-23bluebell社区详情接口实现[18:54]4-24bluebell帖子表结构设计及模型定义[14:51]4-25bluebell实现创建帖子功能[21:17]4-26bluebell实现帖子详情接口[11:20]4-27bluebell帖子详情接口优化[13:12]4-28bluebell分页展示帖子列表[18:50]4-29解决传给前端数字id失真的问题[26:38]4-30贴子投票功能需求分析[10:47]4-31定义投票功能相关redis key[10:42]4-32贴子投票功能请求参数校验[16:00]4-33贴子投票功能逻辑分析[15:41]4-34实现贴子投票功能[28:49]4-35贴子投票功能测试及完善[15:35]4-36新版查询贴子接口之获取请求参数[23:07]4-37新版查询贴子接口之功能实现[25:11]4-38新版查询帖子接口之获取帖子分数[21:15]4-39新版查询帖子接口之补充按社区查询[27:46]4-40新版查询帖子接口整合[08:41]4-41使用swagger生成接口文档[18:05]4-42编写单元测试[27:54]第5章 性能分析及限流组件
1小时39分钟4节
5-1常用的HTTP服务压测工具介绍[14:54]5-2漏桶令牌桶限流算法介绍及编写限流中间件[24:24]5-3漏桶及令牌桶第三方库源码解析[36:38]5-4使用pprof进行性能分析[23:41]第6章 项目部署
1小时58分钟6节
6-1使用Docker部署Go程序示例[24:30]6-2使用Docker部署bluebell项目[24:03]6-3使用Docker Compose部署bluebell[17:12]6-4使用nohup及supervisor部署bluebe[23:48]6-5使用nginx部署bluebell的两种模式及跨域问[24:28]6-6企业中代码发布流程及CICD介绍[04:38]- [04:38]