〖课程介绍〗:
* {' D! _; ?( U& X, N3 n3 y: }- t 听说大厂争抢的后端人才,90%都是懂Go语言的工程师
Google架构师联合大厂架构师出品,学地道的Go语言
云计算时代掌握Go技术,提升职业竞争力助力升职加薪
〖课程目录〗:
阶段一:Go语言极速上手
' d' W) A; s: G3 q2 P* z* a( ?0 m5 k0 A 第1周 Go语言极速上手
0 b1 k, q; D9 S) \% G: e5 w Go发展历程、语言特性快速预览、企业应用,go安装与环境配置,go语常用开发工具Goland,VisualStudio,LiteIde集成。go语言常用数据类型讲解。
课程安排:
1、Go发展历程、企业应用、语言特性
5 P$ r; C6 \/ E. u& l 2、Go语言安装、Go语言环境配置
3、常量概述、常量的使用、常量的应用场景
4、变量概述、变量格式化输出
L9 m4 Y' C$ E 5、变量的使用、变量的内存布局
6、数值类型概述、不同数值类型表示范围、数据类型的使用
7、浮点概述、浮点类型的使用、复数的使用
9 c! n* d5 u- J( S7 u& C0 G* E 8、字符概述、使用
9、字符串概述、字符串使用、字符串遍历、中文字符串的处理
10、布尔类型概述、使用
11、指针概述、指针使用、指针内存布局分析
- `6 y1 N% r, i" h' n& Z 12、指针内存布局分析、指针作用、指针运算与多级指针
q) o$ {& `) W4 X8 B' P) Y 13、数组概述、内存布局分析、数组的使用
0 Y& {. n/ D) \% j 14、数组的使用、数组作为函数参数意义、二维数组与多维数组
15、切片概述、切片使用、切片与数组内存布局分析
16、切片作为函数参数
17、map概述、定义与使用方式、map内存布局分析
0 t# W+ h4 D7 q 18、map的使用方式、遍历、有序输出
19、结构体作为map的值、map切片
第2周 Go语言流程控制
# Z# X" H0 z. J* i% Y 本章节涉及到流程控制,函数,结构体,方法,go语言包与第三方扩展库,相关知识,并综合案例讲解本地包的使用。
课程安排:
1、条件控制、comma-ok模式测试多返回值、选择控制
* K3 b# L/ B$ B% Z( }& \ 2、选择控制、类型断言type-switch、循环控制
$ m7 L B) e: i M# P4 v 3、循环控制、goto+标签,break+标签、continue+标签
! A; [( F6 h& P; l* N 4、包的概述、包的作用、本地包的使用、访问控制
2 ~" y7 M" ~+ F& n- h7 n 5、本地包的使用、github结合第三方扩展库的使用、本地包使用案例
+ d2 [1 ~; F% _; I8 c, q: A 6、函数概述、使用、多返回、作用域
+ z2 ?' V5 f) c) G9 G a; P 7、递归函数、匿名函数、闭包
8、闭包、匿名函数补充、defer、函数重载、函数作为值类型
' Z0 w }3 Z8 s5 i% Q 9、函数作为值、函数作为类型、init函数、main()函数、引用类型与值类型区别
第3周 Go结构体与面向对象
! X4 I# X1 B$ c 本章节涉及到结构体常用知识包括结构体最佳实践、结构体内存分析,方法的使用,面向对象三大特征封装,继承,多态,并综合案例加深面向对象的理解。
课程安排:
: P# m( K! h# v! N 1、结构体概述、作用、自定义类型的两种方式、结构体的使用
- _! u1 L* y1 G1 B* N 2、结构体的使用、结构体注意事项
5 W) Q3 N7 o- k0 P& _ 3、结构体的使用、结构体注意事项、结构体最佳实践、结构体内存分析
! w# N& x, Q1 c3 q9 m 4、方法的概述、作用、使用
5、方法的使用、注意事项、方法与函数的区别
$ Q1 p k5 q! c6 H 6、本章要点:总览Go的面向对象核心及初识面向对象(定义:权威+通俗)
7、【面向对象】三大特征(权威+通俗定义)
, L2 R* a( W$ E# ~ 8、面向对象之【封装】基础实践(don't say,show U the code)
9、面向对象之【继承】基础实践(don't talk,show U the code)
3 x; w y4 @! A# M9 w$ r. c 10、面向对象之【多态】基础实践(don't speak,show U the code)
+ X9 G' U' C" _( F5 C 11、拓展进阶:结合企业级业务分析面向对象的设计思想、作用
! {# d, \$ T0 ? 12、综合案例:面向对象最佳实践Coding(don't speak,show me your code!)
2 \* _1 V- K) Y4 e$ N 13、面向对象总结
第4周 Go语言web编程
本章节涉及go语言web编程相关的知识,包括http协议,web请求与响应解析。
课程安排:
1、go语言web编程总览
2、web编程概述
9 C+ s& n" V, z4 k. D6 z, G+ S 3、web编程思维导图补充说明
4、web概述、web发展史、web访问流程分析
5、dns查询过程分析【没有上传】
. _+ V6 Q, v9 N. [- l 6、http协议概述、http请求包与响应包分析
7、tcp连接流程分析、go语言web原理、go语言http请求分析
g$ i- }$ x7 ?! O+ `/ Q0 W& n 8、http请求handle,handlefunc分析
- ~7 Y- o/ U1 S0 j7 Z# b 9、http请求获取url参数分析与实现
10、http请求获取头header参数分析与实现
1 B9 N; c- v9 V R! G" l/ y 11、http请求获取请求体数据分析与实现
2 R( t$ p1 i6 [* S8 W+ V- D8 @ 12、http请求获取form与postform分析与实现
# A$ l% o5 _) F1 P8 o. { 13、http请求获取multipartform分析与实现
14、http请求获取multipartform实现
# r" r0 d$ I) ^( ~, [ 15、http请求获取formvalue与postformvalue分析与实现
16、http请求获取formfile分析与实现
6 ^: P4 W3 k' f 17、http请求获取FILES上传分析与实现
18、http请求获取FILES上传分析与实现
19、http响应分析与实现
20、会话处理原理分析
阶段二:租辆酷车小程序与TypeScript
第5周 小程序极速上手与租辆酷车初体验
7 S1 g$ d1 H/ E, p 初识小程序,理解小程序的作用,商业场景。配置环境,包括小程序账号,小程序开发工具,vscode。理解小程序运行机制,渲染机制,页面栈。开发第一款小程序,添加地图功能。
课程安排:
0 S/ K9 c$ h- M8 D& J4 A 1、小程序的优缺点
! D& q$ C) D$ d( C; B- g8 P 2、小程序营销案例分析
3、小程序账号配置
6 U) n' D0 {2 I* h+ o 4、小程序开发工具安装配置
5、vscode安装和配置
) r* k) M/ L6 N% ?/ y2 P; Q B 6、开发第一款小程序
7、理解小程序运行机制和渲染机制
( I( R( ?" E$ O6 L: {& c 8、理解小程序生命周期
9、小程序页面栈详解
10、小程序调试工具速成
$ I7 Y# h1 G- t6 g1 C 11、添加地图组件,打造租辆酷车雏形
! N. o. z1 a; m' ?, N; H, O 第6周 极速上手TypeScript应用
极速上手TypeScript。理解并开始使用TypeScript,包括基本数据类型,数组,对象,函数,方法。并且开始使用TypeScript开发小程序。
6 _# E, R4 ]/ V! M; ?" [' I* t1 Q 课程安排:
1、TypeScript简介
2、了解TypeScript vs JavaScript
3、TypeScript环境配置
+ ?/ R9 v. Q2 i, R4 X3 ?5 V x 4、开发第一款使用TypeScript的小程序
5、TypeScript的基本数据类型
: i' {* P8 P. r- k4 K/ u: H9 C 6、逻辑控制
, C7 N& g# L" {; T8 ` 7、枚举类型
- [1 B9 z U% E2 K; U$ v0 @- ] 8、数组
9、对象及方法
10、函数的定义
# f- Y& v1 D/ k, [8 U L 第7周 精通Typescript
! S w; m( P$ Y, w& x6 I TypeScript的高级知识。这些知识点是跑步超越其他前端同事,做出高可靠性小程序及其他前端应用的关键。包括函数式编程,Promise详解,异步编程,接口,范型,面向对象,解决小程序开发典型难点。
课程安排:
1、函数式编程
2、一等公民及高阶函数
v h/ J9 u( M& b T9 ?1 n1 _ 3、函数的闭包
4、函数式编程攻克小程序难点:页面状态维护
3 ~+ F1 J& y' q4 K" K% G 5、数组变换
' H9 s/ I) s4 h1 Y2 f 6、Promise详解
- x# [" O3 K0 w 7、同时等待多个Promise
8、异步编程
- r5 l$ |$ a4 s! P 9、小程序API的Promise化
& b# ?9 x+ w. `4 x, a1 S- R( Q 10、Promise攻克小程序难点:初始状态同步
11、接口及其高级技巧
/ e5 M0 B3 x7 m- K$ c9 m+ I6 r 12、接口的两种实现方式
13、类
7 S( F0 l3 H% `6 K7 J% ~ 14、范型
第8周 前端知识体系速成
本周我们将速成前端知识体系,学习最为有用的CSS必备技能,以及wxml前端模版的使用。这些技能每个开发者都必须掌握,包括后端开发。本周的课程将助同学掌握和补充全面的必备的知识体系。
7 ^* L; R8 n7 h 课程安排:
! R# I: b7 Y" t/ L! u 1、为租辆酷车的原型开发确立目标
2、WXML语法速成
1 Y( B1 L/ b0 g0 C 3、CSS选择器
4、控制元素位置
5、控制文字属性
7 H' g$ s6 B2 h( a5 f; [- ] 6、flex弹性盒子布局详解
7、在小程序中使用css
; i6 c/ c' j* |( D! d4 X 阶段三:三端分离商业级微商城项目设计与实战
第9周 三端分离商业级电商项目--小程序前端布局
3 y$ j4 A9 c0 A# G 本章节涉及微商城小程序原型概括,框架布局,首页布局,分类页布局,商品列表页布局,商品详情页布局,购物车页布局,预下单页布局,搜索页布局,个人中心页,浏览足迹页 ,本章总结
课程安排:
; \; l& x5 r1 h3 Y) M 1、微商城小程序原型概括
( [ x+ L+ v3 R- z% b$ Q) w 2、框架布局
# Q* |! e, d1 @ 3、首页布局
; L+ h4 P( K6 K- u( d 4、分类页布局
5、商品列表页布局
4 \% j# S8 s, f* m {5 v 6、商品列表页布局
+ U( _' h# U6 M* H 7、商品详情页布局
7 l, ~9 U2 C1 h- }, J 8、购物车页布局
9 \4 D3 |0 v& c7 X6 l4 H2 t' Z 9、预下单页布局
+ C0 ^/ s2 Y/ ?) ?8 y0 t; G 10、搜索页布局
. M0 T4 z1 ^7 E& x 11、个人中心页
0 c2 C& }0 Z7 e% p, @ 12、浏览足迹页
+ Z$ g3 i& |$ |) a+ C 13、本章总结
第10周 三端分离微商城-数据库与后台管理设计实战
本章节涉及会话处理,数据库操作,模板引擎,并带领各位同学实战微商城后台管理系统、数据库表分析, 手把手撸一套自己的go语言web框架,nginx路由转发与代理到goweb,项目线上部署。
% T$ N, @4 H0 o# @ 课程安排:
* S8 { s4 u! M1 q# i" { 1、微商城后台管理系统功能说明
( Q& q: {$ b6 y7 F+ d 2、数据库表概述
4 O. u6 J0 T- q0 w 3、分类表分析与构建
4、商品表分析与构建
; E/ w! t) U& R) k5 }. \ 5、购物车表分析与构建
6、商家表分析
7、品牌表分析
" G# A, N+ N+ z* | 8、订单表分析与构建
9、订单商品表分析与构建
# z6 `/ a7 F' ], X- u, r7 x 10、用户表分析与构建
; [, j& s O6 g( U 11、用户优惠券表分析与构建
12、快递表分析
( M% U3 Y" b, a+ \ 13、搜索历史表分析与构建
! U, O4 W( Y! B1 V+ X 14、优惠券表的分析与构建
15、商品收藏表分析
) o3 \3 I8 _6 P 16、收货地址表与城市表分析
17、商品浏览足迹表分析
G5 f1 r2 j1 z 18、web框架构建概述
9 t( n0 k! D0 X2 H 19、web框架构建之配置文件
20、web框架之数据库curd操作-增加
21、web框架构建之数据库curd操作-删改查
22、web框架构建之解耦程序与函数封装
23、web框架构建之实战登陆
% f D r0 r* K4 M- x# c, ?- a 24、web框架构建之实战登陆会话处理
25、web框架构建之实战登陆会话处理与完善项目框架
3 e& f% L" m8 ?( C Y& S* ?# J 26、模板引擎与商品添加
# D. o1 |5 C1 n2 U( H 27、模板引擎与商品列表、分页分析、表单多次提交
28、nginx安装引导、路由转发与正向代理到go服务器流程分析
; z; X- R6 }! X2 G$ Z 29、微商城后台管理系统线上发布流程
) L3 D. e' @1 K, c 第11周 三端分离微商城项目--后端接口设计与实现
% E, `; Z2 x) W+ M! v 本章节涉及实战微商城后端接口,beego与sqlx快速入门,并实现支付业务,从GOPATH迁移到Go modules部署项目上线。
- |% z4 L* j* _% P# G/ N 课程安排:
1、beegoweb框架说明
. t0 u" `9 Y5 z8 r" s) y* F W 2、beegoweb框架搭建
3、beego结合sqlx操作数据库,接口规范说明
4、beego结合sqlx操作数据库与beego使用
5、微商城小程序接口设计与说明
( \0 d8 d# d- Q 6、最近搜索分析与实现
7、热门搜索分析与实现
8、根据关键词搜索分析与实现
9、搜索接口与小程序结合实战
/ S/ h! U( J* w" \0 A 10、下单页接口概述
! k d" W; b0 L9 e* n1 Z6 U; \& \( m 11、收货地址接口分析
" l4 n4 h, h7 \+ `* U5 {# S, T. F 12、预下单页收货地址分析、优惠券表分析实战、购物车表接口实战
13、微信登陆小程序流程分析
14、微信登陆小程序登陆接口与微信结合实战1
0 Y2 q, z- ]3 |7 M8 D7 `2 M9 [ 15、微信小程序支付分析与实战,构建统一下单与异步通知结构体
" m; y" X, f: k4 U. S7 ]- M 16、微信小程序支付分析,统一下单与数据签名
* ?% \1 h4 `/ }8 R" F; o) L 17、微信小程序支付分析,组装微信统一下单数据
18、微信小程序支付分析,微信小程序支付测试
( Q" ^/ n g' a 19、微信小程序支付异步通知结果分析
20、包的概述与gopath缺点,go mod快速入门
% c2 {# K7 r) M$ l- d) H 21、微商城后端接口部署由GOPATH升级到Go modules 实战
, q1 }5 H7 [) a6 @ 22、go语言后端接口基于nginx转发配置与ssl证书申请流程
阶段四:“租辆酷车”共享出行产品设计与研发
第12周 租辆酷车小程序-前端设计初级
我们开始着手完全使用TypeScript开发小程序前端原型,完成首页地图页,汽车模型移动,注册页面表单及流程,行程中费用实时计算,初步搭建用户体验闭环。
7 a8 P1 d2 R* i7 l4 P 课程安排:
1、框架的选择
S" Y# W& g+ a1 V 2、首页地图页的实现
3、汽车位置的移动
) Y! j$ p( b; D4 E3 d' M8 J 4、注册页面布局
5、注册表单的实现
3 u3 e7 O* W4 ]. j 6、注册页面的状态转换
' `/ W1 b3 l- S% |+ m 7、开锁页面的实现
8、行程中页面的实现
* @) Z* U/ y1 A: E& Z 9、行程费用的实时计算
第13周 租辆酷车小程序-前端设计进阶
: t( S+ ~6 H/ V5 z, V, h 本周我们将玩转小程序中较为复杂的swiper以及滚动视图组件,实现强类型保护下的页面跳转路由,实现自定义组件,并综合运用所学知识,结合数据结构设计,实现流行的垂直同步导航功能,全面完成用户体验闭环。
课程安排:
' N) D+ [ l( D0 g W0 a6 J 1、swiper控件详解
2、强类型保护下的页面跳转路由
3、页面跳转参数的强类型化重构
4 y$ f- D: e& r 4、滚动视图详解
% `2 m4 f3 R- D1 T0 u 5、垂直导航之数据结构设计
- J+ g, R6 M! O. ^3 e+ c 6、元素位置识别技巧
7、自定义组件之模态对话框
6 l* s( k7 N6 g8 }6 V( Z 8、前端开发的总结
; N" X% N* t* [9 p 第14周 租辆酷车后端-接入微服务GRPC
3 z6 l$ L* j) L+ S 关注前后端的消息传递,以及领域建模。我们采用GRPC定义领域模型,统领前后端开发及联调。使用GRPC对内,REST对外的标准接口方式进行设计,打通前后端数据通路,为业务开发打下坚实基础,体验最佳实践。
课程安排:
. F" [, Y% w1 D* H+ h6 L 1、Go语言之vscode配置
2、GRPC简介
1 j; n$ X* G9 D 3、ProtoBuf编译器的安装
4、ProtoBuf的使用
5、定义复合类型和枚举类型
6、ProtoBuf字段的可选性
\* ?; v e* A% N 7、实现GRPC服务器及客户端
- a6 Y, P5 ^! Q; t: v3 i0 S- X* S 8、REST vs RPC
9、GRPC Gateway的介绍
! h# ~# d" [) P" N/ i9 e 10、用GRPC Gateway暴露REST接口
11、小程序访问REST接口
12、前后端数据类型交互的统一填坑
13、小程序使用npm构建
14、小程序请求的强类型化
第15周 微服务与存储设计+实战登录服务
在了解了微服务,理解微服务划分哲学着手开发后端微服务。我们首先攻克登陆环节。登陆看似普通实际流程复杂,涉及微信登陆,数据存储,令牌生成等多个环节。在数据存储中,我们选用NoSQL数据库。
课程安排:
( z" s, m3 S2 {1 n/ _ 1、进一步理解微服务
% G6 c4 {$ U4 l: @0 Z6 ?" X7 ^ 2、租辆酷车后端的微服务划分
3、小程序登陆过程分析
4、登陆服务的框架
5、获取OpenID
6、关系型数据库 vs 非关系型数据库
' [( v$ v2 u% R6 p" A 7、用docker来启动MongoDB
8、MongoDB的CRUD操作
9、用MongoDB Playground模拟用户登陆
5 s3 N9 |2 }6 c& k* e* {8 J% D* ~ 10、实现微信登录数据绑定
11、用Go语言来控制Docker启动MongoDB
+ Q9 Q8 M/ w+ Q4 {0 Z 12、建立针对MongoDB的测试库
13、表格驱动测试的实践
3 o' w& @) J- Q8 O. T7 g9 I. b 14、登陆服务阶段性总结
第16周 租辆酷车权限设计与JWT实战
3 \; m( E2 |! |4 h* u 本周我们将学到安全方面的必备知识点,包括JWT令牌分发,RSA签名机制,JWT令牌校验,拦截器,go context上下文,客户端自动登陆及重试机制,完成登陆闭环。
+ C' r2 _% c1 n: B/ e- I7 m 课程安排:
3 |% ], B, p+ K. m! `4 a# \ 1、JWT简介
2、用RSA非对称密钥签名JWT
3、JWT的Go语言实现
4、验证JWT Token
5、Go Context的概念及详解
6、创建行程服务
7、实现登陆状态拦截器
8、应用Identifier Type设计模式
- |/ I. G$ X) y* S8 P+ f, M, h 9、客户端携带token
10、客户端自动登陆及重试
第17周 租辆酷车后端-行程服务实战+后端最佳实践
$ [9 Z) ^& h4 S4 p ] h; a# _ 本周我们实现行程服务,并与前端联调走通整个行程生命周期。同学将看到测试驱动开发的大规模实战,体验完整的企业级开发流程和最佳实践。技术方面,我们采用防入侵层维护领域边界,采用乐观锁维护数据一致性。
课程安排:
& B& g. I! ^) S) J6 V0 w 1、行程服务的定义
; z3 Z; U3 q$ o0 K4 e6 d 2、行程的创建
6 f2 Y) ?. y$ J0 u2 W" S 3、行程的获取
; k5 C' J C" A, V3 S3 c 4、对于ID的进一步重构
! Z% i( [& {. w 5、行程的测试
6、批量获取行程
; M Y. N7 {$ H$ M6 [- U n, t( B 7、用乐观锁更新行程
8、创建行程服务及防入侵
9、创建行程服务的测试
' @/ d2 M: E$ U* K% e2 L 10、创建行程前后端联调
. e- ^* r, s. X- ]7 n 11、获取行程及行程列表的前后端联调
, Z; }9 ^3 l; z 12、行程更新服务
13、行程生命周期的测试
" V" Q+ q9 C5 Z) {6 h$ Z) b 14、行程生命周期的前端跳转
15、驾驶页面的行程更新
16、我的行程页面的更新
17、测试驱动修bug的标准流程
18、行程服务的总结
1 D4 ^$ G6 K2 w& i* p8 a1 o! ^9 @3 ? 第18周 租辆酷车后端-身份服务与认证实战+云存储
# r5 b. X9 d5 f/ i 本周我们将实现身份认证服务流程。包括驾照上传,信息上传,后台审核,前端跳转,重新审核等复杂业务流程。技术上采用云存储来存放驾照照片,采用MongoDB来存放数据及其匹配项。
课程安排:
1、身份服务的定义
2、身份服务的实现
3、客户端的对接
4、微信数据双向绑定
1 L# G5 S* G/ } q7 g! ~ 5、与行程服务的联调
6、云存储的简介和使用
7、用Go语言和小程序操作云存储
% ^4 H' q" | p* S! C, ^- Q$ V0 R5 w 8、获取图片内容的流程分析
9、存储服务的定义
10、存储服务的数据库实现
11、存储服务接入云存储
12、使用GRPC客户端检查存储服务
13、与身份认证服务的关联
3 P9 r6 _1 v* p- C 14、身份认证模块的前后端联调
# V q- B" ?/ U% q 15、阶段小结
+ p4 O3 z2 p5 [7 Q. I 阶段五:微商城架构演进之实现高并发与搜索微服务
. B0 S8 L& W$ L' M0 b 第19周 微商城架构演进-高并发与限流
8 V2 u3 F2 x. q: Q7 h' U, p 本章节对计算机常用概念进行快速普及,协程与channel相关操作,协程运行原理,模板并发请求实战与限流处理实战。
$ B5 M+ d2 T% N, @9 r7 L# w" I$ o( X 课程安排:
1、高级篇概述、进程线程分析、并发并行分析
2、分时系统与上下文概述、用户空间与内核空间概述、中断概述
$ [7 ^' [5 K& @" L# S$ O' w 3、协程运行原理分析
4、协程与waitgroup
" B( `7 b- v# Q, n3 g0 W 5、channel相关操作
6、buffered channel与unbuffered channel执行流程分析与实战
M s/ Z. t! l; \ 7、channel中的死锁与解决
8、buffered channel实现斐波那契数列
9、单方向channel
10、单向channel与双向channel执行原理分析与实战
11、单向channel与双向channel结合实现生产者与消费者模型
12、select多路监听
13、nil channel与select结合禁用case并分析原理
14、协程,channel与select结合实现超时等待处理
_! }4 {2 |7 P- U, d' @/ t 15、项目实战使用buffered channel模拟并发请求
7 ^. @6 N! P- b# T- z+ W+ O 16、限流概述
$ y @# N, d' T, B% L+ B 17、限流实战
第20周 微商城架构演进-构建大文件日志处理系统
本章节内容scan、scanf、scanln用法,文件常用操作,json与xml处理,大文件处理,grep+awk实现ip、业务统计、微信交易日志统计、各年本年商品、品牌、分类成交额与成交量实现。
课程安排:
1、导图概述、系统调用流程分析、文件描述符作用、常用文件读取方式
: K. H4 q+ [ j+ ` 2、scan、scanf、scanln、Sscan、Sscanf、Sscanln
3、Sscan、Sscanf、Sscanln
5 \' [0 u9 ?/ D+ l. ? 4、Fscan
$ n, n- X7 c- X. }& J7 W- | 5、io包接口分析与使用,自定义类型实现ioReade接口调用
! Y) Z6 z& n5 e( Z6 B" q- j$ |4 c 6、自定义类型实现ioReade接口调用
7、ioWriter接口分析与使用,自定义类型结合channel实现ioWriter接口调用
8、os.File 创建文件、写入文件,os.Open 打开文件、读取文件
/ H7 ?3 i5 X- w! u- ^% S 9、io.Copy并结构http实现下载网页
0 c) J9 p' v, V+ t$ d 10、bufio包结构io.open打开文件按照指定分隔符读取数据
11、ioWriteString
9 i4 ~3 d% U7 d: k5 Y 12、ioutil快速读取
6 ], ] E1 \) F% a7 V 13、json概述、struct tag常见用法、json解析与反解析实战(struct、slice、map)、json从文件中解析
14、xml与结构体解析处理
15、大文件日志处理概述与日志分类
16、日志分类概述,使用grep+awk实现对ip的统计、不同业务的日志统计、微信交易日志的统计
' o1 y" Y4 p. B9 x( m0 t 17、grep+awk+cat对小文件合并成大文件做最终统计、各年与本年商品、品牌、分类成交额与成交量分析
18、go语言系统调用包实现各年与本年商品、品牌、分类成交额与成交量
第20+周 微商城架构演进-构建消息推送服务
本章主要讲解消息推送推拉模式,技术瓶颈,websocket握手流程、服务端与客户端实现、微信小程序连接websocket服务端实现,微信支付异步通知与权益处理分析,消息提醒分析与实战。
0 ]$ i2 z; I% ]% ` 课程安排:
- `# G; ~1 V, a0 e3 }7 ]2 E( w 1、消息推送概述
2 G3 }; {- F: i 2、消息推送之推拉模式
3、千万级消息推送技术瓶颈概述
4、websocket概述、握手流程分析、服务端实现、javascript请求websocket
5、javascript结合浏览器与websocket服务端通知实战
6、go语言websocket客户端与websocket服务端通知实战
7、微信小程序websocket连接websocket服务端实现1
% X: O3 b4 m- }% r; C4 b/ P7 N 8、小程序开发环境配置说明与项目实战说明
9、微信支付异步通知分析与权益处理分析
; t/ B$ J1 T* I; C 10、微信小程序周期连接与断开程序分析,消息提醒分析
( j8 m/ f; K' Q 11、微商城消息推送实战
第21周 微商城架构演进-为系统接入微服务
! u" r7 a4 _( o8 X7 j% A 本章节主要讲解docker的使用,容器,镜像,仓库相关分集,微服务概述,单体应用优劣,服务注册与发现内容,consul服务发现流程,consul安装,简单服务注册与查询实现。
课程安排:
1、docker概述
8 C: C1 s% L; ]: ` 2、docker安装
+ {% _* y u5 p: k- _+ Z) p 3、docker容器,镜像,仓库
4、docker的常见用法
' m$ f( Y% M. h( q1 r$ Q) f 5、单体应用的优劣
% ?. J) g4 v) V k& D1 ] 6、单体应用到微服务演变
3 U" W0 B2 `# U% e b% E9 P" p. ` ? 7、微服务概述与技术指标
8、服务发现概述、方式
9、单点故障与分布式概述
10、Consul服务发现流程概述
11、Consul安装与启动操作
12、Consul服务注册与查询操作
第21+周 微商城架构演进-微服务进阶
* t$ T* u* J5 z7 D# H 本章节主要讲解gomicro相关操作,并会引入gin框架,对gin框架进行快速入门,micro服务注册到consul,并提供服务获取操作,常用服务调用方式,最后使用rpc实现一个简易的商品信息服务。
课程安排:
9 D, Y) K, U2 d 1、micro概述
2、gomicro安装与踩坑避坑指南
7 O/ `% a+ [7 k8 |1 c* m 3、micro 手写第一个web api微服务
1 X4 K- c6 o1 M6 \+ d5 e) u* L 4、gin框架快速入门并生成web api
2 \& e. \2 g7 u: l1 Z1 T 5、micro 服务注册到consul
( I+ U# [) W$ h! f3 ^5 ` 6、服务注册发现以轮询的方式获取consul服务列表、selector随机选择
; q) T _5 R# y+ Q; t/ S. y 7、服务调用实例
4 z9 e1 [+ M3 S& U& Q" t4 W 8、以plugin插件的形式调用服务
, V. T* R# V: D+ e# U 9、rpc创建微商城商品服务并注册到consul
10、rpc获取商品信息
11、Go Micro API网关统一处理
4 F2 f6 M5 N- U# L5 A- C 第22周 微商城架构演进-基于es实现搜索分词优化
本章节主要讲解elasticsearch相关知识,包括es相关概述,docker安装es,es结合postman操作curd,常用中文分词器与中文分词组件。
, W$ D4 r- L( G3 _1 |7 M* } 课程安排:
5 z3 u4 F' N3 g( J 1、es 概述
6 x z' C# {6 c$ w @' J 2、docker部署安装es
; S" Z. u; J X& ` 3、es RESTful API 结合 postman 操作 curd
4、es 常用分词器
6 h& q( e! x) @4 q7 f 5、es 中文分词组件
第22+周 微商城架构演进-实现搜索微服务化
4 V2 e9 L% [* V( \: V 本章节主要讲解如何将微商城当中的数据迁移到es,并搭建kibana分析与可视化工具,go对es的增删改查,全文检索与高亮显示,搜索grpc服务并注册到consul,微商城搜索迁移到es服务。
课程安排:
0 F; W; U8 w7 \$ ^ 1、mysql数据同步到es
2、go对es的增删改查
3、全文检索与高亮显示
1 a+ A& V; p2 |& o* @& n; ]% c 4、kibana部署
5、实现搜索grpc服务,注册到consul,并提供调用
7 p8 S8 \. k6 D0 l 6、微商城搜索接口迁移es搜索
' F6 k6 U0 B1 A5 [( A 阶段六:“租辆酷车”架构演进之高性能位置更新,后台管理与部署
+ ?+ D& E) Z( S+ w+ m3 ?/ ^/ A 第23周 租辆酷车-高性能实时位置服务+社交属性
本周将实采用websocket+rabbitMQ来实现汽车物料管理,汽车实时位置更新及用户位置分享,开始构建小程序用户社交属性。
课程安排:
1、车辆服务的定义
- S* i5 C4 q, L L& ` 2、车辆服务的数据库实现
) j! M- l, \# d4 F# t" D 3、数据库初始化流程
4、RabbitMQ详解
5、连接RabbitMQ
& K- O& f& g s- ~5 M* U 6、实战websocket与小程序通信
. X* q4 n$ @0 [# q/ V/ \: G1 z! d* [ Z 7、连接小程序,websocket与RabitMQ,打通车辆位置更新
8、地图车辆位置更新的业务实现
9、行程生命周期的优化
第24周 租辆酷车-后台管理设计与实战
实现后台管理系统,包括后台登陆身份审核流程,车辆管理,二维码物料生成,采用Node.js+TypeScript+Vue3进行开发,打造Go+Vue的完整生态。
$ u2 p7 b1 j8 t6 T6 u0 a% H 课程安排:
+ `- B: X; X5 h4 Z& o/ a+ S$ m 1、后台管理系统的需求分析
' w& j% k$ e+ g- v8 u1 I% w 2、Vue与Vue3快速入门
9 ]& `; e& v% \ 3、为登陆服务添加后台管理员鉴权
4、身份审核的实现
5、车辆管理的实现
6、二维码物料批量生成
- F6 H5 K! ?1 @1 G9 A; M" S# k4 m Y 第24+周 租辆酷车-k8s+docker部署与上云
最后我们将完成整套微服务的部署,有了之前的配置化思路,提取配置会很容易,通过k8s,我们可以把这些微服务部署到本机环境以及真正上云。最后通过负载均衡器实现全站https化,为投入生产做最后冲刺。
课程安排:
1、Kubernetes简介和安装
2、在本地起一个Kubernetes集群
9 b: y$ h3 ?' L: } 3、在云上构建一个Kubernetes集群
4、配置化所有微服务参数
, ?" r$ i/ N$ x! z8 X9 L2 g' } 5、构建自己的docker镜像
6、存放密钥的n种方法
7、yaml配置k8中的pod和服务发现
8、负载均衡器的配置
9、小程序+后台+云的联调
10、微服务更新流程
11、HTTPS证书及全站HTTPS化
12、上线步骤简介
13、尾声及展望
/ H' P4 d1 G5 {3 U w〖视频截图〗: