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