结盟众多企业“教练”, 共同设计、开发及提供人才培养解决方案,通过新颖多样的学习方式,针对性的定制化内容,助力企业全面提升竞争优势。
谢孟军
2天
5200元
Go语言的介绍
主要介绍Go语言的一些基础知识,作者,当前版本等情况
Go语言的设计背景
Go语言诞生的背景,主要是Google面对的软件开发的挑战,分析Go要去解决的一些问题,设计的目标,Go的一些重要的亮点,初步认识Go是怎么样的一个语言,通过几个代码例子介绍Go的这些特性
Go语言与云计算
云计算最初是有Google CEO提出的,之后Google搞出来了Go,Go是随着云计算的发展而发展起来的,云计算里面主要有五个方面的特性:超大规模、分布式、通用性、高可扩展性、廉价性。那么Go是如何在这些方面设计和实现的。
Go语言的云计算应用
目前云计算方面的主要应用集中在容器、数据库、分布式调度、分布式数据库调度、分布式日志、云计算平台、消息队列,微服务、DevOps等方面,那么Go在这些方面的主要项目有那些并一一介绍。
Go语言的云应用趋势分析
Go语言接下来在云计算应用上面的趋势分析,主要根据Google trend已经硅谷创业公司的案例分析趋势。
Go语言的未来发展
随着Go半年发布一次的节奏,已经最近Go发布的一些节奏,以及我通Go Team沟通交流的一些内容来预测分析Go语言接下来的发展方向。
为什么选择Go语言
前面介绍了那么多的Go方面的知识以及云计算方面的应用,那么我们的应用到底该不该用Go,主要聊一下在那些应用场景适合用Go来开发。
主题 | 内容 |
---|---|
第1课时 Go详解 |
主要介绍Go的语法信息 • 类型和变量 • 值和指针的详解 • 函数分析 • 结构体详解 • interface详解 • Go中的OOP • Goroutineraceconditionchannels分析 • 错误处理 • package和exporting设计 动手实验题:开发两个命令行工具,一个实现ls的功能,一个实现grep的功能 |
第2课时 Go高级并发模型 |
• 什么是并发 • Go的并发模型是怎么样的? • Go的高级并发模型 • goroutine读取共享变量 • race check • 并发搜索 • 死锁检测 • 超时处理 • 资源池 动手实验题:开发一个微型内存缓存系统 |
第3课时 Go如何测试和调试 |
• Go如何写test case • Go如何写bench case • Go如何CPU Profile • Go如何Mem Profile • Go如何block Profile • Go如何Heap profile • Go如何GC profile • Go如何schedule profile 动手实验题:写一个类似ab测试的工具 |
第 4 课时 Go语言常用包的详解和分析 |
• os包详解 • io/ioutil包详解 • time包详解 • strings包详解 • log包详解 • sort包详解 • fmt包详解 • json包详解 • sync包详解 • binary包详解 • database包详解 • reflect包详解 动手实验题:开发一个日志分析工具,可以命令分析一个nginx的log,统计访问的top信息 |
第 5 课时 Go网络编程 |
• 什么是Socket • Socket如何通信 • TCP编程 • 网络模型 • 建立TCP连接 • Socket读写 • conn如何在多goroutine间共享 • 关闭TCP连接 • Socket的属性分析 • HTTP编程 • HTTP协议解析 • http简单案例分析 • http实现分析 • 网络安全基础 • CSRF防御 • XSS防御 • 加解密 动手实验题:开发一个基于http的调度系统 |
第 6 课时 beego框架介绍及其高级应用 |
• 目前的主要框架介绍 • beego相对于其他框架优势在哪里? • beego的设计原则 • beego支持的模块介绍 • beego的plugins • beego的简单入门 • beego的案例 动手实验题:使用beego开发一个短域名应用,使用课时2中开发的缓存系统,最后使用课时3中的工具进行测试,课时4的工具进行日志分析 |