golang书籍推荐:GO web编程 Go语言实战web开发教程

时间:2019-10-24 作者:golang

Go语言实战web开发教程书籍介绍

golang书籍推荐:GO web编程 Go语言实战web开发教程
本书全面介绍了使用go语言开发web应用程序所需的所有基本概念,并详细说明了如何使用现代设计原则使用go语言构建web应用程序。本书通过大量实例介绍了核心概念(如处理请求和发送响应、模板引擎和数据持久性),并进一步讨论了更高级的主题(如并发、web应用程序测试和部署到标准系统服务器和paas提供程序)。本书以一个网络论坛为例,介绍了如何利用请求处理器、多路复用器、模板引擎、存储系统等核心组件构建go-web应用,并在此基础上构建相应的web服务。值得一提的是,本书在介绍go-web开发方法时,基本上只使用go语言的标准库,没有使用任何特定的web框架。读者所学到的知识将不会局限于特定的框架,即使将来需要使用现有的框架或自建框架,它仍将受益于这本书。除了具体的web开发方法外,本书还介绍了如何测试go web应用程序,如何利用go的并发特性来提高web应用程序的性能,以及如何在heroku、google app engine、digital ocean等云平台上部署go web应用程序;此外,这本书也教一些经验和技巧,在发展go网络。这些重要的实用知识将帮助读者迅速成为真正高效的go web开发人员。阅读本书要求读者具备基本的go语言编程技能,掌握go语言的语法。这本书适合所有想使用go语言进行web开发的读者。无论是初学者还是长期从事web开发的开发人员都将从本书中获益。

Go语言实战web开发教程书籍目录

第一部分 Go与Web应用
第 1章 Go与Web应用 3
1.1 使用Go语言构建Web应用 3
1.1.1 Go与可扩展Web应用 4
1.1.2 Go与模块化Web应用 4
1.1.3 Go与可维护的Web应用 5
1.1.4 Go与高性能Web应用 5
1.2 Web应用的工作原理 6
1.3 HTTP简介 7
1.4 Web应用的诞生 8
1.5 HTTP请求 9
1.5.1 请求方法 10
1.5.2 安全的请求方法 11
1.5.3 幂等的请求方法 11
1.5.4 浏览器对请求方法的支持 11
1.5.5 请求首部 12
1.6 HTTP响应 13
1.6.1 响应状态码 13
1.6.2 响应首部 14
1.7 URI 15
1.8 HTTP/2简介 16
1.9 Web应用的各个组成部分 16
1.9.1 处理器 17
1.9.2 模板引擎 18
1.10 Hello Go 18
1.11 小结 21

第 2章 ChitChat论坛 23
2.1 ChitChat简介 23
2.2 应用设计 24
2.3 数据模型 26
2.4 请求的接收与处理 27
2.4.1 多路复用器 27
2.4.2 服务静态文件 29
2.4.3 创建处理器函数 29
2.4.4 使用cookie进行访问控制 30
2.5 使用模板生成HTML响应 33
2.6 安装PostgreSQL 38
2.6.1 在Linux或FreeBSD系统上安装 38
2.6.2 在Mac OS X系统上安装 39
2.6.3 在Windows系统上安装 39
2.7 连接数据库 39
2.8 启动服务器 44
2.9 Web应用运作流程回顾 45
2.10 小结 46

第二部分 Web应用的基本组成部分
第3章 接收请求 49
3.1 Go的net/http标准库 49
3.2 使用Go构建服务器 51
3.2.1 Go Web服务器 51
3.2.2 通过HTTPS提供服务 53
3.3 处理器和处理器函数 56
3.3.1 处理请求 56
3.3.2 使用多个处理器 58
3.3.3 处理器函数 59
3.3.4 串联多个处理器和处理器函数 61
3.3.5 ServeMux和DefaultServeMux 65
3.3.6 使用其他多路复用器 66
3.4 使用HTTP/2 68
3.5 小结 70

