
├── PART1
│ ├── 001.0.chatgpt项目实战课程介绍
│ ├── 002.环境-1.功能需求与项目设计思路
│ ├── 003.环境-2.项目部署环境准备
│ ├── 004.环境-3.Linux编译并运行开源项目
│ ├── 005.环境-4.Windows编译并运行开源项目
│ ├── 006.token-1.为什么选择docker
│ ├── 007.token-2.docker镜像原理以及镜像构建
│ ├── 008.token-3.命名空间隔离与控制组资源分配
│ ├── 009.token-4.docker运行token计数容器
│ ├── 010.代理-1.项目部署架构调整及细化
│ ├── 011.代理-2.反向代理与chatgpt API
│ ├── 012.代理-3.gin框架中间件编程与鉴权
│ ├── 013.代理-4.logrus日志滚动记录
│ ├── 014.代理-5.chatgpt API 参数释义与使用
│ ├── 015.代理-6.testing测试框架之功能测试
│ ├── 016.代理-7.testing测试框架之性能测试与并发测试
│ ├── 017.代理-8.pprof性能分析与服务限流
│ ├── 018.代理-9.镜像多阶段构建以及服务的部署策略
│ ├── 019.data-1.数据库的选择以及数据库设计
│ ├── 020.data-2.gRPC环境的安装与使用流程
│ ├── 021.data-3.protobuf协议及服务的定义
│ ├── 022.data-4.gRPC 服务端实现以及依赖注入
│ ├── 023.data-5.gRPC Server端单元测试
│ ├── 024.data-6.Keepalive保活策略
│ ├── 025.data-7.gRPC服务通讯安全策略
│ ├── 026.data-8.gRPC单tcp连接多路复用
│ └── 027.敏感词-1.二叉搜索树与词库重排
└── PART2
├── 028.敏感词-2.敏感词识别服务的实现
├── 029.敏感词-3.敏感词识别服务打包与部署
├── 030.keywords-1.关键词提取服务的具体实现
├── 031.keywords-2.关键词提取服务打包与部署
├── 032.服务-1.gRPC微服务项目脚手架搭建
├── 033.服务-2.服务设计思路与响应数据协议解析
├── 034.服务-3.服务端基本请求流程实现
├── 035.服务-4.Redis连接池与上下文管理
├── 036.服务-5.携带上下文发送请求
├── 037.服务-6.gRPC连接池与gRPC服务的接入
├── 038.服务-7.docker Service服务部署
├── 039.web-1.chatgptweb端协议解析
├── 040.web-2.chatgptweb端的参数化构建和部署
├── 041.QQ-1.OneBot聊天机器人应用接口标准
├── 042.QQ-2.OneBot实现的正向Websocket
├── 043.QQ-3.OneBot实现的反向WebSocket
├── 044.QQ-4.QQ端消息类型处理与服务部署
├── 045.cron-1.docker注册中心与微服务的部署
├── 046.cron-2.微信开发流程与crontab定时任务
├── 047.cron-3.crontab定时获取微信接口调用凭据
├── 048.cron-4.crontab服务的具体实现
├── 049.mp-1.公众号消息回调接口配置
├── 050.mp-2..公众号被动回复与客服消息发送
├── 051.mp-3.crontab服务与ChatGPT服务的接入
├── 052.wec-1.企业微信微信客服开发流程与配置
├── 053.wec-2.ChatGPT的接入与消息的加解密
├── 054.wx-1.个人微信群聊与私聊的接入
├── 055.wx-2.个人微信ChatGPT接入
├── 056.q-1.一个更显专业的web前端 从零掌握ChatGPT项目企业级开发实战
├── 057.q-2.ChatGPT每分钟限流问题如何解决
├── 058.ops-1.Docker Swarm集群管理和节点管理
├── 059.ops-2.Swarm集群私有注册中心的配置
├── 060.ops-3.Compose file定义与Stack的部署
├── 061.ops-4.Docker Stack部署服务到云服务器
├── 062.ops-5.Nginx 反向代理转发请求
├── 063.ops-6.gitlab 持续集成环境升级与验证
├── 064.ops-7.gitlab持续集成与持续部署
└── 065.ops-8.web前后端分离与gitlab CICD