GO语言开发全栈课程体系 ( V3.1 )
最后更新时间: 2020年2月课程一定是为你精心设计的, 成就自己的只需一套精品!
课程设计原则:
- - 以零基础小白为目标人群设计;
- - 以现在企业中高级程序员岗位所需要的技术应用为目标设计;
- - 为程序开发这门学科特点,以实战和项目贯穿为高效学习目标设计;
- - 根据线上学习特点去规划每天学习内容;
- - 以全栈技能为目标设计知识点结构;
- - 每年至少迭代更新两次,技术版本不一定是最新的,但一定是用的最多的版本;
课程介绍:
授课内容分为七个阶段,分别是GO基础与设计、数据库、GO语言高级、GO语言框架、微服务与分布式、区块链开发、企业实战与项目方案。内容包括GO语言基础、前端及项目实战、goweb开发基础、goweb开发框架GIN及项目实战、goweb开发框架beego、及beego项目实战、golang微服务 、golang微服务项目实战 、 golang分布式编程及实战 、密码学实战编程 、共识算法实战编程 、golang比特币公链开发 、docker 、亚马逊云与阿里云部署 、Docker与Kubernetes(k8s)实战 、以太坊智能合约 、以太坊智能合约项目实战 、EOS智能合约 、EOS智能合约实战 、fabric智能合约 、fabric智能合约实战 、 数据结构与设计模式 、VM虚拟机架构实战 、基于比特币源码的山寨币项目实战 、 基于以太坊源码的eEOS公链项目实战 、EOS钱包与浏览器开发项目实战 、Ripple二次开发实战项目实战 、基于fabric源码的联盟链项目实战等。 可以让学员完全掌握GO语言全套技术,进阶成为GO开发工程师或服务端开发工程师,也能助你成为Docker和K8S云开发工程师、区块链开发工程师。课程内容涉及企业开发规范、企业级解决方案、区块链开发、微信小程序开发、公众号开发、 手机/pc浏览器自适应系统开发、区块链开发、密码学、共识算法、分布式架构、大量面试题和企业真题等。课程中的每个技术点的内容都非常全面,深度到位,课上实例不仅丰富而且实用。 另外,每个知识点都是以目前最新版本的技术设计,每半年一更新,并经过多家软件公司的技术专家参与修订,以达到真正实用的目的,能够与大型软件开发公司所需要的开发技术相吻合。
课程特点:
- - 技术新、内容全:课程的技术点全面,全部都是当前行业内最流行、GO语言全套技能、数据库、前端、GO框架和区块链技术
- - 企业大牛指导项目:为了要学员毕业后快速适应企业环境,特地从IT名企引入技术总监为学员的项目导师,指导和管理项目研发过程、要学员真正体验企业开发过程
- - 课程项目均为上线产品:很多平台的项目案例都是采用模仿或闭门造车形成的,从而导致培训学习和企业要求的存在一定的差异,为了弥补这个差异,我们是第一家将真实上线产品引入课程的平台
- - 拥有企业项目环境:可熟悉项目开发中立项、分析、设计、编码、测试、实施、维护等真实流程及相关工作
- - 采用案例式教学:整个课程以案例为主线,贯串学习知识点和技术点。通过专家讲师和企业导师的带领,使学员可以具有独立开发大型网站的能力
- - 编码、设计规范:课程中的项目案例完全采用企业编码规范和设计规范,例如百度的GO规范、合作企业Go规范等,提高学员编码规范性,增强程序的可读性和维护性
- - 注重素质和能力培养:注重综合素质能力的培养,主要包括技术应用能力、分析设计能力、团队合作、职业素养等,提升学员的企业工作能力
- - 注重方法和思维培养:授人以鱼、不如授人以渔。我们授课过程不仅注重技术点培养、更侧重于方法和思维培养,提升学员养成后续自我提升的能力
学员目标技能要求:
- -golang语言基础
- -golang面向对象
- -golang核心编程,多进程,多线程,文件,网络,正则表达式,反射,核心库
- -Linux命令,shell,数据库redis,mysql,mongodb,leveldb
- -带图形界面与数据库存储的运行在Linux 上的高并发爬虫系统
- -HTML5
- -CSS3
- -JavaScript基础
- -jQuery/插件
- -BootStrap
- -Vue
- -基于beego的并发服务器管理系统前端UI
- -开发基础,前端后端差异
- -GIN基础介绍
- -开发实现基于GIN的博客系统
- -beego基础介绍
- -开发实现基于beego的服务器集群人物管理系统
- -go微服务基础
- -go实现比特币数据浏览器的微服务
- -paxos,raft,mapreduce分布式常见golang编程
- -golang实现多机并发执行mapreduce模拟hadoop
- -实战对称加密,非对称加密,哈希,数字证书,以及国密
- -实战常见共识算法dpos,pos,pow,pbft,raft,等等
- -用golang从零到一实现底层公链,模拟比特币
- -掌握docker
- -掌握主网上线技能
- -掌握docker的golang高级编程
- -solidity智能合约简介,solidity编写以太坊智能合约
- -实战以太坊合约项目上线
- -C++简介,C++编写EOS智能合约
- -实战EOS合约项目上线
- -go实现联盟链chain code链码智能合约
- -实战fabric项目上线
- -掌握公链底层数据结构默克尔树与DAG,以及栈,队列,数组链表,二叉树,图,以及常见21种设计模式在项目实战种的应用
- -实现运行solidity的虚拟机实现运行智能合约
- -修改比特币源码核心,修改定制比特币,开发钱包,浏览器,挖矿工具配套
- -修改以太坊共识算法,修改加密为国密,形成自己的超级公链,让以太坊的速度超越EOS,并开发钱包,浏览器配套
- -实现EOS的钱包与浏览器
- -实现ripple钱包与浏览器开发
- -修改fabric核心切换共识算法,修改fabric实现国密版fabric
适合人群:
- - 即将毕业的在校大专生或本科生
- - 已毕业的大专生或本科生
- - 通过其他学科和机构培训过的学员
- - 各软件企业在职的开发工程师
- - 对GO开发有兴趣的爱好者
- - 学习其他语言转GO语言开发的程序员
- - 编程爱好者,提升自己的全栈技能
- - 创业人员,开发自己创业项目中的产品
阶段一 Go语言基础与设计
说明:
具备学习编程思维,夯实基础. 通过Go语培养编程思维和动手能力, 在基础这个阶段一定要,培养面向过程及编程思想,为以后的深入学习打下坚实基础,另外还要,具备Go领域基础专业编程能力,实现Go语言程序开发各种案例。
模块 | 目标 | 知识点 |
---|---|---|
GO语言基础 |
应知应会:1、通过Go语培养编程思维和动手能力2、通过Go语言的学习培养面向过程及编程思想,为以后的深入学习 就业课程打下坚实基础
业务实战:1、具备Go领域基础专业编程能力2、实现Go语言程序开发案例 |
Go语言介绍及开发环境搭建 |
基础类型 | ||
运算符 | ||
流程控制 | ||
函数 | ||
工程管理 | ||
复合类型 | ||
面向对象编程 | ||
异常处理 | ||
文本文件处理 | ||
开发实战 | ||
案例进阶:图书管理系统 |
||
GO语言高级部分 |
应知应会:具备Linux平台Golang服务器开发方向基本知识和常用技能,并具备基本的开发能力具备Golang后端开发能力 具备Linux系统编程能力 可解决常见Linux系统编程问题 了解系统编程的并发机制 |
Linux命令 |
linux开发与调试工具 | ||
文本文件处理 | ||
反射机制 | ||
系统I/O操作 | ||
进程与通信 | ||
线程与同步 | ||
goroutine协程与调度器 | ||
channel管道与CSP同步机制 | ||
开发实战 | ||
案例进阶:使用比特币用的数据库存储数据 |
||
Golang网络与服务器开发 |
应知应会:1、具备常用后台服务器开发方向基本知识和常用技能,并具备基本的开发能力2、掌握gouroutine、channel等go语言并发机制和高并发服务器解决方案 3、掌握Linux平台系统编程 4、掌握网络编程协议,实现网络间点对点通信
业务实战:能够实现包括服务器后台、服务器数据库的开发 |
网络协议与网路编程 |
Golang网络编程实战 | ||
RPC远程调用机制 | ||
高并发服务时间轮 | ||
高并发服务器框架设计 | ||
AOI通信广播机制 | ||
Golang高并发服务器开发实战 | ||
案例进阶:Golang高并发服务器开发实战 |
收获:
学完此阶段这部分不仅要学习Linux, 具备Linux平台Golang服务器开发方向基本知识和常用技能,并具备基本的开发能力。 还要能解决的现实问题, 包括具备Golang后端开发能力,Linux系统编程能力,也可解决常见Linux系统编程问题,还要了解系统编程的并发机制,还有在使用GO语言开发时,要具备常用后台服务器开发方向基本知识和常用技能, 并具备基本的开发能力,掌握gouroutine、channel等go语言并发机制和高并发服务器解决方案,掌握Linux平台系统编程,也要掌握网络编程协议,实现网络间点对点通信。
阶段二 数据库应用与管理
说明:
GO和关系型数库MySQL结合使用的情况比较多, 也会和Redis或MongoDB非关系型数据库一起使用。所以一定要了解数据库的基本情况, 掌握Mysql数据库常用操作(增、删、改、查等),可以熟练编写sql语句。 能够进行GO和MySQL、MongoDB和Redis之间的数据交互,另外还需要掌握网络编程相关技术,能够实现网络间数据通信。
模块 | 目标 | 知识点 |
---|---|---|
MySQL数据库设计包括: 数据库管理 数据表设计 SQL语言设计 |
应知应会:1.配置环境变量2.连接数据库服务器 3.建库,建表 4.记录操作
业务实战:1.创建班级数据库2.创建数据表 3.添加5条记录 4.查询,修改,删除练习 |
数据库管理系统 |
结构化查询语言 | ||
MySQL数据库的连接与关闭 | ||
创建、选择及查看数据库 | ||
数据表( Table ) | ||
数据值和列类型 | ||
数据字段属性 | ||
创建、修改及删除表 | ||
数据表的类型及存储位置 | ||
数据表的默认字符集 | ||
创建索引 | ||
执行 DDL 命令操作数据对象 | ||
使用 DML 命令操作数据表中的数据记录 | ||
通过 DQL 命令查询数据表中的数据 | ||
SQL进阶 |
应知应会:1. 掌握数据GOI与Redis的交互2.掌握SQL结构化查询
业务实战:各种SQL结构化查询 |
NoSQL介绍 |
Redis中常用数据类型 | ||
Redis数据结构服务器 | ||
Redis缓存服务器 | ||
GO与Redis的交互 | ||
SQL结构化查询 |
收获:
学完此阶段能够掌握MySQL的基本应用, 可以设计表和管理数据表,编写SQL语句,以及可以掌握NoSQL的应用,可以使用GO语言和数据库进行交互 。
阶段三 GO Web 开发
说明:
程序需要界面都用HTML5完成, 前端部分需要熟悉HTML5语法和标记, 能熟练设计体验度高的HTML页面, 能实现对特殊功能的界面设计,例如画图表、视频音频播放、地理定位等,熟悉CSS3语法和属性,,能熟悉对HTML内容进行渲染, 例如文字样式、列表和表格样式、动画、元素定位和布局。
模块 | 目标 | 知识点 |
---|---|---|
H5前端基础 |
应知应会:1. 熟悉HTML5语法和标记2. 能熟练设计体验度高的HTML页面 3. 能实现对特殊功能的界面设计,例如画图表、视频音频播放、地理定位等 4. 熟悉CSS3语法和属性 5. 能熟悉对HTML内容进行渲染,例如文字样式、列表和表格样式、动画、元素定位和布局 6. 熟悉JavaScript基本语法 7. 掌握对HTML元素的处理、浏览器窗体的处理、事件处理等 8. 熟练实现对HTML页面的表单校验和页面特效的处理 HTML5应用程序缓存,本地存储技术localStorage和sessionStorage的使用 9. 掌握WebSocket通信技术等
业务实战:快件e栈前端界面设计v1 |
HTML5(H5)基本文档结构 |
标题、图片标记 | ||
链接、列表、表格标记 | ||
表单标记 | ||
CSS基础语法 | ||
CSS文本、列表、表格样式 | ||
CSS盒子模型 | ||
CSS浮动布局、定位 | ||
JavaScript语言基础 | ||
JavaScript闭包和自执行 | ||
JavaScript DOM编程 | ||
JavaScript事件模型 | ||
Window对象模型 | ||
HTML5画布 | ||
Web存储、音频/视频、拖放 | ||
WebSocket技术 | ||
CSS3边框、背景 | ||
CSS3动画、特效 | ||
C33文字特效、盒子模型 | ||
H5前端框架 |
应知应会:1.熟悉jQuery框架选择器、特效、动画、文档处理等API2.熟悉Bootstrap框架按钮、表格、布局、弹框样式处理 3.掌握Vue语法应用 4.掌握Vue事件处理 5.掌握Vue表单和组件应用
业务实战:快件e栈前端界面设计v2 |
JDBC jQuery选择器、事件 |
jQuery文档处理、特效 | ||
Bootstrap按钮、表格、列表等样式处理 | ||
Bootstrap布局、弹框、特效样式处理 | ||
Vue环境安装 | ||
Vue模板语法 | ||
Vue循环、分值 | ||
Vue样式绑定 | ||
Vue事件处理 | ||
Vue表单和组件 | ||
扩展1-表单校验插件、编辑器插件、弹框插件等 | ||
扩展2-放大镜插件、日历插件、图表插件等 | ||
Web服务器开发 |
应知应会:1、可根据产品原型图,开发web网站的前端界面2、可根据业务流程图,开发web网站的后台业务 3、可根据web框架设计,开发对应的数据库 4、缓存服务器的操作和设计 5、异步任务的实现
业务实战:1、高并发全功能的web网站开发2、提供数据响应速度灵活运用缓存 3、根据实际问题设计出相应数据库表 |
git |
分布式文件系统fastDFS | ||
Nginx与反响代理部署 | ||
beego框架 | ||
基于Beego的Web项目实战 | ||
项目实战 |
应知应会:1.掌握数据库的安装和使用2.掌握数据库的设计和编程 3.熟练使用GO访问数据库 4.熟练使用H5前端技术设计界面和特效
业务实战:GO 商城项目实战 |
数据库安装和使用 |
采用主流beego框架作为后端服务支撑系统 | ||
采用分布式 文件系统fastDFS作为文件存储技术 | ||
采用redis缓存服务器 实现快速响应交易易 | ||
实现mysql读写分离,使用orm进 行行数据库便便捷操作 | ||
使用页面静态化处理理 | ||
使用redis来实现购物 车解决 方案 | ||
支持微信、 支付宝支付功能 | ||
引入电商SKU和SPU概念 | ||
电商采用B2C模式 | ||
采用阿里里云接口实现短信的发送 | ||
采用beego实现邮件发送 | ||
采用数据库+乐观锁解决并发订单保存问题 | ||
采用模板技术实现前端数据显示 | ||
使用git进行行项目管理理 | ||
数据库设计和SQL优化 | ||
GO实现数据库访问 | ||
防止SQL注入式攻击 | ||
多表关联查询的实现 | ||
HTML5/CSS3界面设计 | ||
JavaScript/jQuery制作界面特效 | ||
Vue、js扩展插件的使用 |
收获:
学完此阶段 前端部分需要熟悉HTML5语法和标记, 能熟练设计体验度高的HTML页面, 能实现对特殊功能的界面设计,例如画图表、视频音频播放、地理定位等,熟悉CSS3语法和属性,,能熟悉对HTML内容进行渲染, 例如文字样式、列表和表格样式、动画、元素定位和布局。能够熟悉JavaScript基本语法,掌握对HTML元素的处理、浏览器窗体的处理、事件处理等, 熟练实现对HTML页面的表单校验和页面特效的处理,HTML5应用程序缓存,本地存储技术localStorage和sessionStorage的使用,掌握WebSocket通信技术等。 熟悉jQuery框架选择器、特效、动画、文档处理等API,.熟悉Bootstrap框架按钮、表格、布局、弹框样式处理,掌握Vue语法应用,掌握Vue事件处理,掌握Vue表单和组件应用 。 后端需要掌握分布式文件系统fastDFS、Nginx与反响代理部署、GOWeb开发框架beego,以及基于Beego的Web项目实战。
阶段四 Golang微服务开发
说明:
近些年来,微服务被捧上了天,不会docker好像都不好意思说自己是后端研发。容器化能在一台服务器上隔离出若干个互不干扰的环境,还能限制资源的使用量。 需要能够使用KVM实现虚拟化,最重要是能够熟练使用Docker容器,还要能够熟练使用Kubernates容器编排工具。
模块 | 目标 | 知识点 |
---|---|---|
容器化编程 |
应知应会:1、熟练掌握虚拟化技术2、熟练使用容器与容器编排工具
业务实战:1、能够使用KVM实现虚拟化2、能够熟练使用Docker容器 3、能够熟练使用Kubernates容器编排工具 |
虚拟化基础知识 |
常见虚拟化种类及技术实现 | ||
容器化基础知识 | ||
Docker快速入门 | ||
Docker镜像管理 | ||
Docker容器管理 | ||
Docker数据管理 | ||
Kubernetes设计架构 | ||
Kubernetes集群与部署 | ||
分布式的Golang微服务开发 |
应知应会:1、具备市场主流大数据分布式技术2、具备go语言高并发后台开发能力 3、具备docker虚拟化容器技术 4、具备分布式微服务架构设计能力
业务实战:1、解决企业容器虚拟化技术2、解决企业从资源的利用率和可用性优化方案 3、解决传统PaaS企业,采用Micro Service(微服务)的方式来实现他们的应用 |
分布式编程理论 |
微服务特性 | ||
protobuf通信协议 | ||
服务发现 | ||
gRPC远程调用机制 | ||
go-mirco微服务框架 | ||
RESTful | ||
微服务项目设计 | ||
项目实战 |
应知应会:1. 基于微服务的房源租赁平台实战2.遵循了了RESTful设计 风格的B/S架构 3.使用了了go-micro框架的web模块进 行行开发 4.服务处理理部分主要使 用了了go-micro框架的srv模块进 行行开发 5.服务与服务之间使用consul来完成服务发现与健康检查
业务实战:使用Google 公司封装rpc协议的grpc框架进 行行交互数据传输格式采用了了跨语言跨平台的protobuf |
使用Micro库中的go-micro的微服务框架作为主体 |
采用protobuf作为服务直接数据交互格式 | ||
使用rpc协议的Grpc框架作为服务间通信方式 | ||
采用分布式文件服务器FastDFS作为文件存储技术 | ||
采用Redis实现数据的缓存 | ||
前端上传图片采用无刷新方式(ajax) | ||
采用nginx实现文件服务器 |
收获:
这部分内容也是学习GO不可以少的部分, 做为一个GO工程师,一定要具备市场主流大数据分布式技术,并具备go语言高并发后台开发能力, 当然也离不开docker虚拟化容器技术,和分布式微服务架构设计能力。 这样就可以解决企业容器虚拟化技术,也能解决企业从资源的利用率和可用性优化方案,和解决传统PaaS企业,采用Micro Service(微服务)的方式来实现他们的应用。
阶段五 基于GO语言的区块链开发
说明:
区块链近年很火, GO最适合进行区块链公链开发。 开发区块链,就要了解常见密码学原理及安全密码安全协议知识体系,具备信息安全编程开发能力,为信息安全系统开发和区块链开发提供理论支持,也要掌握主流区块链(Bitcoin,Ethereum)相关机制与原理。
模块 | 目标 | 知识点 |
---|---|---|
区块链的公链开发 |
应知应会:1、具备常见密码学原理及安全密码安全协议知识体系2、具备信息安全编程开发能力 3、为信息安全系统开发和区块链开发提供理论支持 4、掌握主流区块链(Bitcoin,Ethereum)相关机制与原理 5、理解各类主流的共识算法(PoW,PoS,DPoS) 6、熟练掌握区块链系统Go开发语言 7、熟悉常见的安全协议和加密算法 8、熟悉比特币优化协议和行业标准
业务实战:1、能够解决信息安全加密数据传输及认证流程,具备信息安全领域开发能力,可解决中心化体系金融开发2、扎实的理论基础,快速融入各种行业企业区块链相关开发需求 |
常用密码算法 |
常用密码协议 | ||
区块链概念(链与币、通证) | ||
Golang区块链公链开发 | ||
以太坊智能合约 | ||
以太坊智能合约项目实战 | ||
EOS智能合约 | ||
EOS智能合约实战 | ||
fabric智能合约 | ||
fabric智能合约实战 | ||
数据结构与设计模式 | ||
VM虚拟机架构实战 | ||
基于比特币源码的山寨币项目实战 | ||
基于以太坊源码的eEOS公链项目实战 | ||
EOS钱包与浏览器开发项目实战 | ||
Ripple二次开发实战项目实战 | ||
基于fabric源码的联盟链项目实战 | ||
区块链框架编程 |
应知应会:1、具备区块链及相关产业的工作经验2、具备类Hyperledger,以太坊等公开区块链项目开发能力 3、具备智能合约及其使用场景 4、具备掌握Bitcoin,Ethereum,HyperLedger Fabric的区块链相关机制与原理
业务实战:1、区块链底层产品的设计、研发工作2、区块链应用层产品的设计、研发工作 3、研究底区块链底层协议及实现,参与优化重构 |
Unix Shell脚本开发 |
HyperLedger Fabric的环境部署与搭建 | ||
HyperLedger Fabric框架 | ||
HyperLedger Fabric核心模块 | ||
智能合约与链代码 | ||
Solo多机多节点部署 | ||
Kafka集群 | ||
链代码实战 | ||
BCS区块链平台开发实战 | ||
基于联盟链的食品品溯源平台项目实战 | ||
GO语言架构 |
应知应会:1、能够掌握使用 Vue 技术栈进行项目开发2、能够掌握源代码管理工具的使用 3、能够熟练掌握前后端分离开发模式 4、能够掌握使用主流框架开发门户网站、管理系统、移动 Web 等客户端 5、能够掌握 Web 项目的部署与发布模式 6、能基于以太坊编写智能合约 7、能编写和发布代币 8、掌握常用的DApp开发框架 9、具备区中心化分布式存储模型开发能力
业务实战:扎实的理论基础,快速融入各种行业企业区块链相关开发需求 |
前端框架 |
Node.js开发 | ||
Solidity语言 | ||
以太坊与智能合约 | ||
以太坊开发框架 | ||
IPFS 去中心化分布式文件系统 | ||
以太坊DApp开发实战 | ||
基于以太坊的众筹钱包开发实战 | ||
项目实战(以太坊钱包) |
应知应会:1.将资金存放在区块链的合约中2.项目方对资金的支配需要投资人投票表决 3.以太坊公链为基础 4.solidity智能合约控 制逻辑 5.通过react搭建前端交互界 面 6. 配合主流框架truffle开发
业务实战:全面展示了了DAPP开发的各项技能和注意事项为区块链应用开发打下良好的基础 |
基于以太坊公链开发 | 1.
使 用solidity 0.5版本开发 | ||
使 用主流框架truffle完成集成开发 | ||
基于chrome插件metamask开发 | ||
使 用在线编译调试 工具remix进 行行开发 | ||
react搭建交互 页 面 | ||
解耦和模块化设计 | ||
git 工程管理理 | ||
semantic-ui模块搭建 | ||
ipfs区块链图 片存储 | ||
web3.js交互设计 | ||
MVC架构设计 |
收获:
理解各类主流的共识算法(PoW,PoS,DPoS),熟悉常见的安全协议和加密算法,以及熟悉比特币优化协议和行业标准。就能够解决信息安全加密数据传输及认证流程,具备信息安全领域开发能力,可解决中心化体系金融开发中。

购买后
拉进交流群