1-100_9-4什么是JWT授权机制.mp4 81.94M" D8 q( u) X2 m( V: z, p1 R* k
├──1-10_1-10数组.mp4 146.25M3 o! i. F0 Q: S2 ^1 z( d
├──1-11_1-11切片.mp4 303.54M
6 g; W. ?: Q+ z* Z" Z6 n: f1 A├──1-12_1-12Map.mp4 125.33M/ P V) B- Z$ J4 Z" w
├──1-13_1-13结构体与方法.mp4 129.03M
) } E3 q& Z2 Q1 d$ D& `# r0 u `% E$ W├──1-14_1-14封装.mp4 182.58M
t5 p, _& }9 O$ l! T├──1-15_2-1接口是什么.mp4 156.96M
+ T! E3 Q* |" X& d8 T├──1-16_2-2Go语言中的鸭子类型.mp4 83.91M# P/ Q' F- J% }0 k& `- F& e; K
├──1-17_2-3接口的实现.mp4 97.63M
: Y/ y2 ^9 S- R: k; X& j/ G/ Y├──1-18_2-4接口的值到底是什么类型.mp4 103.39M+ H8 U! e/ G5 u3 J9 u; `
├──1-19_2-5接口组合的威力.mp4 59.74M$ J% J0 |. X+ G J5 r6 t/ g
├──1-1_1-1安装Go语言.mp4 154.17M
; {3 X8 j$ u m) c& m e' g├──1-20_2-6Go标准库中的接口.mp4 184.95M
5 t6 u/ C. a( C( |- _. ?7 j├──1-21_2-7函数式编程.mp4 280.53M5 Z0 f& ]7 @3 M& W1 A) J: i$ ]; ~
├──1-22_2-8延迟调用.mp4 125.25M% I1 \: h7 C5 B& |
├──1-23_2-9错误处理.mp4 98.28M
% {% i/ T9 H* _$ S R├──1-24_2-10测试.mp4 101.63M
; ?3 O$ k* s# a" a0 c├──1-25_2-11协程.mp4 110.16M
% f% F. Z% l$ z' H1 D1 b8 z% ^8 U├──1-26_2-12Go语言调度器的作用.mp4 37.92M6 P9 S& ^1 D3 W/ B4 E
├──1-27_2-13通道与协程.mp4 113.63M
' |9 @1 x! w1 K$ r& m├──1-28_2-14WaitGroup.mp4 43.80M. t0 @7 w" R: e( }* G/ C
├──1-29_2-15Select与协程.mp4 182.34M% j9 a! Y4 a; }
├──1-2_1-2安装ide.mp4 108.03M
% s4 I \3 b9 p) N! P, N8 O3 J├──1-30_2-16锁Mutex.mp4 137.89M( b3 u& ]! w* [6 F% o8 F% c' ]- w( b
├──1-31_2-17Go语言的依赖管理.mp4 100.02M
3 N, e9 c, c! O! c( `5 H c2 R5 B1 e. u├──1-32_2-18GoModule.mp4 100.47M
* d0 C: ]+ U' @* y├──1-33_3-1Gin介绍.mp4 197.86M
9 ~4 T( q' t! _; A3 R├──1-34_3-2Default()与New()初始化都干了什么?有什么区别?.mp4 53.31M% f% m( K( w; \& C4 W A( y, ]
├──1-35_3-3Gin非常贴心的Group功能.mp4 139.80M6 H! o; ^8 X$ v. \
├──1-36_3-4Gin是如何获取Url参数的.mp4 228.95M8 g% C9 S4 T3 a& b" `
├──1-37_3-5Gin是如何处理GET和POST请求的.mp4 207.88M
# U; O1 h; H( P' V├──1-38_3-6Gin如何处理表单验证.mp4 122.82M5 W! ?( _ l- U' B6 A4 ^& P" D
├──1-39_3-7重点!Gin如何使用中间件?.mp4 302.77M" P$ P; O" D# }2 t
├──1-3_1-3定义变量.mp4 268.64M
& h8 e1 N6 h0 \0 M& i" h├──1-40_3-8Gin的中间件是如何退出的?.mp4 142.11M
0 A* k X0 a C" V├──1-41_3-9如何让你的Gin程序安全优雅的退出.mp4 101.09M$ V; n0 H& {4 v5 Q5 }, }
├──1-42_4-1ORM的前世今生.mp4 49.46M
: G" z" e: n @├──1-43_4-2Go语言如何连接数据库.mp4 165.54M6 r( v' V, `6 ]- Y2 K4 \8 ]
├──1-44_4-3如何通过结构体生成表结构.mp4 114.99M8 k4 v2 ~) F4 h2 s. L0 F1 b8 f7 ~
├──1-45_4-4数据库的基础操作-增删改查.mp4 251.73M
2 P ]( k5 |5 e: g5 N8 X% m) K) T├──1-46_4-5Gorm更新零值的第二种解决方案.mp4 96.59M
2 v) c/ E7 X! F9 X0 P├──1-47_4-6如何使用Gorm的Tag.mp4 97.82M
1 m7 }- y }' c; j. ]# ~1 B0 C├──1-48_4-7避坑-update更新默认值.mp4 163.93M
; @* r. O6 L2 N F├──1-49_4-8批量添加数据有几种方法.mp4 158.34M( ?* W1 K& S" s
├──1-4_1-4内建变量.mp4 236.53M4 {6 r) f4 s9 C! B
├──1-50_4-9查询记录的几种方式.mp4 273.96M3 U) T3 a8 a" f# J. L `8 S
├──1-51_4-10带条件的查询.mp4 159.70M
9 Z; }) H2 f1 {! W5 r( X├──1-52_4-11多种更新操作.mp4 283.77M, H# @1 i6 u/ z# }& G; h# n1 s
├──1-53_4-12真删除还是假删除.mp4 165.37M
: \( M* H" G( `" d. u├──1-54_4-13如何添加有依赖关系的数据.mp4 111.23M5 }/ o" p6 {- D$ T1 Q" z7 h
├──1-55_4-14如何查询有依赖关系的数据.mp4 130.36M% g" J3 r4 u0 S2 _1 L8 X
├──1-56_4-15一对多关系的数据添加和查询.mp4 206.21M6 \3 B4 ]+ p! L0 l" w; l
├──1-57_5-1RPC简介.mp4 36.37M
! y; s# W; ?0 y Q6 v! X├──1-58_5-2Http的客户端如何调用服务端.mp4 160.70M$ E: _1 U' i- r$ Q
├──1-59_5-3你要知道的RPC四要素.mp4 46.42M
4 r# T! `0 d/ k7 ^├──1-5_1-5常量与枚举.mp4 71.36M5 s+ I2 ?: R9 P
├──1-60_5-4第一个原生的GO语言RPC示例.mp4 209.06M
5 P: y& P, v( R2 O├──1-61_5-5如何让原生rpc跨语言如何高并发.mp4 173.07M; d1 D- l# N4 M
├──1-62_5-6grpc+protobuf在一起.mp4 80.34M. U7 k! e, s+ m! o4 \
├──1-63_5-7玩转protobuf必备工具.mp4 57.32M
1 O+ |# g& N$ U1 ^4 x├──1-64_5-8编写第一个Protobuf文件.mp4 56.14M) G# [! C' }2 ?8 c) l
├──1-65_5-9用代码比较protobufvsjson.mp4 196.22M0 q9 l2 k# z' I; \( a. n
├──1-66_5-10如何生成proto对应的protobuf+grpc的代码.mp4 126.38M6 a, ^7 J+ e# N. |$ Y6 n7 ?! ]! t
├──1-67_5-11尝鲜GRPC+Protobuf.mp4 244.19M$ Z6 a, x' x. G, i: h
├──1-68_5-12GRPC的3种流式操作.mp4 698.94M
0 x* m+ ], V& N7 m├──1-69_6-1Protobuf数据类型是如何与Go语言数据对应的.mp4 379.26M1 o# }9 Q" n4 q3 I J
├──1-6_1-6条件判断.mp4 167.55M y1 L* j$ o" t6 B7 X
├──1-70_6-2你真的了解go_package吗?.mp4 81.21M, {8 ~7 |, S) F: ?* \
├──1-71_6-3这个锅是你的-proto顺序写错了.mp4 218.74M, Y9 U$ E: u6 g _3 B
├──1-72_6-4如何使用别人写好的proto文件.mp4 81.51M' W, u2 z: ^; p3 c
├──1-73_6-5message嵌套,你觉得好用吗?.mp4 85.91M) C7 y M( k7 x, \
├──1-74_6-6你要知道的Proto的枚举、map、timestamp3种类型.mp4 169.41M
M3 [7 {, |- q( R0 u! K( U├──1-75_6-7GRPC调用其他GRPC是如何传递数据的.mp4 272.87M ~8 v/ p/ {. k) l. m8 t
├──1-76_6-8GRPC的拦截器怎么做.mp4 326.37M
7 u5 P; x0 q* m& J├──1-77_6-9如何用Metadata+GRPC拦截器做认证.mp4 271.08M2 _# Y$ R, J; x2 N" x& L/ x
├──1-78_6-10GRPC的错误处理如何做.mp4 204.08M, n& }. [4 w( q
├──1-79_6-11服务端如何返回错误,超时又怎么办.mp4 124.53M% J$ p* @. V8 ~ `* I9 ]9 `
├──1-7_1-7循环.mp4 110.99M8 ]9 G. Q2 |' j3 c+ I
├──1-80_7-1如何高效的打印出日志.mp4 104.29M
; X$ a( p1 t0 }% K! G1 Q2 J├──1-81_7-2如何把日志输出都文件中.mp4 39.58M! l- Y- d; d3 P. D: ~" H
├──1-82_7-3Gin+日志输出在一起.mp4 114.93M; b4 _$ g1 N6 _1 m
├──1-83_7-4如何读取配置文件.mp4 116.58M
4 H5 S# A' v. g* X7 q# L4 P7 I├──1-84_7-5如何不改代码情况下切换本地配置和生产环境配置.mp4 86.56M, {5 q3 \0 ~/ l1 U+ v! m( u% G1 p4 f
├──1-85_7-6gin+viper在一起.mp4 64.45M- o6 u0 U! l0 }6 `. O _
├──1-86_8-1账户微服务-表解构设计.mp4 34.01M
3 ?; `+ E& v; b8 o% R├──1-87_8-2账户微服务-生成表结构.mp4 32.01M* }* B8 A$ F7 E
├──1-88_8-3账户微服务-proto文件定义.mp4 74.41M" ` M& O, C f; ? t
├──1-89_8-4获取账户列表.mp4 163.91M
) s: o) H# c! u; P" |9 o├──1-8_1-8函数.mp4 572.12M
# H) m+ K x1 R5 H0 Z├──1-90_8-5通过手机号和Id获取账户信息.mp4 65.62M
" v6 D, U% ^8 a5 d. i$ ~4 I# @├──1-91_8-6密码加密的几种方式.mp4 110.92M
3 f- `& x. |- J- V/ F% q3 p├──1-92_8-7如何让md5更安全.mp4 70.16M- } [1 v+ _2 ], X0 s
├──1-93_8-8新建账户.mp4 111.56M) V* g2 P" I. P0 I% }# s N G! ~; j
├──1-94_8-9更新账户密码校验.mp4 62.96M; E$ o( `8 ]! k
├──1-95_8-10单元测试.mp4 64.67M" E8 a2 C) c/ E+ M3 {2 o- e l! v
├──1-96_9-1gin+grpc在一起,实现账号服务调用-1.mp4 101.93M0 q% t# V5 ]- B0 }6 m
├──1-97_9-1gin+grpc在一起,实现账号服务调用-2.mp4 128.97M6 i( `9 U/ c4 a5 W
├──1-98_9-2前端如何传递参数给GRPC.mp4 21.58M
l. F6 L( L7 n" g+ }├──1-99_9-3为什么session在微服务下被淘汰了.mp4 72.56M. D; Y+ L. q3 P X* K4 i0 K* j5 a
├──1-9_1-9指针.mp4 389.61M
5 K/ }5 k* e% w1 h2 T├──2-100_18-8链路追踪+GRPC在一起.mp4 149.89M8 c3 @% O5 d( |+ |, S( U9 H
├──2-10_10-3如何让HTTP服务轻松在注册中心里成功注册-2.mp4 94.54M3 }7 ~- g& v9 H6 T1 `* I- J2 k% N
├──2-11_10-4viper+zap改造account服务端.mp4 80.73M. }/ n% [7 @5 j M; B! J. t8 b+ a
├──2-12_10-5如何让GRPC服务轻松在注册中心里成功注册.mp4 68.93M
$ a) E7 \# Y: B. U( Z├──2-13_10-6如何通过注册中心成功调用到服务端.mp4 77.58M
+ n9 {) `7 \. \4 O5 v! R├──2-14_10-7如何优雅的启动HTTP服务.mp4 141.04M
4 p. c: h8 ~( k4 {+ L( p p├──2-15_11-1配置中心哪家强,我要如何选.mp4 114.71M3 `/ b( y8 ^4 E$ I5 k6 V
├──2-16_11-2配置中心如何安装.mp4 73.67M! D/ D* m( P9 t3 [3 _
├──2-17_11-3如何通过配置中心做到开发和生产环境的隔离.mp4 154.18M% v3 j) G# P" y, E: K
├──2-18_11-4Gin+配置中心在一起.mp4 216.81M% A$ G! r$ c: q4 R/ e
├──2-19_12-1如何启动多个服务副本.mp4 66.21M. Q: f) Z' L, r% Y* r# H
├──2-1_9-5Go语言如何生成JWT.mp4 211.71M! g# ~& R, k& t9 b1 W- ]% a0 i
├──2-20_12-2如何理解负载均衡.mp4 121.68M' z6 q& A1 D$ `. B! c; \
├──2-21_12-3负载均衡的算法都有哪些.mp4 83.33M9 E% U d, b$ ^
├──2-22_12-4如何让你的服务实现负载均衡.mp4 186.10M' q t& H; l7 Y* s
├──2-23_12-5账号服务实现负载均衡调用.mp4 69.22M' o( h7 U ^" ~- ^, N# w
├──2-24_13-1分析产品数据库解构梳理.mp4 23.52M; l$ N1 }0 B* t+ g0 q1 C0 T
├──2-25_13-2产品数据库建表.mp4 132.63M
E% Y) h Q& K+ R' N& g├──2-26_13-3产品相关业务功能梳理.mp4 98.70M; ~6 d0 r& x" H# e
├──2-27_13-4产品分类相关业务功能梳理.mp4 54.42M
4 R6 S* R& O8 N* z d' e2 `├──2-28_13-5品牌相关业务功能梳理.mp4 27.89M' {$ t5 S) f3 o( }
├──2-29_13-6广告相关业务功能梳理.mp4 34.01M
7 ]9 X" N& z" n├──2-2_9-6如何解析JWT.mp4 66.40M
- f7 A- ]# z! V6 M├──2-30_13-7品牌分类相关业务功能梳理.mp4 43.48M0 N0 u$ C+ `( L. z' j
├──2-31_13-8如何快速启动产品服务.mp4 109.47M
, r# L/ F" i% A1 @* p0 w, G" G. G6 `4 c├──2-32_13-9-1品牌相关业务功能实现.mp4 206.04M
2 v9 L2 D) u! I P9 e5 J├──2-33_13-9-2brand删除和更新.mp4 35.58M$ @9 l. E0 E1 m+ U
├──2-34_13-9-3brand模块单元测试.mp4 78.50M: ?) X: v; O P( h: j' S. s
├──2-35_13-10-1广告相关业务功能实现.mp4 61.89M1 U1 P+ ?9 r$ L7 K2 J5 G
├──2-36_13-10-2广告相关业务功能实现.mp4 49.75M
% w2 i6 @* F. k% f├──2-37_13-10-3广告相关业务功能实现.mp4 48.94M& P$ [5 ^1 y/ f
├──2-38_13-11-1分类模块添加删除修改.mp4 91.21M5 B5 z9 u. a$ T! Y2 s) I. o
├──2-39_13-11-2分类模块获取所有分类和子分类.mp4 75.76M
, p0 D P2 L/ p& Y- a! u├──2-3_9-7gin+jwt在一起.mp4 146.30M
! b) D8 l H2 S8 u├──2-40_13-11-3分类模块单元测试.mp4 59.72M. r9 O6 g8 x* {! X
├──2-41_13-12-1品牌分类新建修改删除.mp4 70.83M6 w$ c9 A: G* j% E* X
├──2-42_13-12-2品牌分类查询.mp4 131.35M* `% Z+ S& {$ b8 [. R
├──2-43_13-12-3品牌分类单元测试.mp4 58.29M+ a! D( R# b) S+ j# A
├──2-44_13-13-1基础函数构建(1).mp4 105.64M
, ?" h$ J, v! z" ^ o: G& M3 `2 Z├──2-44_13-13-1基础函数构建.mp4 105.64M
2 Z# \$ j- I5 r7 i5 V├──2-44_13-13-1基础函数构建.mp4.aria2 0.05kb
1 u* |1 I8 Z) ?5 L. v( q├──2-45_13-13-2产品模块新建删除修改.mp4 70.59M+ a. e# U! C! \8 \5 _
├──2-46_13-13-3产品模块列表和详情.mp4 115.01M* {1 N) `, h" U
├──2-47_13-13-4产品模块单元测试.mp4 64.06M
4 ]7 ~; G0 B9 `8 M1 U├──2-48_14-15分钟快速搭建web服务.mp4 49.95M, Y2 n( f7 u+ l3 M0 z4 r# c. s
├──2-49_14-2如何获取产品列表.mp4 122.92M" ]: I1 K5 c2 O5 g# L' i
├──2-4_9-8Go语言如何生成验证码.mp4 163.99M7 j/ \5 s% r. \# I# W/ T
├──2-50_14-3如何新建产品.mp4 77.91M5 W. g) d0 q( G/ ~9 \- q q
├──2-51_14-4如何获取商品详情.mp4 37.91M
/ n/ l1 G1 l, l; v R8 D├──2-52_14-5如何删除产品.mp4 44.25M+ N( k' z/ i% D7 F* S
├──2-53_14-6如何更新产品.mp4 29.98M: V5 [1 U, j, v" s
├──2-54_14-7如何用Go语言设计多注册中心的方案.mp4 103.11M
4 t, j c( W3 |$ \├──2-55_14-8如何实现注册中心优雅退出的方案.mp4 22.34M% ? n. A2 l3 E5 B( G: I
├──2-56_14-9注册中心测试+产品模块测试.mp4 64.28M9 Z. t4 ^& a0 J% [3 F; Q
├──2-57_15-1库存有多重要.mp4 34.58M
8 R4 p, o0 B: }/ C; C# K├──2-58_15-2库存设计.mp4 36.09M! r+ I2 \5 v$ \/ y4 H
├──2-59_15-3库存GRPC服务设计.mp4 62.47M
2 x6 Y( E* n. c) O├──2-5_9-9如何使用gin+redis保存图片验证码.mp4 229.29M
! G T9 l$ f) w0 A& ~├──2-60_15-4如何快速让库存服务跑起来.mp4 123.26M8 ^- W. x* H/ u3 y7 G
├──2-61_15-5如何设置库存,如何获取库存.mp4 98.65M: F* T8 E" g! U4 c4 ]
├──2-62_15-8如何保证库存归还的数据一致.mp4 33.80M
& E( w' T# U5 |7 d+ k├──2-63_15-6单元测试-设置库存+获取库存详情.mp4 78.40M, Y( a, K t. \8 K, r
├──2-64_15-7如何迭代扣减库存保证数据一致.mp4 150.59M7 c: z) j8 v/ `+ l/ `/ `
├──2-65_15-8如何保证库存归还的数据一致.mp4 33.80M
/ n4 ]. m% u! r├──2-66_15-9单元测试-并发扣减库存+库存归还.mp4 88.71M
+ f( e1 W3 H! E+ H6 E' Q├──2-67_15-10如何防止双11,618大促下的超卖.mp4 53.70M0 `3 X: Z/ H. l0 D
├──2-68_15-11如何理解分布式锁.mp4 27.71M: I. | M6 _- L# W
├──2-69_15-12常见的锁与分布式锁都有什么.mp4 43.40M
# u/ @' ]5 x& {├──2-6_9-10跨域真的那么难么.mp4 115.93M! @/ x! i9 h, B, K1 Y& j
├──2-70_15-13数据库MySQl是如何实现悲观锁的.mp4 112.26M
- C ~5 `. x% v+ I: T! l├──2-71_15-14如何使用Gorm实现Mysql的悲观锁.mp4 41.45M
A3 u9 w G2 L2 C0 e- Y├──2-72_15-15数据库MySql如何实现乐观锁.mp4 41.16M/ b6 R8 w3 I, q5 W; r! V3 M
├──2-73_15-16如何使用Gorm实现Mysql的乐观锁.mp4 67.91M
& V) s' v1 I- x( y4 |3 W├──2-74_16-1购物车-买买买.mp4 13.16M
- q$ G5 M/ ~7 Z* {" v; D├──2-75_16-2购物车与订单服务的数据库设计.mp4 127.80M
7 Z8 w. y% i1 R, c p, ?, ~! l├──2-76_16-3购物车服务接口设计.mp4 49.97M7 X% U* L4 Z6 n) G3 j3 L
├──2-77_16-4快速启动Srv服务.mp4 64.80M
; l( A3 U! M, f7 \├──2-78_16-5如何添加产品到购物车和获取登录用户的购物车内全部商品.mp4 111.41M8 N& z* T O& m* w7 Q6 Q
├──2-79_16-6如何更新和删除购物车中的商品.mp4 57.36M
& d5 O7 J( g2 b% p├──2-7_10-1如何安装服务注册和服务发现的基础组件.mp4 83.48M7 p% |4 L6 E. `6 O$ t
├──2-80_16-7购物车模块单元测试.mp4 78.61M
1 y% f& Z% F9 K+ g├──2-81_16-8如何快速启动购物车的Web服务.mp4 111.84M5 n6 q9 w0 ]5 G3 w7 q( ^7 S
├──2-82_16-9Web服务获取购车内产品列表.mp4 16.09M; M. O2 O9 |9 L8 ^( {' ]
├──2-83_16-10购物车Web服务的添加修改删除功能.mp4 44.57M2 T* y3 B2 e; Y8 D8 h: A& P0 i3 y
├──2-84_17-1订单模块功能梳理.mp4 23.91M/ f/ t! x2 Q& \9 x. T
├──2-85_17-2订单模块数据库设计.mp4 63.06M3 l8 ^- ?% j! P$ _, U( |( _
├──2-86_17-3订单服务接口设计.mp4 69.99M
4 l* ~& R9 p6 j% O/ ?├──2-87_17-4如何分页查询订单列表.mp4 103.86M
- y5 T; ?+ @7 c& {; U8 p9 g, a├──2-88_17-5如何展示订单详情,如何更改订单状态.mp4 157.96M7 F1 B. `- E6 _% n) H
├──2-89_17-6前方高能-下单业务全流程讲解001.mp4 73.89M
K0 o* |+ M$ B0 v1 ~9 V├──2-8_10-2如何注册和注销你的服务.mp4 71.29M l- L2 S- T$ D- t
├──2-90_17-6前方高能-下单业务全流程讲解002.mp4 57.98M+ B6 T$ Q8 b2 A# R- c. W
├──2-91_17-6前方高能-下单业务全流程讲解003.mp4 129.21M2 _0 l* C* T+ ]( \1 q
├──2-92_17-7订单模块单元测试.mp4 89.04M3 @; c4 W5 I: @$ f% W/ C$ l
├──2-93_18-1-为什么微服务需要链路追踪.mp4 35.58M1 k& r$ z. ~2 r. h' r! U" I
├──2-94_18-2如何选择合适的链路追踪框架.mp4 16.30M
. Y9 F. p6 n. i1 f6 G' L& C├──2-95_18-3链路追踪工具架构设计长什么样.mp4 71.92M, [$ t: ~+ C, X2 k
├──2-96_18-4链路追踪协议标准-opentracing.mp4 93.18M
% A' M4 H2 @5 S8 h5 H├──2-97_18-5链路追踪工具的安装.mp4 48.82M
1 Q. ]* |* [7 V8 Q* a├──2-98_18-6如何使用Go语言完成第一次链路追踪.mp4 148.12M% T( d+ ^$ i# K F
├──2-99_18-7如何使用Go语言发送多个嵌套的链路追踪.mp4 79.17M
5 T1 _; b- ^1 ~! Q8 I2 r" u) M├──2-9_10-3如何让HTTP服务轻松在注册中心里成功注册-1.mp4 163.39M0 A& y, u' j, Z/ E- i6 F
├──3-100_28-11img标签.mp4 19.65M
% }9 j; W) r2 y/ P├──3-10_19-8如何利用消息队列解决订单超时的问题.mp4 59.29M* A5 R, P8 @ S& q( w4 P' W
├──3-11_20-1限流、熔断、降级是什么鬼?.mp4 61.49M
+ ~3 a: q/ {3 n5 U) X+ h U/ y├──3-12_20-2限流技术哪家强?.mp4 29.14M
2 _9 j- V( R* A5 F├──3-13_20-3流量高,如何通过qps限流.mp4 130.23M
" S* F/ l9 s1 S( r4 `, v* q├──3-14_20-4如何限流突发流量?.mp4 122.68M
2 o# |3 j3 n+ `- C/ {4 K0 Q├──3-16_20-6如何做熔断?.mp4 69.76M
9 x+ G3 H% Q( c4 q3 H$ C├──3-17_20-7熔断方式有哪几种?.mp4 61.46M& @& O e/ Y$ v( H& S( P" h
├──3-18_21-1为什么库存和订单数据不一致.mp4 38.94M+ ~0 U D0 }3 a* m8 ~% H# e
├──3-19_21-2Mysql事务与分布式事务.mp4 45.71M
6 R: j. t3 ^ l9 S# b* O) v├──3-1_18-9链路追踪+Gin在一起.mp4 133.81M
4 y! c- s- b) N├──3-20_21-3分布式系统中哪些方面会造成数据不一致.mp4 29.88M+ d' ^4 R# [: ?- X4 U* ^& ]
├──3-21_21-4如何理解分布式中的CAP理论.mp4 41.53M8 t# o1 O. q$ |* f$ x! ~$ Y
├──3-22_21-5如何理解分布式中的BASE理论.mp4 78.74M. N: X1 s( @1 P
├──3-23_21-6分布式事务常用解决方案都有哪些.mp4 56.09M2 S/ X1 k* L5 ^1 e* a
├──3-24_21-7如何理解分布式事务TCC.mp4 42.72M
+ F0 B( Y7 }' a6 C├──3-25_21-8为什么TCC那么难.mp4 57.89M
6 R# G2 r& |& i$ M3 Q, n, c├──3-26_21-9如何通过本地消息实现最终一致性.mp4 32.28M- B" T' @- [- F
├──3-27_21-10如何通过可靠消息实现最终一致性.mp4 40.49M
Q( H) d9 t8 a) Y) I% @2 Y3 n├──3-28_21-11什么是最大努力通知方案.mp4 44.23M
9 i) H m3 w' P9 G├──3-29_22-1如何通过可靠消息实现最终一致性1.mp4 32.55M
( ?( K g1 G) T K& V% Y. U; Z; Q├──3-2_18-10集成测试.mp4 52.86M
5 F8 E6 U3 U2 f1 |3 p0 u- U├──3-30_22-2如何通过可靠消息实现最终一致性2.mp4 71.63M
! N8 x: h: X9 e. I5 n# b+ |9 @├──3-31_22-3如何发送带有事务的消息.mp4 82.51M
+ m! h6 R# X6 i$ m3 A7 m1 _├──3-32_22-4如何改造新建订单发送事务消息.mp4 88.36M5 w, K) [! x7 g( Q" i
├──3-33_22-5如何执行新建订单的本地事务.mp4 137.95M. W9 N$ S( @9 c) J* J8 J
├──3-34_22-6如何回查新建订单的本地事务.mp4 47.08M
3 {: v7 P, Q9 R* d0 Y1 ^ L+ b3 {├──3-35_22-7如何扣减分布式中的库存.mp4 92.68M
: ?' H# a3 ]8 d% K* `. d- b├──3-36_22-8打通最后一公里:如何正确扣减和归还库存逻辑.mp4 85.73M. v" I0 k& A$ j4 p; y
├──3-37_22-9分布式事务-如何处理订单超时的订单归还问题.mp4 153.21M3 [% l" I4 ] Z, V
├──3-38_23-1如何使用redis实现分布式锁.mp4 130.28M9 z9 z0 o$ J; j6 Z7 s* u* V
├──3-39_23-2如何使用分布式锁来控制库存扣减.mp4 157.23M
3 I* N7 U# M9 R4 ~) K; \├──3-3_19-1为什么要使用消息队列.mp4 60.34M, y4 ~$ ]! e9 X. o' n
├──3-40_23-3分布式锁如何保证数据原子操作的一致性?.mp4 39.50M
' @. C& d9 z% K- U├──3-41_23-4分布式锁如何防止死锁?如何让锁续命?.mp4 31.53M
/ Z) e4 o, W m/ z+ [: u5 y3 ]├──3-42_23-5分布式锁如何防止被人篡改或删除?.mp4 36.40M |" L5 c8 G- t% b# ?2 V
├──3-43_23-6-分布式锁在集群中,容易出现的问题是什么.mp4 17.64M' ?9 z, `: y5 s
├──3-44_23-7如何解决分布式锁在集群中出现的问题?.mp4 94.40M
5 p! T0 F9 c( I0 i9 C4 e├──3-45_23-8订单+消息队列单元测试.mp4 31.02M$ a. G9 [) `1 C$ M8 d
├──3-46_24-1Docker是如何改变软件交付模式的.mp4 24.40M4 O; ?- }- {5 a$ N8 G( k+ K6 h
├──3-47_24-2Dockerfile常用命令详解.mp4 20.53M
* i" ^- k0 J/ e4 @5 }( q4 j├──3-48_24-3如何制作自己的Docker镜像1.mp4 32.34M# F% l8 ]% H) |, d" ~
├──3-49_24-4如何制作自己的Docker镜像2.mp4 63.80M9 A# o/ Q- t& k" d
├──3-4_19-2如何为Go语言选择合适的消息队列.mp4 41.07M
7 P- `/ N1 k% P5 e" ]├──3-50_24-5如何让Docker镜像减肥.mp4 48.97M
7 d3 t, L% B% _├──3-51_24-6如何管理你的镜像.mp4 28.96M+ P0 h8 m8 K$ f {8 I$ ~
├──3-52_25-1k8s是什么.mp4 12.79M
# D8 X) \4 M6 V" `7 Q- G├──3-53_25-2K8S核心功能.mp4 15.54M
; |! Y K, p+ c$ [7 u- O├──3-54_25-3K8S是如何调度的?.mp4 3.77M0 V: g* Z' ~" m) K$ |- J
├──3-55_25-4K8S如何做健康检查.mp4 5.47M
7 c/ G9 r9 b* a& ^; C1 Y, S├──3-56_25-5K8S如何扩缩容.mp4 7.56M# W2 M! a" k, k4 @$ j
├──3-57_25-6K8S架构-Master篇.mp4 10.95M
* K6 Z- H% F5 H- Z/ F├──3-58_25-7K8S架构-Node篇.mp4 9.16M1 N7 b7 t* ~/ e9 ?4 i* T
├──3-59_25-8K8S运行流程图.mp4 9.22M
+ J' w1 P! J7 I& N& ^; ?├──3-5_19-3如何安装和配置消息队列.mp4 80.63M
3 c F, }( B2 o├──3-60_25-9如何理解K8S中的POD.mp4 5.07M
. Y* x D+ }& D+ i) H. E6 o+ o├──3-61_25-10什么是K8S中的卷.mp4 3.92M
* Z5 Z. q" @ o0 z├──3-62_25-11如何理解K8S中的Deployment.mp4 6.08M0 \6 z* Z' [7 {2 n( _
├──3-63_25-12如何理解K8S中的Service.mp4 8.11M$ l* Z$ w) x# Y% i& Z- U
├──3-64_25-13如何理解K8S中的命名空间.mp4 4.90M- b! C+ u7 Q( ]% i
├──3-65_25-14制作和运行product镜像.mp4 29.03M
$ s+ r- }) @1 H6 A6 M/ n; b/ y$ `4 H├──3-66_25-15编写Deployment.mp4 74.71M
$ S+ _; \, l7 J" G3 j. U+ p├──3-67_25-16编写Service.mp4 27.94M; w6 y/ {! d1 s; z' @+ `3 L$ O
├──3-68_25-17编写Ingress.mp4 43.96M! J$ e& _5 A. g! e3 F: }6 k( C; @
├──3-69_25-18应用上云.mp4 111.12M
i0 P! ?3 ]* m% S* c( G├──3-6_19-4消息队列的基本概念.mp4 131.82M: R7 z0 H1 k8 f: [% l% B
├──3-70_26-1为什么需要网关.mp4 21.11M3 ~2 @$ z( z2 m9 b5 ?" u& B
├──3-71_26-2网关都能做什么.mp4 19.31M8 ?) @1 x$ |1 c* m1 D
├──3-72_26-3网关内部数据是如何流转的.mp4 11.00M
: t1 n2 E" K f├──3-73_26-4如何搭建网关.mp4 66.72M
4 x, O: Z* K* ?: Q7 D├──3-74_26-5网关是如何进行url转发的.mp4 16.93M
$ R8 C, I' u2 L8 G% p├──3-75_26-6网关是如何请求到我们的服务.mp4 4.64M
) j2 R* }# @" z. |9 ~├──3-76_26-7网关如何集成consul.mp4 23.43M/ D$ c4 { K: d, _; j6 l
├──3-77_27-1如何安装elasticsearch.mp4 49.03M! B' ^# i3 P w6 B6 _
├──3-78_27-2如何学习elasticsearch.mp4 8.16M
% P. N+ o* U, ~├──3-79_27-3如何向elasticsearch中添加数据.mp4 13.18M8 q4 d4 ~9 o+ A. b2 m! ]
├──3-7_19-5消息类型都有哪些.mp4 40.52M% R% V% R, E: F' H( j
├──3-80_27-4如何获取elasticsearch数据.mp4 12.92M
- k; P% }& W4 |├──3-81_27-5如何更新和删除elasticsearch数据.mp4 16.33M8 z# s2 |1 n) S( t" z; z" ~
├──3-82_27-6Go语言如何操作elasticsearch.mp4 66.59M
# k7 Y7 X9 }+ h├──3-83_27-7elasticsearch如何与Go语言结构体转换.mp4 31.17M
0 ~# W; r! C# B0 X) F) G0 I' I├──3-84_27-8elasticsearch+Product在一起.mp4 29.94M) v {. f: \4 |% \2 P
├──3-85_27-9Gin整合elasticsearch.mp4 13.95M8 ^0 @. h1 c9 v
├──3-86_27-10如何同步mysql的数据到elasticsearch中.mp4 77.26M6 ?# u, f$ H) p u
├──3-87_27-11如何保证elasticsearch中的事务一致性.mp4 29.25M
0 h" Y q* ]1 `$ y" U├──3-88_27-12如何处理中文搜索.mp4 35.76M
+ {" G" b/ F/ p3 A" Z9 X├──3-89_27-13中文分词-单元测试.mp4 29.82M
' g( i7 G( x+ S: {( z4 z) l ~├──3-8_19-6如何用Go语言发送消息到消息队列中.mp4 128.50M& t: Q! e( h6 T1 P7 b) _$ I
├──3-90_28-1html介绍.mp4 29.90M
7 H# v: z' C+ K: ~" `3 J9 r3 C├──3-91_28-2如何快速生成html文档.mp4 3.64M
! O. k) P( g/ s$ ]# V' x├──3-92_28-3head+body介绍.mp4 25.83M
; ?1 S n5 A& ?! z2 ^% h* S; a. ?├──3-93_28-4标签的使用.mp4 32.95M( e4 n& L m& s. @$ L7 a. P( Y
├──3-94_28-5块元素与行内元素区别.mp4 11.11M
9 a! _; Y1 t6 v2 j* w3 n├──3-95_28-6标题标签.mp4 7.98M; u0 A2 [7 I5 H) c
├──3-96_28-7段落标签.mp4 12.63M8 W& ?! K0 V! t* J0 V% ?
├──3-97_28-8容器标签.mp4 10.98M
7 Y& Y1 b2 Z! o: d. C& u! Q$ y├──3-98_28-9a标签.mp4 29.62M1 @5 v6 F" k, @8 e) c
├──3-99_28-10内联容器标签.mp4 9.56M
) _6 @3 {( S# K" D├──3-9_19-7如何用Go语言读取消息队列中的消息.mp4 143.03M
0 E8 q4 r( v9 P/ H F) y8 n8 i, }├──4-10_28-21内边距和外边距.mp4 38.10M) S% }" A9 q$ J
├──4-11_28-22float.mp4 15.20M5 m$ q9 k# N8 k3 Y e
├──4-12_28-23css与常见布局样式.mp4 7.95M
6 L9 p1 G5 r8 B9 Q3 O├──4-13_28-24列表ul和ol.mp4 11.99M
" ^" @- c) z7 n* u2 ^/ _├──4-14_28-25表单.mp4 53.87M
5 F8 m- A# k! a7 e├──4-15_28-26表格.mp4 12.87M
$ c% H% q5 d) ^* y/ d0 P├──4-16_28-27绝对地址和相对地址.mp4 11.42M
- X* k' f. o6 m8 T├──4-17_28-28css选择器.mp4 42.44M8 F/ G: }3 G: V- n! S6 n$ A" c
├──4-18_28-29内容溢出和显示方式.mp4 15.71M. M4 l: U9 K- b( z' G, l# F& G4 H2 p
├──4-19_28-30定位.mp4 16.19M! S0 N7 E, S2 s
├──4-1_28-12br标签.mp4 8.38M
, S7 o. U: M+ B3 u: i8 |├──4-20_28-31css优先级.mp4 8.26M
$ z# \$ B. x, i8 S* k├──4-21_28-32js基础001.mp4 26.63M$ |& G+ W' s* E8 y. Q
├──4-22_28-33js基本语法及规范.mp4 16.34M8 j' Z$ R9 V# K3 ~
├──4-23_28-34函数定义传参返回值.mp4 17.98M9 p' v; A; R# P! {" _
├──4-24_28-35变量与函数解析.mp4 15.77M- R4 T! l) r3 S% e ~+ e3 [
├──4-25_28-36定时器.mp4 16.73M9 P% q! b7 b+ X
├──4-26_28-37变量作用域.mp4 23.85M
3 Z# R! `: |0 O+ T$ m├──4-27_28-38ES6变量声明和赋值.mp4 13.41M
0 J! `$ O9 U6 k; V" J& ~├──4-28_28-39ES6解构赋值.mp4 13.87M- G/ N; F1 [6 c, S/ q
├──4-29_28-40扩展运算符.mp4 18.94M5 N) X2 J, q! g/ {6 s
├──4-2_28-13html注释.mp4 10.14M
4 K1 L& @. k# a0 b├──4-30_28-41箭头函数.mp4 36.60M
( l8 _, B+ @! E6 S/ d├──4-31_28-42es6导出.mp4 11.91M: X- U: a; e3 [* J9 j+ R
├──4-32_28-43类与类的继承.mp4 36.61M% { ^# ] {$ z7 O8 N" i0 z9 h* z6 B
├──4-33_28-44异步与Promise.mp4 25.50M
7 }# f+ @. Q- p" \1 Q3 `├──4-34_28-45vue安装.mp4 24.10M9 [2 A/ m* C' H$ g, ^
├──4-35_28-46第一个vue应用.mp4 20.83M
1 {7 a) t2 R |4 q) b+ s1 z3 N├──4-36_28-47vue条件判断.mp4 33.31M5 q7 K2 Y3 r7 x0 M
├──4-37_28-48vue循环语句.mp4 23.01M
/ M! i# V W% J r9 ^5 D( l├──4-38_28-49vue方法和事件.mp4 17.31M; L. M7 r( ?/ H; M% o9 A1 o
├──4-39_28-50表单数据绑定.mp4 29.80M. S; B, T+ d# \* }/ X
├──4-3_28-14空格.mp4 15.34M5 q. W% q) @/ c4 S$ z$ V* c; C
├──4-40_28-51vue声明周期.mp4 23.07M
6 r. ~$ _! g7 ?/ o8 U* m7 q" `- q├──4-41_28-52vue路由.mp4 17.87M4 z0 K5 {. |3 M% e
├──4-42_28-53axios发送数据给后端.mp4 33.45M
# J. `4 N0 e- f5 _: b0 e2 d├──4-43_28-54vuex.mp4 50.49M
) ^0 i _1 |2 l `: X├──4-44_28-55vue代码全流程讲解.mp4 64.57M" ]6 A5 I$ c+ V5 d5 s
├──4-45_28-56前端商城讲解.mp4 100.70M
; F& C! S1 G R. w( i& X├──4-4_28-15和.mp4 10.90M$ N) O I! {1 }- R% \
├──4-5_28-16CSS介绍.mp4 17.32M
' q* z% M9 H4 {6 C$ a& O' E) a) S) f├──4-6_28-17CSS三种种使用方式.mp4 16.14M1 q4 }" F' H# C# g2 X
├──4-7_28-18类选择器.mp4 26.49M4 F8 f9 n' B% u$ o+ A
├──4-8_28-19层级选择器.mp4 39.11M+ S) S4 y1 C' z" O& p
└──4-9_28-20盒子模型.mp4 9.85M+ i; d3 ?* {8 e2 Q5 G
/ `8 Q% [6 T: `: H) s. P
' }1 ^* K5 Z% ~1 H! o# O% ^1 i
@) u |6 M3 P [% c
# u* O N* S* F8 H U' e/ \! u* g9 @. [ P: q' g, W5 l8 `
永久至尊VIP回复即可下载学习,非至尊VIP暂不支持下载此资源! 赞助VIP
/ g) P3 {) K4 d+ ]; m5 b% @* W8 L. o* R; L3 N1 O* ?; l# |
$ m `% B( w5 v' w& v/ m: k
|