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