|
|
本帖最后由 xuenv2005 于 2019-3-4 12:32 编辑
) L# G$ d: x9 g @, t. w/ v! b% m1 s* h4 j
5 z: Q3 u- ~6 T+ Y( z' O% @
7 q; a* O5 {1 u" Z+ E" P Y第1章 课程介绍1 U1 b8 S% d& f8 H7 k+ C; s) F, p
介绍这门课程大纲,技术堆栈以及环境
* {9 P; P' [/ G+ e: Z( l$ T, N1 K: t) I9 t0 x
1-1 prestudy 试看
! z8 o' t' _9 t" ` 1-2 课程介绍及知识要点预习) U$ h, ~: k ?6 V+ _! E6 h b; c
第2章 一个例子了解golang工具链8 X: d+ M. s# S+ O1 K
通过一个简单的webservice具体从golang的工具链,到test,全面介绍golang在工程项目里需要掌握的知识点。
3 R, e7 K5 a4 ? a1 s; m3 l+ R9 Y! l6 A) v' v% k( V( v d0 I! Y
2-1 一个例子了解golang常用工具链
! [- ~% g! ~* i; Q 2-2 golang项目中test的写法7 U$ y" B* L8 ^* \+ Y
2-3 golang项目中benchmark的写法. s2 y2 f$ `% d& [$ s
2-4 章节总结8 K/ O! t5 w6 U5 \" o- c% n/ J
第3章 流媒体网站架构以及API模块的实现
% `/ n+ W! r# g1 i6 o; g本章通过实战演练,从网站的整体架构设计,到服务划分,数据库设计,到api模块的实现,全面讲述golang对webservice的实现以及代码分层架构的思想,同时辅以test cases的全程编写与指导,全面了解工程化golang项目的实现。
$ D) V/ `; g0 R7 k i0 c1 t/ J
' C5 T- M# ]; j2 ?9 q" _) Z" G 3-1 流媒体网站整体介绍与架构梳理! J+ b; a8 ]) X! u! A! z, _7 U1 R0 ?( W
3-2 api设计与架构 试看
, p5 K. ~1 S: |3 r2 y 3-3 api实现之详细设计(上)) o& u, Y( |+ I0 d: [1 B" ?* `
3-4 api实现之详细设计(中)0 ?5 Z/ q5 @5 y1 d4 n6 o; H( g
3-5 api实现之详细设计(下)
2 `+ g7 u& g9 p ?& Y9 w, R8 b ` 3-6 api之http handler层( P) [5 D/ k4 {2 d( x6 V
3-7 api之数据库层设计- v% s" Z. p( y h) n* M) l: Z
3-8 api之数据库层实现_数据库连接
Y; Q# r$ X* z E% \. } p) S 3-9 api之数据库层实现_实现User
- s+ v5 s- d" K' J. l+ S 3-10 api之数据库层实现_编写User Test Case
# j1 Q; Q- }( R J 3-11 api之数据库层实现_User部分代码优化
2 \* \& B9 B! {9 {# \9 L 3-12 api之数据库层实现_实现和验证Video3 r; `7 N" V8 h% D7 z& K# m; H4 M! m
3-13 api之数据库层实现_实现Comments7 K1 |" ~8 I! w/ R& C2 }+ T, }2 U( v
3-14 api之数据库层实现_Comments Test Case
: ^. }5 C6 W' m 3-15 api之session处理与实现(上)
1 r2 c# Y& x/ ]1 \ 3-16 api之session处理与实现(下)
, m( s1 f( z' F2 F 3-17 api之http middleware的实现与handler收尾(上)0 c! @7 O3 y/ H/ s% }$ o8 K% @+ q
3-18 api之http middleware的实现与handler收尾(下)2 m; p; w" J2 @7 e5 b
第4章 stream模块
5 p# i4 n- R2 l2 O通过stream server的实现过程,着重讲述通过golang实现流式播放,上传文件,以及利用channel实现流控等实用知识点,进一步加深对golang的掌握。- C8 K- B0 @; k" h2 t* O
' v; @ | K! K6 T* ~ 4-1 stream server! b+ J" X& [9 ?! d$ K( L
4-2 streaming的架构搭建; S0 f4 [( f' M
4-3 token bucket; x7 E7 P9 V' C, C6 B, R% g# i, D
4-4 流控模块的实现 试看
+ f* Y. T; Y. v% P) b 4-5 在http middleware中嵌入流控
% i! e5 a% q% ?/ U2 P9 w5 B 4-6 streamHandler实现+ @2 r! \+ w( y7 M: t) _
4-7 验证streamHandler! r2 l8 r j" F' X
4-8 uploadHandler实现! b; I2 q: d2 M/ G" n6 c
4-9 验证uploadHandler* s% k0 _0 f* A1 q! W0 B
第5章 scheduler模块, m4 }9 i3 P4 L6 \
通过对生产者消费者模型在scheduler中的实现,全面了解golang是如何处理并发场景,以及如何在并发场景下通过channel实现消息同步。
' J: k' A6 _* T1 o" Y/ Q& e5 s, k( R0 z& R
5-1 scheduler介绍
1 ]9 |5 G9 u8 j- ]. I( c' T& A 5-2 代码架构搭建$ K0 \" x' c$ n) y7 [% @+ Z
5-3 runner的生产消费者模型实现
) b4 _7 \! o- K3 I; H' _ 5-4 runner的使用与测试0 i2 u8 I& l; C
5-5 task示例的实现
. @1 x8 [0 S3 S9 G+ N0 v 5-6 timer的实现9 U2 p! X. Z, ^: S! c$ M
5-7 api实现以及scheduler完成9 P, C1 V1 s0 e% f+ K! v% T
第6章 前端服务和模版引擎渲染0 l$ H" y% ^0 F5 m
讲述如何使用golang的模版引擎来渲染html文件,如何通过原生proxy和api两种模式实现后端服务接口透传并避免跨域访问,以及整个前台在实现业务上的js逻辑代码。7 @, p5 Z, B3 W1 O! |7 t3 j: P
3 G5 a: z# B! X/ N9 C- n 6-1 大前端和golang模版引擎介绍0 y! o6 j" d4 _% t
6-2 前端代码架构搭建3 `! r- @' c |; r
6-3 静态页面渲染
, V" u7 p3 `* i9 O8 @# N 6-4 build脚本和homeHandler
: Y1 ]# [ B# S; h 6-5 userHomeHandler+ Y O5 z0 a z: g- D4 w6 q
6-6 api透传模块实现
/ R% t: T# x! K9 Z n 6-7 proxy转发的实现
+ ^- ^: j' s) Z" p: f 6-8 UI部分的预览" L; h3 C# K% m0 |' t( j. g
6-9 API service补全与讲解1 u# Z. y' C7 ~5 N: B* G n
6-10 UI之html讲解
5 ?- |% I4 C8 Y, j/ o# H 6-11 js部分实现3 o0 U8 a8 a& O; [' Q4 o- u* {4 Y
第7章 网站上云5 n& @$ e! O1 Q# p M0 r+ B4 \( S
通过对网站部分架构的改造和代码重构,使之更符合cloud native架构,辅以阿里云计算存储网络等服务,最终实现网站上云,打通网站上线最后一公里。" r6 V+ p0 Y* W: N
4 b' y O/ c. X 7-1 云原生讲解" |' j( J4 M2 Z i! \9 b
7-2 云存储改造之OSS方案分析
5 P1 T% z. ]: Y# o 7-3 云存储改造之OSS适配
; J& _" w" p [ 7-4 公共配置实现
/ {' @' q0 i* ^4 t5 y( s5 k' K* T 7-5 用vendor处理公共配置包 L2 c; Y: e9 s2 e- L$ A
7-6 SLB讲解与配置" ~& l9 q2 G" q# Z
7-7 SLB之添加session容错! e0 M+ a0 V1 F3 I
7-8 ECS云主机和安全组配置3 X( ^, L7 T3 P. ?% n, V
7-9 scheduler的改造/ v3 d) u* \& o
7-10 部署脚本以及db初始化
9 j! w# A7 `# P1 a 7-11 部署演示以及完成效果展示' E& ]$ f* g' h7 r5 r _2 G+ ^
7-12 课程总结(回顾,延伸和优化)! G/ w+ `8 c! L! n8 | Q
, c" v2 U2 H2 ?5 T
: s7 K$ m2 l2 R" c }% @! p
" X* L- }; E w1 s: A. p" k6 [
?0 S% A2 V1 b4 y6 O/ m来源: Go语言实战流媒体视频网站 |
|