Go语言实战流媒体视频网站课程介绍:
本课程使用Go实战一个流媒体视频网站,从后端Server到前端UI,全面学习Go的关键开发技能和架构风格。借助SOA服务化解耦的设计理念讲解,帮大家理解真实web服务背后的内容。最后通过架构调整实现Cloud native(云原生)部署。
课程目录:
- 第1章 课程介绍 试看2 节 | 18分钟
- 介绍这门课程大纲,技术堆栈以及环境
- 收起列表
-
- 视频:1-1 prestudy (07:52)试看
- 视频:1-2 课程介绍及知识要点预习 (09:07)
- 第2章 一个例子了解golang工具链4 节 | 33分钟
- 通过一个简单的webservice具体从golang的工具链,到test,全面介绍golang在工程项目里需要掌握的知识点。
- 收起列表
-
- 视频:2-1 一个例子了解golang常用工具链 (10:09)
- 视频:2-2 golang项目中test的写法 (13:29)
- 视频:2-3 golang项目中benchmark的写法 (07:54)
- 视频:2-4 章节总结 (00:35)
- 第3章 流媒体网站架构以及API模块的实现 试看18 节 | 203分钟
- 本章通过实战演练,从网站的整体架构设计,到服务划分,数据库设计,到api模块的实现,全面讲述golang对webservice的实现以及代码分层架构的思想,同时辅以test cases的全程编写与指导,全面了解工程化golang项目的实现。
- 收起列表
-
- 视频:3-1 流媒体网站整体介绍与架构梳理 (08:30)
- 视频:3-2 api设计与架构 (12:00)试看
- 视频:3-3 api实现之详细设计(上) (08:24)
- 视频:3-4 api实现之详细设计(中) (07:04)
- 视频:3-5 api实现之详细设计(下) (08:27)
- 视频:3-6 api之http handler层 (14:31)
- 视频:3-7 api之数据库层设计 (13:01)
- 视频:3-8 api之数据库层实现_数据库连接 (10:51)
- 视频:3-9 api之数据库层实现_实现User (07:54)
- 视频:3-10 api之数据库层实现_编写User Test Case (13:08)
- 视频:3-11 api之数据库层实现_User部分代码优化 (04:54)
- 视频:3-12 api之数据库层实现_实现和验证Video (14:18)
- 视频:3-13 api之数据库层实现_实现Comments (13:23)
- 视频:3-14 api之数据库层实现_Comments Test Case (07:10)
- 视频:3-15 api之session处理与实现(上) (17:24)
- 视频:3-16 api之session处理与实现(下) (15:52)
- 视频:3-17 api之http middleware的实现与handler收尾(上) (12:38)
- 视频:3-18 api之http middleware的实现与handler收尾(下) (12:41)
- 第4章 stream模块 试看9 节 | 51分钟
- 通过stream server的实现过程,着重讲述通过golang实现流式播放,上传文件,以及利用channel实现流控等实用知识点,进一步加深对golang的掌握。
- 收起列表
-
- 视频:4-1 stream server (02:26)
- 视频:4-2 streaming的架构搭建 (07:35)
- 视频:4-3 token bucket (04:12)
- 视频:4-4 流控模块的实现 (05:03)试看
- 视频:4-5 在http middleware中嵌入流控 (05:24)
- 视频:4-6 streamHandler实现 (06:40)
- 视频:4-7 验证streamHandler (03:05)
- 视频:4-8 uploadHandler实现 (12:13)
- 视频:4-9 验证uploadHandler (03:21)
- 第5章 scheduler模块7 节 | 82分钟
- 通过对生产者消费者模型在scheduler中的实现,全面了解golang是如何处理并发场景,以及如何在并发场景下通过channel实现消息同步。
- 收起列表
-
- 视频:5-1 scheduler介绍 (03:24)
- 视频:5-2 代码架构搭建 (04:11)
- 视频:5-3 runner的生产消费者模型实现 (18:31)
- 视频:5-4 runner的使用与测试 (08:08)
- 视频:5-5 task示例的实现 (24:20)
- 视频:5-6 timer的实现 (09:35)
- 视频:5-7 api实现以及scheduler完成 (13:35)
- 第6章 前端服务和模版引擎渲染11 节 | 134分钟
- 讲述如何使用golang的模版引擎来渲染html文件,如何通过原生proxy和api两种模式实现后端服务接口透传并避免跨域访问,以及整个前台在实现业务上的js逻辑代码。
- 收起列表
-
- 视频:6-1 大前端和golang模版引擎介绍 (04:26)
- 视频:6-2 前端代码架构搭建 (08:46)
- 视频:6-3 静态页面渲染 (12:48)
- 视频:6-4 build脚本和homeHandler (12:55)
- 视频:6-5 userHomeHandler (10:03)
- 视频:6-6 api透传模块实现 (23:55)
- 视频:6-7 proxy转发的实现 (09:17)
- 视频:6-8 UI部分的预览 (03:25)
- 视频:6-9 API service补全与讲解 (17:58)
- 视频:6-10 UI之html讲解 (04:18)
- 视频:6-11 js部分实现 (25:06)
- 第7章 网站上云12 节 | 118分钟
- 通过对网站部分架构的改造和代码重构,使之更符合cloud native架构,辅以阿里云计算存储网络等服务,最终实现网站上云,打通网站上线最后一公里。
- 收起列表
-
- 视频:7-1 云原生讲解 (12:17)
- 视频:7-2 云存储改造之OSS方案分析 (08:24)
- 视频:7-3 云存储改造之OSS适配 (12:04)
- 视频:7-4 公共配置实现 (14:02)
- 视频:7-5 用vendor处理公共配置包 (07:40)
- 视频:7-6 SLB讲解与配置 (07:17)
- 视频:7-7 SLB之添加session容错 (06:59)
- 视频:7-8 ECS云主机和安全组配置 (07:02)
- 视频:7-9 scheduler的改造 (12:26)
- 视频:7-10 部署脚本以及db初始化 (17:12)
- 视频:7-11 部署演示以及完成效果展示 (06:16)
- 视频:7-12 课程总结(回顾,延伸和优化) (06:12)