12、其他语言 计算机IT系 ·

金职位-Go开发工程师

金职位-Go开发工程师 12、其他语言 第1张

阶段一:Go语言极速上手
第1周 Go语言极速上手
Go发展历程、语言特性快速预览、企业应用,go安装与环境配置,go语常用开发工具Goland,VisualStudio,LiteIde集成。go语言常用数据类型讲解。
课程安排:
1、Go发展历程、企业应用、语言特性
2、Go语言安装、Go语言环境配置
3、常量概述、常量的使用、常量的应用场景
4、变量概述、变量格式化输出
5、变量的使用、变量的内存布局
6、数值类型概述、不同数值类型表示范围、数据类型的使用
7、浮点概述、浮点类型的使用、复数的使用
8、字符概述、使用
9、字符串概述、字符串使用、字符串遍历、中文字符串的处理
10、布尔类型概述、使用
11、指针概述、指针使用、指针内存布局分析
12、指针内存布局分析、指针作用、指针运算与多级指针
13、数组概述、内存布局分析、数组的使用
14、数组的使用、数组作为函数参数意义、二维数组与多维数组
15、切片概述、切片使用、切片与数组内存布局分析
16、切片作为函数参数
17、map概述、定义与使用方式、map内存布局分析
18、map的使用方式、遍历、有序输出
19、结构体作为map的值、map切片
第2周 Go语言流程控制
本章节涉及到流程控制,函数,结构体,方法,go语言包与第三方扩展库,相关知识,并综合案例讲解本地包的使用。
课程安排:
1、条件控制、comma-ok模式测试多返回值、选择控制
2、选择控制、类型断言type-switch、循环控制
3、循环控制、goto+标签,break+标签、continue+标签
4、包的概述、包的作用、本地包的使用、访问控制
5、本地包的使用、github结合第三方扩展库的使用、本地包使用案例
6、函数概述、使用、多返回、作用域
7、递归函数、匿名函数、闭包
8、闭包、匿名函数补充、defer、函数重载、函数作为值类型
9、函数作为值、函数作为类型、init函数、main()函数、引用类型与值类型区别
第3周 Go结构体与面向对象
本章节涉及到结构体常用知识包括结构体最佳实践、结构体内存分析,方法的使用,面向对象三大特征封装,继承,多态,并综合案例加深面向对象的理解。
课程安排:
1、结构体概述、作用、自定义类型的两种方式、结构体的使用
2、结构体的使用、结构体注意事项
3、结构体的使用、结构体注意事项、结构体最佳实践、结构体内存分析
4、方法的概述、作用、使用
5、方法的使用、注意事项、方法与函数的区别
6、本章要点:总览Go的面向对象核心及初识面向对象(定义:权威+通俗)
7、【面向对象】三大特征(权威+通俗定义)
8、面向对象之【封装】基础实践(don’t say,show U the code)
9、面向对象之【继承】基础实践(don’t talk,show U the code)
10、面向对象之【多态】基础实践(don’t speak,show U the code)
11、拓展进阶:结合企业级业务分析面向对象的设计思想、作用
12、综合案例:面向对象最佳实践Coding(don’t speak,show me your code!)
13、面向对象总结
第4周 Go语言web编程
本章节涉及go语言web编程相关的知识,包括http协议,web请求与响应解析。
课程安排:
1、go语言web编程总览
2、web编程概述
3、web编程思维导图补充说明
4、web概述、web发展史、web访问流程分析
5、dns查询过程分析【没有上传】
6、http协议概述、http请求包与响应包分析
7、tcp连接流程分析、go语言web原理、go语言http请求分析
8、http请求handle,handlefunc分析
9、http请求获取url参数分析与实现
10、http请求获取头header参数分析与实现
11、http请求获取请求体数据分析与实现
12、http请求获取form与postform分析与实现
13、http请求获取multipartform分析与实现
14、http请求获取multipartform实现
15、http请求获取formvalue与postformvalue分析与实现
16、http请求获取formfile分析与实现
17、http请求获取FILES上传分析与实现
18、http请求获取FILES上传分析与实现
19、http响应分析与实现
20、会话处理原理分析
阶段二:租辆酷车小程序与TypeScript
第5周 小程序极速上手与租辆酷车初体验
初识小程序,理解小程序的作用,商业场景。配置环境,包括小程序账号,小程序开发工具,vscode。理解小程序运行机制,渲染机制,页面栈。开发第一款小程序,添加地图功能。
课程安排:
1、小程序的优缺点
2、小程序营销案例分析
3、小程序账号配置
4、小程序开发工具安装配置
5、vscode安装和配置
6、开发第一款小程序
7、理解小程序运行机制和渲染机制
8、理解小程序生命周期
9、小程序页面栈详解
10、小程序调试工具速成
11、添加地图组件,打造租辆酷车雏形
第6周 极速上手TypeScript应用
极速上手TypeScript。理解并开始使用TypeScript,包括基本数据类型,数组,对象,函数,方法。并且开始使用TypeScript开发小程序。
课程安排:
1、TypeScript简介
2、了解TypeScript vs JavaScript
3、TypeScript环境配置
4、开发第一款使用TypeScript的小程序
5、TypeScript的基本数据类型
6、逻辑控制
7、枚举类型
8、数组
9、对象及方法
10、函数的定义
第7周 精通Typescript
TypeScript的高级知识。这些知识点是跑步超越其他前端同事,做出高可靠性小程序及其他前端应用的关键。包括函数式编程,Promise详解,异步编程,接口,范型,面向对象,解决小程序开发典型难点。
课程安排:
1、函数式编程
2、一等公民及高阶函数
3、函数的闭包
4、函数式编程攻克小程序难点:页面状态维护
5、数组变换
6、Promise详解
7、同时等待多个Promise
8、异步编程
9、小程序API的Promise化
10、Promise攻克小程序难点:初始状态同步
11、接口及其高级技巧
12、接口的两种实现方式
13、类
14、范型
第8周 前端知识体系速成
本周我们将速成前端知识体系,学习最为有用的CSS必备技能,以及wxml前端模版的使用。这些技能每个开发者都必须掌握,包括后端开发。本周的课程将助同学掌握和补充全面的必备的知识体系。
课程安排:
1、为租辆酷车的原型开发确立目标
2、WXML语法速成
3、CSS选择器
4、控制元素位置
5、控制文字属性
6、flex弹性盒子布局详解
7、在小程序中使用css
阶段三:三端分离商业级微商城项目设计与实战
第9周 三端分离商业级电商项目–小程序前端布局
本章节涉及微商城小程序原型概括,框架布局,首页布局,分类页布局,商品列表页布局,商品详情页布局,购物车页布局,预下单页布局,搜索页布局,个人中心页,浏览足迹页 ,本章总结
课程安排:
1、微商城小程序原型概括
2、框架布局
3、首页布局
4、分类页布局
5、商品列表页布局
6、商品列表页布局
7、商品详情页布局
8、购物车页布局
9、预下单页布局
10、搜索页布局
11、个人中心页
12、浏览足迹页
13、本章总结第10周   三端分离微商城-数据库与后台管理设计实战本章节涉及会话处理,数据库操作,模板引擎,并带领各位同学实战微商城后台管理系统、数据库表分析, 手把手撸一套自己的go语言web框架,nginx路由转发与代理到goweb,项目线上部署。课程安排:1、微商城后台管理系统功能说明
2、数据库表概述
3、分类表分析与构建
4、商品表分析与构建
5、购物车表分析与构建
6、商家表分析
7、品牌表分析
8、订单表分析与构建
9、订单商品表分析与构建
10、用户表分析与构建
11、用户优惠券表分析与构建
12、快递表分析
13、搜索历史表分析与构建
14、优惠券表的分析与构建
15、商品收藏表分析
16、收货地址表与城市表分析
17、商品浏览足迹表分析
18、web框架构建概述
19、web框架构建之配置文件
20、web框架之数据库curd操作-增加
21、web框架构建之数据库curd操作-删改查
22、web框架构建之解耦程序与函数封装
23、web框架构建之实战登陆
24、web框架构建之实战登陆会话处理
25、web框架构建之实战登陆会话处理与完善项目框架
26、模板引擎与商品添加
27、模板引擎与商品列表、分页分析、表单多次提交
28、nginx安装引导、路由转发与反向代理到go服务器流程分析
29、微商城后台管理系统线上发布流程
第11周 租辆酷车后端-身份服务与认证实战+云存储
本周我们将实现身份认证服务流程。包括驾照上传,信息上传,后台审核,前端跳转,重新审核等复杂业务流程。技术上采用云存储来存放驾照照片,采用MongoDB来存放数据及其匹配项。
课程安排:
1、身份服务的定义
2、身份服务的实现
3、客户端的对接
4、微信数据双向绑定
5、与行程服务的联调
6、云存储的简介和使用
7、用Go语言和小程序操作云存储
8、获取图片内容的流程分析
9、存储服务的定义
10、存储服务的数据库实现
11、存储服务接入云存储
12、使用GRPC客户端检查存储服务
13、与身份认证服务的关联
14、身份认证模块的前后端联调
15、阶段小结
阶段四:“租辆酷车”架构演进之高性能位置更新与服务部署
第12周 租辆酷车-实时位置服务
本周将实采用rabbitMQ来实现汽车物料管理,汽车实时位置更新
课程安排:
1、物联网简介
2、RabbitMQ简介
3、使用go语言进行收发
4、使用go语言实现pub/sub
5、汽车服务的设计
6、汽车服务CRUD的实现
7、汽车状态更新的发布
8、汽车状态模拟
第13周 租辆酷车-实时位置更新的处理和展示
本周我们将实现实时位置更新的下游,包括websocket连接小程序,行程服务数据同步,以及最终前端展示
课程安排:
1、WebSocket简介
2、给汽车服务添加websocket
3、客户端的开锁处理
4、位置模拟服务的使用
5、位置实时更新的后端实现
6、行程位置更新
7、用户身份的Impersonation
8、控制GRPC Gateway的头部映射
9、首页头像的实时更新
10、汽车服务及全部开发总结
第14周 租辆酷车服务的k8s集群部署
本周我们将租辆酷车服务后端部署到k8s服务器集群,全面实现小程序后端上云。
课程安排:
1、Kubernetes的历史,集群配置及版本
2、kind本地集群的配置
3、容器
4、节点及物理层
5、服务与网络
6、构建Docker镜像
7、Dockerfile指令详解
8、为Docker镜像瘦身
9、flag与环境变量的使用
10、为所有服务制作及上传镜像
11、k8s yaml语法详解
12、卷,配置及密钥
13、服务及端口的暴露
14、服务的进一步拆分
15、istio安装
16、服务可视化
17、负载均衡
18、限流与熔断
19、全面实现小程序后端上云
阶段五:电商项目- 微服务基础
第15周 从0开始理解rpc和grpc
rpc作为微服务的核心,深入理解rpc对于微服务开发来说非常重要,本周我们将从0开始一步步的理解rpc的核心概念,grpc的快速开发体验
课程安排:
1、rpc的核心概念
2、通过http实现rpc的基础原型
3、rpc核心要点分析
4、go自带的rpc开发
5、替换rpc中的gob协议为json协议
6、替换rpc中的传输协议为http协议
7、封装自带的rpc框架实现完美体验
8、protobuf的核心概念
9、grpc快速开发体验
10、grpc的流模式开发体验
第16周 grpc和protobuf进阶
微服务框架的搭建需要在rpc基础上添加对应的功能,深入理解protobuf和grpc更核心的功能对于后续框架的设计非常重要,为后续微服务打下坚实的基础
课程安排:
1、protobuf的基本类型和默认值
2、proto文件的管理和更新可能造成的问题
3、proto文件中import其他的proto文件
4、嵌套message、enum枚举类型
5、map类型和timestamp类型
6、grpc的metadata机制
7、grpc的拦截器
8、通过拦截器和metadata机制实现auth认证
9、grpc的验证器
10、grpc中的错误处理和超时机制
第17周 yapi文档管理、gorm详解
本周我们需要完成需求分析、在前后端管理中我们为什么需要yapi这样的接口管理系统、orm我们选择gorm,通过gorm基础知识的讲解我们将完成后续数据库操作的基础知识的准备
课程安排:
1、电商系统和后台管理系统需求分析
2、微服务架构演进
3、微服务架构需要解决哪些核心问题?
4、如何管理前后端分离系统的接口-yapi
5、gorm的基本CRUD操作
6、model的基本定义
7、多表查询(分页、子查询)
8、多表查询(一对多、多对多、表连接)
9、如何hook主表名和保存后的自定义逻辑?
10、gorm的事务性操作
第18周 gin快速入门
微服务的web层我们将采用gin作为开发框架,本周我们将体验gin的开发的各个细节,理解到gin的middleware的核心原理,这些后续深度集成gin打下坚实的基础
课程安排:
1、gin的New和Default初始化的区别
2、gin的路由分组
3、获取url、get和post中的值
4、gin的表单验证
5、表单验证的error中文翻译
6、gin中体验protobuf
7、自定义gin的middleware
8、gin的middleware源码分析和abort的关系
9、gin返回html
10、gin加载静态文件和优雅退出

相关下载

点击下载