第4章 处理请求 72
4.1 请求和响应 72
4.1.1 Request结构 73
4.1.2 请求URL 73
4.1.3 请求首部 74
4.1.4 请求主体 76
4.2 Go与HTML表单 77
4.2.1 Form字段 79
4.2.2 PostForm字段 80
4.2.3 MultipartForm字段 81
4.2.4 文件 83
4.2.5 处理带有JSON主体的POST请求 85
4.3 ResponseWriter 86
4.4 cookie 91
4.4.1 Go与cookie 91
4.4.2 将cookie发送到浏览器 92
4.4.3 从浏览器里面获取cookie 94
4.4.4 使用cookie实现闪现消息 96
4.5 小结 99

第5章 内容展示 100
5.1 模板引擎 100
5.2 Go的模板引擎 102
5.2.1 对模板进行语法分析 104
5.2.2 执行模板 105
5.3 动作 106
5.3.1 条件动作 106
5.3.2 迭代动作 108
5.3.3 设置动作 109
5.3.4 包含动作 111
5.4 参数、变量和管道 113
5.5 函数 114
5.6 上下文感知 116
5.6.1 防御XSS攻击 119
5.6.2 不对HTML进行转义 121
5.7 嵌套模板 122
5.8 通过块动作定义默认模板 126
5.9 小结 127

第6章 存储数据 128
6.1 内存存储 128
6.2 文件存储 131
6.2.1 读取和写入CSV文件 133
6.2.2 gob包 135
6.3 Go与SQL 137
6.3.1 设置数据库 138
6.3.2 连接数据库 140
6.3.3 创建帖子 142
6.3.4 获取帖子 144
6.3.5 更新帖子 145
6.3.6 删除帖子 145
6.3.7 一次获取多篇帖子 146
6.4 Go与SQL的关系 147
6.4.1 设置数据库 147
6.4.2 一对多关系 150
6.5 Go与关系映射器 152
6.5.1 Sqlx 152
6.5.2 Gorm 154
6.6 小结 157

第三部分 web开发实战演练
第7章 Go Web服务 161
7.1 Web服务简介 161
7.2 基于SOAP的Web服务简介 163
7.3 基于REST的Web服务简介 166
7.3.1 将动作转换为资源 168
7.3.2 将动作转换为资源的属性 169
7.4 通过Go分析和创建XML 169
7.4.1 分析XML 169
7.4.2 创建XML 177
7.5 通过Go分析和创建JSON 180
7.5.1 分析JSON 181
7.5.2 创建JSON 184
7.6 创建Go Web服务 187
7.7 小结 194

第8章 应用测试 196
8.1 Go与测试 196
8.2 使用Go进行单元测试 197
8.2.1 跳过测试用例 201
8.2.2 以并行方式运行测试 202
8.2.3 基准测试 203
8.3 使用Go进行HTTP测试 206
8.4 测试替身以及依赖注入 210
8.5 第三方Go测试库 217
8.5.1 Gocheck测试包简介 217
8.5.2 Ginkgo测试框架简介 223
8.6 小结 228

第9章 发挥Go的并发优势 230
9.1 并发与并行的区别 230
9.2 goroutine 232
9.2.1 使用goroutine 232
9.2.2 goroutine与性能 235
9.2.3 等待goroutine 238
9.3 通道 239
9.3.1 通过通道实现同步 240
9.3.2 通过通道实现消息传递 242
9.3.3 有缓冲通道 243
9.3.4 从多个通道中选择 244
9.4 在Web应用中使用并发 247
9.4.1 创建马赛克图片 248
9.4.2 马赛克图片Web应用 251
9.4.3 并发版马赛克图片生成Web应用 254
9.5 小结 262

第 10章 Go的部署 263
10.1 将应用部署到独立的 服务器 264
10.2 将应用部署到 Heroku 270
10.3 将应用部署到Google App Engine 273
10.4 将应用部署到 Docker 278
10.4.1 什么是Docker 278
10.4.2 安装Docker 279
10.4.3 Docker的理念与 组件 280
10.4.4 Docker化一个Go Web 应用 281
10.4.5 将Docker容器推送到 互联网 283
10.5 部署方法之间的 对比 286
10.6 小结 287

附录 安装和设置Go 288

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:2100506673@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。