尹成学院区块链 Go 学习大纲-取得大纲试看视频联系微信yinchengak48

 

 

网址:http://www.1cxy.net

GO技术交流QQ群:254416566

 

 

 

 

 

 

所处阶段 主讲内容 技术要点 学习目标
第一阶段Go语言开发入门实战 1.Go语言介绍及开发环境搭建 1.Go语言是什么
2.Go语言优势
3.Go语言适合来做什么
4.Go语言安装和设置
5.标准命令概述
6.第一个Go语言程序
课程设计理念:
夯实基础,Go语言作为区块链技术第一编程语言, 学习Go语言编程从入门到精通,从单纯的语法理解到灵活应用解决实际问题,有助于区块链技术基础做铺垫,掌握Linux和Windows双系统开发环境,掌握常见数据结构和算法(时间复杂度计算,排序,搜索,栈,队列,二叉树),建立面向对象思维,能对问题进行抽象归类。掌握基础的并发理论。

可掌握的核心能力:
1、通过Go语培养编程思维和动手能力;
2、通过Go语言的学习培养面向过程及编程思想,为以后的深入学习就业课程打下坚实基础。

可解决的现实问题:
1、具备Go领域基础专业编程能力;
2、实现Go语言程序开发案例。

市场价值:
具备学习编程思维,但尚不能达到任何企业用人标准。
2.基础类型 1.变量的命名规则
2.变量的声明
3.变量的初始化
4.变量的赋值
5.匿名变量
6.基础数据类型
7.字面常量
8.常量定义
9.iota枚举
10.类型转换
11.类型别名
12.fmt包的格式化输出
3.运算符 1.算术运算符
2.关系运算符
3.逻辑运算符
4.位运算符
5.赋值运算符
6.其他运算符
7.运算符优先级
4.流程控制 1.选择结构
2.循环语句
3.跳转语句
5.函数 1.定义格式
2.自定义函数
3.递归函数
4.函数类型
5.匿名函数与闭包
6.延迟调用defer
7.获取命令行参数
8.作用域(局部变量,全局变量
6.工程管理 1.工作区
2.包
3.测试案例
4.GOPATH设置
5.编译运行程序
6.Go get,test,install等等 的使用
7.go语言包管理(godep/glide/govender)  
7.复合类型 1.指针
2.数组
3.Slice
4.map
5.结构体
8.面向对象编程 1.封装与继承
2.接口的实现
3.Interface{}数据类型
4.类型断言
5.多态的特性
6.反射
9.指针与方法 1.对象生命周期和匿名函数
2.指针数组
3.指向指针的指针
4.指针与函数的副本机制
5.带有指针接收器的方法
10.异常处理 1.error接口
2.panic错误
3.recover
11.文件处理 1.字符串处理
2.字符串转换
3.正则表达式
4.Json处理
5.文件操作
6.案例:拷贝文件,文件切割归并
12.go标准库开发 1.创建自定义包
2.导入包
3.Go命令行工具简介
4.Strings包
5.Bytes包
6.容器包
7.IO包
8.OS包
9.Image包
10.数学处理包
11.runtime包
12.日志包
13.系统调用包
14.反射包
15.unicode编码包
16.unsafe包
17.调试包
13综合文件处理 1.处理JSON文件
2.处理XML文件
3.处理纯文本文件
4.处理二进制文件
5.创建ZIP归档文件
6.创建可压缩tar包
7.解开ZIP归档文件
8.解开tar归档文件
14.开发实战 1.黑白棋项目实战
2.大数据文件处理实战
第二阶段Linux与Go语言高级编程 1.Linux命令 1.Linux下的目录结构
2.工作日程应用命令
3.Ubuntu下的软件安装和卸载
课程设计理念
1.Linux是企业级服务器,必会
2.高并发的多进程多线程开发服务器后端开发必会

可掌握的核心能力:
具备Linux平台Golang服务器开发方向基本知识和常用技能,并具备基本的开发能力。

可解决的现实问题:
1、具备Golang后端开发能力
2、具备Linux系统编程能力
3、可解决常见Linux系统编程问题
4、了解系统编程的并发机制

市场价值:
熟练学习和掌握后,可满足企业开发的初中级需求。
2.LinuxShell 1.Linux下的目录结构
2.工作日程应用命令
3.Ubuntu下的软件安装和卸载
4.base shell
5.base shell脚本常规编程
6.base shell脚本实战
3.Linux开发与调试工具 1.Go语言Linux下IDE开发工具安装与配置
2.文件描述符,虚拟地址空间
3.Linux系统IO函数
4.阻塞和非阻塞的概念
4.系统I/O操作 1.OS包
2.文件属性相关函数
3.链接相关概念及函数
4.目录操作相关概念及函数
5.多进程开发 1.进程相关的概念
2.进程操作相关函数
3.孤儿进程
4.僵尸进程
5.进程回收
6多进程同步与通信 1.进程共享内存通信
2.进程匿名管道通信
3.进程命名管道通信
4.进程信号量通信
5.进程读写文件通信
6.进程互斥量通信
7.进程网络通信
7.协程序与通信 1.互斥量
2.死锁以及解决方案
3.读写锁
4.条件变量
5.条件变量实现生产消费者模型
6.线程同步
7.Sync包
8.goroutine协程与调度器  1.Goroutine协程的概念
2.Goroutine调度器机制
3.协程的高并发编程
9.channel管道与CSP同步机制  1.CSP通讯顺序同步机制
2.channel管道及特性
3.缓存channel与非缓存channel
4.并发的循环
5.select
10.高并发原理分析 1Mutex的实现、扩展功能和坑。
2RWMutex的实现、扩展功能和坑。
3Waitgroup的实现、坑
4Cond的使用和坑
5Once的实现和坑,单例的Eager/Lazy实现
6Pool的坑, net.Conn的池
7Map的实现、应用场景
8Context的一些问题
11高并发拓展 1可重入锁
2信号量
3SingleFlight及应用
4ErrGroup
5自旋锁
6文件锁
7并发Map的多种实现
12原子操作分析 1原子操作的实现
2操作的数据类型
3提供的函数
4通用Value类型
5.扩展的原子操作库
13.channel实战 1.常见易犯错的channel使用场景
2.三大使用场景
3.Or-done模式的三种实现
4.扇入
5.扇出
6.Tee
7.Pipeline
8.流式处理
14.golang内存模型分析 1.堆,栈,静态区,代码区
2.init函数
3.goroutine
4.channel
5.Mutex/RWMutex
6.Waitgroup
7.Once
8.atomic
15线程安全数据结构设计与实战 1.文件线程安全实战
2.并发大数据搜索实战
第三阶段Go语言网络与服务器开发 1.网络协议与网路编程 1.OSI七层模型结构
2.TCP/IP 4层模型结构
3.B/S、C/S优缺点对比
4.常见网络协议格式
5.套接字;网络字节序
6.IP地址转换函数
7.编写TCP的C/S网络程序
8.UDP通信机制与模型
9.本地套接字
10.三次握手建立连接过程
11.四次挥手断开连接过程
12.滑动窗口概念
13.错误处理函数封装
14.TCP状态转换
15.2MSL概念
16.端口复用方法
17.半关闭
18.socket网络编程
课程设计理念:
高并发服务器开发,掌握Linux操作系统groutines协程/进程/线程管理和网络socket编程,熟练编写C/S客户机服务器通信程序,理解Go协程的调度器机制具备常见高并发服务器开发,游戏服务器开发能力。


可掌握的核心能力:
1.具备常用后台服务器开发方向基本知识和常用技能,并具备基本的开发能力;
2.掌握gouroutine、channel等go语言并发机制和高并发服务器解决方案;
3.掌握Linux平台系统编程;
4.掌握网络编程协议,实现网络间点对点通信。

可解决的现实问题:
能够实现包括服务器后台、服务器数据库的开发。

市场价值:
熟练学习和掌握后,可满足企业开发的初中级需求。
2.Golang网络编程实战 1.socket客户端编程
2.socket服务端编程
3.案例:并发的时钟服务器
4.案例:并发的回显服务器
5.实战:高并发网络聊天室
6.实战:分布式排序
7.实战:文件传输
8.实战:文件夹传输
3.RPC远程调用机制 1.RPC使用protocol buffers
2.RPC环境搭建
3.golang实现RPC远程调用
4.RPC-Server编写
5.RPC-Client编写
4.GRPC远程调用机制 1gRPC简介
2gRPC编写指南
3gRPC编译指南
4gRPC远程调用
5gRPC异步通信
6gRPC流通信
5.高并发服务时间轮 1.时间轮原理
2.时间轮Golang实现
3.时间轮的测试和使用
6.高并发服务器框架设计  1.服务器框架基础类IServer实现
2.服务器框架消息接口设计与实现
3.服务器框架数据包接口设计与实现
4.服务器框架网络连接接口设计与实现
5.服务器框架网络连接管理者接口设计与实现
6.服务器框架网络请求接口设计与实现
7.服务器框架网络请求路由设置
7.AOI通信广播机制  1.AOI算法实现
2.基于AOI算法的区域广播
3.全局广播
4.AOI位置信息管理
8.高并发服务器框架设计 Golang高并发大数据搜索服务器开发
9.基于Golang轻量级TCP并发服务器框架实现 1基础路由模块
2全局配置
3消息封装
4多路由模式
5读写分离模型
6消息队列及多任务
7链接管理
8连接属性设置

 
10.TCP并发游戏服务器实战 1AOI兴趣点算法
2数据传输协议protocol buffer
3Proto3协议定义
4构建项目及用户上线
5世界聊天
6上线位置信息同步
7移动位置与AOI广播
8玩家下线
9模拟客户端AI模块
第四阶段前端开发 1.html5css3 html概述及基本结构
html标签及布局入门
css载入方式
css选择器
css属性入门
css基本布局演示
相对地址与绝对地址
列表及表单
盒子模型
css显示属性
css元素溢出
表格
定位
css权重
课程设计理念:
html5/css/javascript是整个互联网页面的基石,学好他们打好基础非常的重要。
web服务是web服务的基石。
可掌握的核心能力:
1、可根据UI设计,开发web网站的前端页面;
2、PC端和移动端页面特效开发;
3、前端页面性能优化。
4.掌握web服务开发

可解决的现实问题:
1、开发常见Web网站的前端页面和移动端H5页面;
2、跟后台进行数据通信;
3、掌握当前市场流行的前后端分离的开发模式中所用的前端框架。
4.掌握web服务开发与对接前端
市场价值:
前端作为web网站开发的半壁江
区块链起源于比特币,2008年11月1日,一位自称中本聪(Satoshi Nakamoto)的人发表了《比特币:一种点对点的电子现金系统》一文 4  ,阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,这标志着比特币的诞生。两个月后理论步入实践,2009年1月3日第一个序号为0的创世区块诞生。几天后2009年1月9日出现序号为1的区块,并与序号为0的创世区块相连接形成了链,标志着区块链的诞生 5  。近年来,世界对比特币的态度起起落落,但作为比特币底层技术之一的区块链技术日益受到重视。在比特币形成过程中,区块是一个一个的存储单元,记录了一定时间内各个区块节点全部的交流信息。各个区块之间通过随机散列(也称哈希算法)实现链接,后一个区块包含前一个区块的哈希值,随着信息交流的扩大,一个区块与一个区块相继接续,形成的结果就叫区块链 6  。什么是区块链?从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。从应用视角来看,简单来说,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动 7  。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块 8  。比特币白皮书英文原版 4  其实并未出现 blockchain 一词,而是使用的 chain of blocks。最早的比特币白皮书中文翻译版 9  中,将 chain of blocks 翻译成了区块链。这是“区块链”这一中文词最早的出现时间。国家互联网信息办公室2019年1月10日发布《区块链信息服务管理规定》,自2019年2月15日起施行 1  。作为核心技术自主创新的重要突破口,区块链的安全风险问题被视为当前制约行业健康发展的一大短板,频频发生的安全事件为业界敲响警钟。拥抱区块链,需要加快探索建立适应区块链技术机制的安全保障体系。 102008年由中本聪第一次提出了区块链的概念 4  ,在随后的几年中,区块链成为了电子货币比特币的核心组成部分:作为所有交易的公共账簿。通过利用点对点网络和分布式时间戳服务器,区块链数据库能够进行自主管理。为比特币而发明的区块链使它成为第一个解决重复消费问题的数字货币。比特币的设计已经成为其他应用程序的灵感来源。2014年,区块链2.0”成为一个关于去中心化区块链数据库的术语。对这个第二代可编程区块链,经济学家们认为它是一种编程语言,可以允许用户写出更精密和智能的协议 11  。因此,当利润达到一定程度的时候,就能够从完成的货运订单或者共享证书的分红中获得收益。区块链2.0技术跳过了交易和“价值交换中担任金钱和信息仲裁的中介机构”。它们被用来使人们远离全球化经济,使隐私得到保护,使人们“将掌握的信息兑换成货币”,并且有能力保证知识产权的所有者得到收益。第二代区块链技术使存储个人的“永久数字ID和形象”成为可能,并且对“潜在的社会财富分配”不平等提供解决方案 12  。2016年1月20日,中国人民银行数字货币研讨会宣布对数字货币研究取得阶段性成果。会议肯定了数字货币在降低传统货币发行等方面的价值,并表示央行在探索发行数字货币。中国人民银行数字货币研讨会的表达大大增强了数字货币行业信心。这是继2013年12月5日央行五部委发布关于防范比特币风险的通知之后,第一次对数字货币表示明确的态度。 13 2016年12月20日,数字货币联盟——中国FinTech数字货币联盟及FinTech研究院正式筹建 14  。如今,比特币仍是数字货币的绝对主流,数字货币呈现了百花齐放的状态,常见的有bitcoin、litecoin、dogecoin、dashcoin,除了货币的应用之外,还有各种衍生应用,如以太坊Ethereum、Asch等底层应用开发平台以及NXT,SIA,比特股,MaidSafe,Ripple等行业应用 15  。公有区块链公有区块链(Public Block Chains)是指:世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是最早的区块链,也是应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链 16  。联合(行业)区块链 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尹成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值