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