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