Go语言与区块链在线就业班博学谷
【课程介绍】
区块链技术是21世纪的重大创新技术,它是数字化资产的分布式账本,是构建价值互联网的基石,是驱动分享经济发展的新引擎。Go语言是区块链主流编程语言,简单易学、开发速度快且并发性好。
《Go语言与区块链》就业课程涵盖 go高级编程,go web开发,区块链密码学,以太坊,分布式微服务,hyperledger等技术要点,旨在打造基础扎实、知识面广、综合能力强的区块链应用层及底层技术引领者。
【课程目录】
【课程目录】
学完收获
完成服务器端程序的开发
完成Web系统设计和开发
完成以太坊平台Dapp应用的设计和开发
完成区块链公链开发
完成hyperledger fabric联盟链应用的设计和开发
适合人群
在校大学生
刚刚毕业的技术小白
零基础想转行的非IT在职人员
有编程经验,想转行区块链的IT在职人员
期望得到技能提升的研发人员
课程亮点
1.精心打磨八大核心阶段、400+优质课时,打造科学、完善的课程体系
2.紧跟市场潮流,精选多个大型实战项目,覆盖10+热门行业,与企业需求无缝
3.知识获取、技能、方法、思维训练多管齐下,确保就业后可持续发展
课程大纲
阶段一:区块链主流语言:Go语言开发实战
主讲内容:
本阶段需要掌握Linux和Windows双系统开发环境,建立面向对象思维,能对问题进行抽象归类。掌握基础的并发理论。
主要内容包括有:Go语言介绍及开发环境搭、基础类型、运算符、流程控制、函数、工程管理、复合类型、面向对象编程、异常处理、文本文件处理、案例:开发实战。
技术要点:
1.Go语言是什么、Go语言优势、Go语言适合来做什么、Go语言安装和设置、标准命令概述、第一个Go语言程序
2.变量的命名规则、变量的声明、变量的初始化、变量的赋值、匿名变量、基础数据类型、字面常量、常量定义、iota枚举、类型转换、类型别名、fmt包的格式化输出
3.算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、其他运算符、运算符优先级
4.选择结构、循环语句、跳转语句
5.定义格式、自定义函数、递归函数、函数类型、匿名函数与闭包、延迟调用defer、获取命令行参数、作用域(局部变量,全局变量)
6.工作区、包、测试案例、GOPATH设置、编译运行程序、Go install 的使用
7.指针、数组、Slice、map、结构体
8.封装与继承、接口的实现、interface{}数据类型、类型断言、多态的特性
9.error接口、panic错误、recover
10.字符串处理、字符串转换、正则表达式、Json处理、文件操作、案例:拷贝文件
11.基于Go语言的综合案例实战
掌握能力:
通过Go语言基础的学习,培养编程思维和动手能力、面向过程及编程思想,为之后的深入学习打下坚实基础
解决问题:
1.具备Go领域基础专业编程能力
2.实现Go语言程序开发案例
市场价值:
具备学习编程思维,夯实基础
阶段二:区块链后端技术体系:Go语言高并发服务器开发
主讲内容:
区块链知识体系,是后端编程的知识体系。以太坊,瑞波币,比特币目前主流的区块链成型项目多数都是选择Go语言和C++语言实现,所以搭建后端服务编程知识体系才是打好区块链开发的首选基石,对于今后发展至为重要。
本阶段主要内容包括:Linux命令、linux开发与调试工具、系统I/O操作、进程与IPC通信、线程与同步、goroutine协程与调度器、channel管道与CSP同步机制、网络协议与网路编程、案例:Go高并发服务器开发实战、案例:Go并发的爬虫系统开发实战。
技术要点:
1.Linux下的目录结构、工作日程应用命令、Ubuntu下的软件安装和卸载
2.Go语言Linux下IDE开发工具安装与配置、文件描述符,虚拟地址空间、Linux系统IO函数、阻塞和非阻塞的概念
3.os包、文件属性相关函数、链接相关概念及函数、目录操作相关概念及函数
4.进程相关的概念、孤儿进程、僵尸进程、进程回收、进程间通信
5.互斥量、死锁以及解决方案、读写锁、条件变量、条件变量实现生产消费者模型、线程同步解决哲学家就餐问题、Sync包
6.Goroutine协程的概念、Goroutine调度器机制、协程的高并发编程
7.CSP通讯顺序同步机制、channel管道及特性、缓存channel与非缓存channel、并发的循环、select
8.OSI七层模型结构、TCP/IP 4层模型结构、B/S、C/S优缺点对比、常见网络协议格式、套接字,网络字节序、IP地址转换函数、编写TCP的C/S网络程序、UDP通信机制与模型、本地套接字、三次握手建立连接过程、四次握手断开连接过程、滑动窗口概念、错误处理函数封装、TCP状态转换、2MSL概念、端口复用方法、半关闭、socket网络编程
9.socket客户端编程、socket服务端编程
10.url基本概念、http协议、正则表达式
实战项目:
项目:并发的时钟服务器
项目:并发的回显服务器
项目:高并发网络聊天室
项目:并发的百度贴吧爬虫
项目:高并发内涵段子爬虫
掌握能力:
1.具备常用后台服务器开发方向基本知识和常用技能,并具备基本的开发能力
2.掌握goroutine、channel等go语言并发机制和高并发服务器解决方案
3.掌握Linux平台系统编程
4.掌握网络编程协议,实现网络间点对点通信
解决问题:
能够实现包括服务器后台、服务器数据库的开发
市场价值:
具备企业标准用人规范,具有游戏服务器开发能力,薪资普遍在8000-13000元/月
阶段三:去中心化前端开发与web服务器开发
主讲内容:
去中心化Dapp的页面开发还是基于传统的Web2.0的技术,html/css/javascript是整个互联网页面的基石,学好他们,打好基础非常重要。
Beego是目前大型互联网公司主流的web服务器框架,由于Go先天性支持高并发,所以很多大型互联网公司都在web服务框架做Go语言的转型,这样可以轻松实现亿万级别的高并发,更加节约企业运营成本。
本阶段的主要内容是:关系型数据库-mysql、no-sql缓存型数据库-redis、分布式文件系统fastDFS、前端开发、git、beego框架、大项目。
技术要点:
1.mysql表的约束、mysql中出现的中文乱码问题、mysql函数库连接数据库、mysql API访问数据库、使用基础类API实现mysql客户端工具、预处理类API访问mysql数据库、使用api修改mysql事务特性
2.key-value存储方式特性、redis的环境安装和redigo驱动安装、redis中key相关操作、redis中string相关操作、redis中list相关操作、redis中hash相关操作、redis中set和sort-set相关操作
3.分布式概念、tracker、storage、client相关配置、fastDFS中go的api封装
4.静态页面:html入门、css入门、css高级、css高级;动态页面:JavaScript编程、DOM操作、JQuery、JQuery高级、JQuery高级;前端框架react.js
5.代码版本控制工具git的常用指令、git的团队开发组建、git代码仓库的创建与管理
6.beego的框架环境搭建、controller设计:参数配置、路由设置、session控制、多种格式数据输出、请求数据处理;model设计:ORM使用、CRUD操作、高级查询、原生SQL查询;view设计:模板语法指南、模板处理;
7.项目:基于beego的web 电商项目
实战项目:
电商平台(beego框架)
掌握能力:
1.可根据产品原型图,开发web网站的前端界面
2.可根据业务流程图,开发web网站的后台业务
3.可根据web框架设计,设计对应的数据库
4.缓存服务器的操作和设计
5.异步任务的实现
解决问题:
1.高并发全功能的web网站开发
2.提供数据响应速度灵活运用缓存
3.根据实际问题设计出相应数据库表
市场价值:
web工程师,独立开发前端和后端业务,10000-20000
阶段四:区块链密码学安全理论与开发
主讲内容:
区块链技术实际上是一种对数据安全更加完善和抗风险技术,所以密码学是区块链技术的必备知识。本阶段课程中会包括区块链底层实现中常见的密码学和安全密码协议。
本阶段的主要内容包括:常用密码算法、常用密码协议、密码学开发实战。
技术要点:
1.对称加密体系、非对称加密体系、数字签名、数据机密性、身份鉴别、数据完整性、抗抵赖
2.密码学安全协议、数字证书认证(CA)中心、公钥基础设施PKI系统
3.基于中心化的安全、点对点的信息安全机密性、完整性、安全中心:数字证书颁发中心
掌握能力:
1.具备常见密码学原理及安全协议知识体系
2.具备信息安全编程开发能力
3.为信息安全系统开发和区块链开发提供理论支持
解决问题:
能够解决信息安全加密数据传输及认证流程,具备信息安全领域开发能力
市场价值:
具备信息安全开发能力和区块链安全开发能力,为区块链搭建知识体系做铺垫。薪资普遍在12000-20000元 /月
阶段五:区块链与智能合约开发
主讲内容:
了解区块链系统基本原理,基于Go语言能够给企业定制区块链系统。
掌握主流区块链(Bitcoin,Ethereum)相关机制与原理,理解各类主流的共识算法(PoW,PoS,DPoS),熟练掌握区块链系统Go开发语言,能基于以太坊编写智能合约,能编写和发布代币。
本阶段主要内容有:区块链概念(链与币、通证)、Go语言与区块链系统开发、以太坊与智能合约、Node.js开发、以太坊开发框架、IPFS 去中心化分布式文件系统、大项目:以太坊DAPP开发实战。
技术要点:
1.链、软(硬)叉、挖矿、算力、双花、51%攻击等、共识机制(Pow、PoS、DPoS、Pbft、Raft等)、智能合约与去中心化、公有链、私有链、联盟链、电子钱包、数字货币、融资(IPO/ICO)、通证的价值与流转、行业动态
2.Golang区块链公链开发-区块链架构实现、Golang区块链公链开发-工作量证明、Golang区块链公链开发-持久化、Golang区块链公链开发-UTXO交易结构、Golang区块链公链开发-交易与地址、Golang区块链公链开发-交易与梅克尔树;
3.以太坊简介与环境搭建:a. Mist钱包、b. MetaMask钱包、c. Remix编译器;智能合约简介与Solidity语法详解:a. 基础语法:整型、布尔、浮点、internal、external、storage、memory等、b. 高级语法:数组、枚举、结构、映射、元组等、c. 合约相关:合约、继承、全局函数、地址、转账、事件、修饰器等;
4.ES6介绍、ES6变量定义、ES6解构赋值、ES6函数扩展、ES6class语法、Nodejs发展历史、Nodejs异步IO机制、Nodejs功能介绍、npm包下载、全局变量、path模块、fs模块、fs模块reader流、pipe的使用、http模块;
5.区块链搭建并实现多个节点实现数据交互:a. 私有链搭建、b. 联盟链搭建;Truffle框架学习:a. 部署在不同的环境中(develop环境、Ganache、私有链、ropsten网络等)、b. 单元测试编写、c. 内置项目介绍;Web3.0.js学习、Embark 框架介绍爬虫开发;
6.IPFS+react、安装IPFS-api、 IPFS服务的启动、关闭、及项目配置、IPFS常用数据结构指令、IPFS的合约部署;
7.案例:以太坊项目实战-发行代币、项目: 基于以太坊的去中心化eBay商品竞价系统、项目:基于以太坊众筹理财平台、项目:基于以太坊彩票平台;
实战项目:
区块链去中心化博彩项目
eBay以太坊商品竞价
区块链去中心化众筹项目
掌握能力:
1.掌握主流区块链(Bitcoin,Ethereum)相关机制与原理
2.理解各类主流的共识算法(PoW,PoS,DPoS)
3.熟练掌握区块链系统Go开发语言
4.熟悉常见的安全协议和加密算法
5.熟悉比特币优化协议和行业标准
6.能基于以太坊编写智能合约
7.能编写和发布代币
解决问题:
扎实的理论基础,快速融入各种行业企业区块链相关开发需求
市场价值:
熟练学习和掌握后,可满足企业区块链应用层开发的初中级需求,薪资普遍在13000-23000元/月
阶段六:分布式微服务开发
主讲内容:
区块链实际上是一种分布式的记账本,分布式的概念对于区块链开发很重要,该阶段课程主要解决企业常见虚拟化部署及微服务相关分布式主流技能,Go语言作为Docker的开发语言,更是捧红了分布式的生态,所以分布式助于理解区块链的去中心化。本阶段的主要内容包括:虚拟化VS容器化、Docker与Kubernetes(k8s)实战、分布式编程理论、Go语言与微服务;
技术要点:
1.虚拟化基础知识、常见虚拟化种类及技术实现、容器化基础知识、虚拟化 VS 容器化数据挖掘基础
2.Docker快速入门、Docker镜像管理、Docker容器管理、Docker数据管理、Docker网络管理、Docker集群管理、Kubernetes设计架构、Kubernetes集群与部署、基于Docker本地运行Kubernetes
3.高可用设计 、负载均衡、集群
4.微服务的优势、docker容器构建微服务、protobuf微服务交互协议、gRPC远程调度机制、服务发现、基于go-micro微服务实战
实战项目:
租房网(GoMicro+docker/k8s)
掌握能力:
1.具备市场主流大数据分布式技术
2.具备go语言高并发后台开发能力
3.具备docker虚拟化容器技术
4.具备分布式微服务架构设计能力
解决问题:
1.解决企业容器虚拟化技术
2.解决企业从资源的利用率和可用性优化方案
3.解决传统PaaS企业,采用Micro Service(微服务)的方式来实现他们的应用
市场价值:
具备分布式微服务解决方案开发能力,具备分布式集群、微服务、区块链等综合场景解决方案能力。薪资普遍在15000-25000元 /月
阶段七:区块链系统框架开发
主讲内容:
hyperledger是IBM公司支持,linux基金会孵化的区块链商业级开发平台。hyperledger Fabric是完全用Go语言实现的,hyperledger是可以广泛运用在私有链和联盟链上,国内有众多的大公司都加入了hyperledger联盟。本阶段的主要内容包括:区块链Hyperledger Fabric联盟链框架、Hyperledger Fabric智能合约的开发与部署、Hyperledger Fabric + Go/Node.js 链码开发、华为BCS区块链平台开发实战。
技术要点:
1.Hyperledger Fabric框架概述、Hyperledger Fabric框架架构设计、Hyperledger Fabric SDK解析、Hyperledger Fabric 模块组成
2.实现智能合约接口、智能合约的依赖关系、智能合约的数据格式、智能合约的接口解析;
3.Fabric Go/Node.js 开发实战、背书策略解析、Ledger设计、Channel安装部署与开发、转账交易、挂单交易、Escrow与 Payment Channel 交易
4.华为云平台区块链服务简介、云平台区块链服务搭建、链代码管理、链代码编写、个人认证链代码、项目区块链服务系统搭建、交易信息上链
5.微服务分布式租房去中?化系统
实战项目:
华为区块链平台开发项目
掌握能力:
1.具备区块链及相关产业的工作经验
2.具备类Hyperledger,以太坊等公开区块链项目开发能力
3.具备智能合约及其使用场景
4.具备掌握Bitcoin,Ethereum,HyperLedger Fabric的区块链相关机制与原理
5.熟悉Hyperledger Fabric 技术的各种组件(Peers、Orderer、MSP、CA …)
6.能够使用Go语言编写智能合约链码
7.熟悉hyperledger fabric的部署
解决问题:
1.区块链底层产品的设计、研发工作
2.区块链应用层产品的设计、研发工作
3.研究底区块链底层协议及实现,参与优化重构
市场价值:
掌握企业主流联盟链框架Hyperledger Fabric与华为区块链平台应用。薪资普遍在15000-30000元 /月
阶段八:Golang面试强化与脚本编程
主讲内容:
区块链的技能要求工程师掌握常见的数据结构与算法。为了更好的通过笔试及面试,本阶段添加了Go的相关区块链算法的面试强化内容。
本阶段的主要内容包括:Go与数据结构、Go与常用算法、UnixShell脚本高级编程。
技术要点:
1.Go语言与队列、Go语言与链表、Go语言与堆栈、Go语言与二叉树
2.冒泡排序、选择排序、快速排序、二分查找、归并排序、堆排序
3.高级指令引入、Shell函数、Shell特殊用法、Shell案例实战
掌握能力:
通过本课的学习,能够给学员提供与Go语言相关的区块链算法的面试技巧,助学员在面试中一臂之力
解决问题:
1.区块链相关算法
2.Go语言常见面试算法
3.项目生命周期理解
4.复习和巩固所学知识,进行专题面试强化