admin 管理员组文章数量: 887019
2023年12月16日发(作者:前端高阶书籍排行)
GO语言全栈大纲第一阶段----Go语言开发入门实战语言介绍及开发环境搭建语言是什么语言优势语言适合来做什么语言安装和设置5.标准命令概述6.第一个Go语言程序
2.基础类型1.变量的命名规则2.变量的声明3.变量的初始化4.变量的赋值5.匿名变量6.基础数据类型7.字面常量8.常量定义枚举10.类型转换11.类型别名包的格式化输出
3.运算符1.算术运算符2.关系运算符3.逻辑运算符4.位运算符5.赋值运算符6.其他运算符7.运算符优先级
4.流程控制1.选择结构2.循环语句3.跳转语句
5.函数
1.定义格式2.自定义函数3.递归函数4.函数类型5.匿名函数与闭包6.延迟调用defer7.获取命令行参数8.作用域(局部变量,全局变量)6.工程管理1.工作区2.包3.测试案例设置5.编译运行程序 get,test,install等等 的使用语言包管理(godep/glide/govender)
7.复合类型1.指针2.数组5.结构体
8.面向对象编程1.封装与继承2.接口的实现ace{}数据类型4.类型断言5.多态的特性
6.反射
9.指针与方法1.对象生命周期和匿名函数2.指针数组3.指向指针的指针4.指针与函数的副本机制5.带有指针接收器的方法
10.异常处理
接口错误r11.文件处理1.字符串处理2.字符串转换3.正则表达式处理5.文件操作6.案例:拷贝文件,文件切割归并
12 go标准库开发1.创建自定义包2.导入包命令行工具简介s包包6.容器包包包包10.数学处理包e包12.日志包13.系统调用包14.反射包e编码包包17.调试包
13 综合文件处理1.处理JSON文件2.处理XML文件3.处理纯文本文件4.处理二进制文件5.创建ZIP归档文件6.创建可压缩tar包7.解开ZIP归档文件8.解开tar归档文件
14 开发实战1.黑白棋项目实战2.大数据文件处理实战
第二阶段----Linux与Go语言高级编程1 Linux命令下的目录结构2.工作日程应用命令下的软件安装和卸载
2 下的目录结构2.工作日程应用命令下的软件安装和卸载
shell脚本常规编程 shell脚本实战
3 Linux开发与调试工具语言Linux下IDE开发工具安装与配置2.文件描述符,虚拟地址空间系统IO函数4.阻塞和非阻塞的概念
4 系统I/O操作包2.文件属性相关函数3.链接相关概念及函数4.目录操作相关概念及函数
5 多进程开发1.进程相关的概念2.进程操作相关函数3.孤儿进程4.僵尸进程5.进程回收
6 多进程同步与通信1.进程共享内存通信2.进程匿名管道通信3.进程命名管道通信4.进程信号量通信5.进程读写文件通信6.进程互斥量通信7.进程网络通信
7 协程序与通信1.互斥量2.死锁以及解决方案3.读写锁4.条件变量5.条件变量实现生产消费者模型6.线程同步包
8 goroutine协程与调度器ine协程的概念ine调度器机制3.协程的高并发编程
9 channel管道与CSP同步机制通讯顺序同步机制l管道及特性3.缓存channel与非缓存channel4.并发的循环
10 高并发原理分析1Mutex的实现、扩展功能和坑。2RWMutex的实现、扩展功能和坑。3Waitgroup的实现、坑4Cond的使用和坑5Once的实现和坑,单例的Eager/Lazy实现6Pool的坑, 的池7Map的实现、应用场景8Context的一些问题
11 高并发拓展1可重入锁2信号量3SingleFlight及应用4ErrGroup5自旋锁6文件锁7并发Map的多种实现
12 原子操作分析
1原子操作的实现2操作的数据类型3提供的函数4通用Value类型5.扩展的原子操作库13 channel实战1.常见易犯错的channel使用场景2.三大使用场景-done模式的三种实现4.扇入5.扇出ne8.流式处理
14 golang内存模型分析1.堆,栈,静态区,代码区函数/
15 线程安全数据结构设计与实战1.文件线程安全实战2.并发大数据搜索实战
第三阶段----Go语言网络与服务器开发1 网络协议与网路编程七层模型结构/IP 4层模型结构3.B/S、C/S优缺点对比4.常见网络协议格式5.套接字;网络字节序地址转换函数7.编写TCP的C/S网络程序通信机制与模型9.本地套接字10.三次握手建立连接过程11.四次挥手断开连接过程12.滑动窗口概念13.错误处理函数封装状态转换
15.2MSL概念16.端口复用方法17.半关闭网络编程2 Golang网络编程实战客户端编程服务端编程3.案例:并发的时钟服务器4.案例:并发的回显服务器5.实战:高并发网络聊天室6.实战:分布式排序7.实战:文件传输8.实战:文件夹传输
3 RPC远程调用机制使用protocol 环境搭建实现RPC远程调用-Server编写-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通信广播机制算法实现2.基于AOI算法的区域广播3.全局广播位置信息管理
8 高并发服务器框架设计Golang高并发大数据搜索服务器开发
9 基于Golang轻量级TCP并发服务器框架实现1基础路由模块2全局配置3消息封装4多路由模式5读写分离模型6消息队列及多任务7链接管理8连接属性设置
10 TCP并发游戏服务器实战1AOI兴趣点算法2数据传输协议protocol buffer3Proto3协议定义4构建项目及用户上线5世界聊天6上线位置信息同步7移动位置与AOI广播8玩家下线9模拟客户端AI模块
第四阶段----前端开发1 html5与css3html概述及基本结构html标签及布局入门css载入方式css选择器css属性入门css基本布局演示相对地址与绝对地址列表及表单盒子模型css显示属性css元素溢出表格定位
css权重2 JavaScript变量数据类型及基本语法规范函数条件语句获取元素方法及操作元素事件属性及匿名函数综合实例数组及操作方法循环语句字符串及操作方法调试程序的方法定时器变量作用域封闭函数
3 jQueryjquery选择器jquery样式操作绑定click事件jquery动画jquery特殊效果jquery链式调用jquery属性操作jquery循环jquery事件表单验证事件冒泡及事件委托Dom操作javascript对象json和ajax请求
4 前端框架1、简介及基本概念2、模板语法3、Class与Style绑定、条件渲染、列表渲染、事件处理、表单输入绑定、过滤器、实例生命周期、数据交互4、vue组件、vue单文件组件、vue组件开发自动化工具、生成vue单页面应用项目
5 nodejs1. ES6介绍2. ES6变量定义3. ES6解构赋值4. ES6函数扩展5. ES6class语法
6. Nodejs发展历史7. Nodejs异步IO机制8. Nodejs功能介绍9. npm包下载10.全局变量模块模块模块reader流6 web服务开发1web工作方式2Go搭建一个简单的web服务3 Go如何使得web工作4 Go的http包详解5.表单5.1 处理表单的输入5.2 验证表单的输入5.3 预防跨站脚本5.4 防止多次递交表单5.5 处理文件上传5.6 小结n和数据存储6.1 session和cookie6.2 Go如何使用session6.3 session存储6.4 预防session劫持6.5 小结
第五阶段----数据库与后端框架开发1 关系型数据库-语句实战表的约束中出现的中文乱码问题函数库连接数据库 API访问数据库5.使用基础类API实现mysql客户端工具6.预处理类API访问mysql数据库7.使用api修改mysql事务特性语句注入实战
2 no-sql缓存型数据库-redis
-value存储方式特性的环境安装和redigo驱动安装中key相关操作中string相关操作中list相关操作中hash相关操作中set和sort-set相关操作3 NoSQL-MongoDB数据库实战 简介B 简介B 概念解析B 连接B 创建数据库B 删除数据库B 创建集合B 删除集合B 插入文档B 更新文档B 删除文档B 查询文档B 条件操作符B $type 操作符B 与Skip方法B 排序B 索引B 聚合B 复制(副本集)B 分片B 备份与恢复B 监控B 关系B 数据库引用B B .Map B 全文检索
4 git1.代码版本控制工具git的常用指令的团队开发组建代码仓库的创建与管理
5 分布式文件系统fastDFS1.分布式概念r、storage、client相关配置S中go的api封装
6 Nginx与反响代理部署
环境安装环境配置反响代理搭建搭建负载均衡7 beego框架的框架环境搭建ller设计: 参数配置、 路由设置、 session控制、 多种格式数据输出、 请求数据处理设计: ORM使用、 CRUD操作、 高级查询、 原生SQL查询设计: 模板语法指南、 模板处理
8 beego框架实战租房项目实战
9 Gin框架框架概述 渲染2 server 推送art/Urlencoded 绑定art/Urlencoded 表单 和 post /JSON/YAML/ProtoBuf 渲染12.上传文件13.单文件14.多文件15.不使用默认的中间件16.从 reader 读取数据17.优雅地重启或停止18.使用 BasicAuth 中间件19.使用 HTTP 方法
8 Gin框架实战博客项目实战
第六阶段----容器编程1 虚拟化VS容器化1.虚拟化基础知识2.常见虚拟化种类及技术实现3.容器化基础知识4.虚拟化 VS 容器化
2 快速入门镜像管理容器管理数据管理网络管理集群管理
3 Kubernetes(k8s)实战etes设计架构etes集群与部署
第七阶段----微服务与分布式1 微服务分布式编程理论1. 高可用设计2. 负载均衡3. 集群
2 微服务特性1.微服务与微服务框架介绍2.单体式服务特点3.微服务架构的特性4.微服务架构的缺点
3 protobuf通信协议uf简介2.数据交互的格式比较uf的优点uf的安装
4 服务发现
1.什么是服务发现的环境与安装代理 Client6.注册服务7.查询服务架构5 go-mirco微服务框架介绍与安装编译2.创建微服务3.启动consul进行监管4.微服务的srv端操作5.微服务handler编程6.微服务与gRPC
6 高阶分布式理论1.进程与线程2.并发3.锁4.并行5.集群6.状态特征7.系统重发与幂等性8.硬件异常理论理论澄清12.2PC13.3PC14.心跳检测15.高可用设计16.容错性17.负载均衡18.全局ID生成19.哈希取模20.一致性哈希21.路由表22 数据拆分
7 概念l的实现l接口设计
8 ETCD与分布式高并发
0ETCD介绍实现服务发现实现分布式配置实现分布式锁,Mutex, RWmutex实战实现分布式栅栏实现分布式leader选举实现分布式队列实现分布式优先队列实现分布式STM9.其它分布式并发库8 消息中间件4.消息中间件六大模式一对一传输一对多传输多对多传输任务队列模式发布订阅模式路由模式交换机模式
9 分布式组件r简介per 概述per 基础per 工作流per leader选举per 安装per per per 应用程序"
10 分布式日志组件kafka与 Kafka 概述 Kafka 基础 Kafka 集群架构 Kafka 工作流程 Kafka 安装步骤 Kafka 基本操作 Kafka 简单生产者示例 Kafka 消费者组示例分布式可视化
11 搜索引擎Elasticsearch与Solr
csearch填充2Elasticsearch版本之间迁移3Elasticsearch API约定4Elasticsearch文档API5Elasticsearch搜索API6Elasticsearch聚合7Elasticsearch索引API8Elasticsearch集群API9Elasticsearch查询DSL10Elasticsearch映射11Elasticsearch分析12Elasticsearch模块
延申12 分布式综合实战mapReduce编程实战raft(kvraft)编程实战Fault-tolerant Key/Value服务实战Sharded Key/Value服务实战
13 golang搜索引擎框架yinchengSearch实现golang搜索引擎框架yinchengSearch实现
14 微服务项目设计1.微服务拆分原则2.微服务项目流程与接口设计-compose单机集群
15 微服务项目实战-十亿级营销实战项目简介:基于腾讯云广告平台。根据关键字定位QQ群,导出QQ数据,进行邮箱群发或者导入腾讯营销系统进行弹窗广告。高峰期数万个用户同时访问,搭建分布式结构解决客户需求。并且给客户定制系统。项目描述:项目采用分布式结构设计。接口,基于ETCD实现了备胎模式与集群选举模式建立负载均衡(一台服务器挂掉,选举一位服务器当作管理服务器)2.对于17亿数据建立索引与算法优化,实现0.01秒1MB内存检索17亿数据。3.基于golang搜索引擎riot,以及分词系统,实现关键字快速搜索4.基于redis与go-fastDFS搭建缓存系统5.设计通用数据库接口—导出MongoDB ,mysql,redis6.设计通用消息中间件接口—,kafka,7.设计加密与权限管理充值系统。8.基于ETCD的服务发现与维护系统。9.实现接口,负载均衡算法切换。10.分布式数据采集系统,广度遍历提取一个网站上的所有QQ。11.接入分布式日志。
第八阶段----密码学开发1 常用密码算法1.对称加密体系2.非对称加密体系3.数字签名4.数据机密性5.身份鉴别6.数据完整性7.国密开发
2 常用密码协议1.密码学安全协议2.数字证书认证(CA)中心3.公钥基础设施PKI系统
3 密码与社会工程学实战密码字典与破解ssh,与mysql数据库
4 信息安全改进实战1微服务防纂改安全实现2微服务防监听安全实现3微服务身份鉴定安全实现
第九阶段----后端综合项目实战1 分布式日志系统项目简介根据业务需求进行项目架构设计和开发,实现多产品线的业务日志收集,并且实现业务日志的可视化展示和检索。掌握技能1、服务端程序架构设计;2、Go语言开发服务端agent;3、etcd;4、kafka;5、ElasticSearch;6、Klbaba;
2 自动驾驶图像识别后端微服务集群自动驾驶图像识别分布式后端系统运行环境+ golang + docker + grpc + protobuf + beego + MySQL+tensorflow+redis+go-fastDFS
项目简介:解决公司数千汽车的在线自动识别任务,go的效率远大于python,基于golang分布式提升现有业务性能。项目描述:本系统作为自动驾驶的模块系统 ,提供图像识别计算任务。基于100台GPU服务器,实现数千实时业务识别。并且可以快速人为后台标注数据,提升模型识别率。1. 基于redis与gofastDFS实现缓存系统+图片保存系统2. 基于tensorflow GPU Go实现图像识别调用3. 基于ETCD实现服务发现与选举4. 基于GRPC与http提供两种接口5. 提供模型的下载更新—TCP,FTP6. 后台人为标注与训练更新模型7. 消息中间件解决负载均衡8. 基于密码学实现防范黑客攻击9. 接入分布式日志系统3 大数据分布式精准营销与智能推荐系统项目简介:基于QQ号,手机号,邮箱的标签系统,基于标签智能推荐,导出精准数据,进行商业营销。并且给客户定制系统。运行环境: golang + docker + grpc + protobuf + beego + redis + fastDFS +
rabbitMQ+riot+ETCD+mongoDB+NSQ+goFastDFS项目描述:项目基于分布式设计1. 基于mongoDB数据库实现标签系统,基于Mongodb集群2. web接口实现数据导入,基于ECTD与消息中间件实现负载均衡,选举模式。3. web数据采集基于分布式设计,redis队列实现,可定制搜索层数,深度遍历,广度遍历。4. 导入数据接口,支持txt,xls,doc,pdf,mdb,常见数据格式5. 导出数据接口,支持json,txt,xls,doc,pdf,mdb,常见数据格式6. 外接短信系统,邮件系统。7. 设计通用数据库接口—导出MongoDB ,mysql,redis8. 设计通用消息中间件接口—,kafka,9. 基于redis与go-fastDFS搭建缓存系统10. 标签系统,统计词频与分词处理,建立标签。11. 接入分布式日志系统12. 权限管理与充值系统。加密GRPC调用,调用确保签名正确才能调用,支持支付宝微信支付。
版权声明:本文标题:go语言学习路线图 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702742190h428946.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论