本书全面介绍使用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 Web开发方面的经验和提示。这些重要的实践知识将帮助读者快速成为真正具有生产力的Go Web开发者。 阅读本书需要读者具备基本的Go语言编程技能并掌握Go语言的语法。本书适合所有想用Go语言进行Web开发的读者阅读,无论是Web开发的初学者还是入行已久的开发者都会在阅读本书的过程中有所收获。
目录
内容提要
译者记事
关于本书的翻译
读者服务网站
译者简介
关于本书
内容编排
代码的约定以及下载
作者简介
作者在线论坛
第一部分 Go与Web应用
第1章 Go与Web应用
1.1 使用Go语言构建Web应用
1.2 Web应用的工作原理
1.3 HTTP简介
1.4 Web应用的诞生
1.5 HTTP请求
1.6 HTTP响应
1.7 URI
1.8 HTTP/2简介
1.9 Web应用的各个组成部分
1.10 Hello Go
1.11 小结
第2章 ChitChat论坛
2.1 ChitChat简介
2.2 应用设计
2.3 数据模型
2.4 请求的接收与处理
2.5 使用模板生成HTML响应
2.6 安装PostgreSQL
2.7 连接数据库
2.8 启动服务器
2.9 Web应用运作流程回顾
2.10 小结
第二部分 Web应用的基本组成部分
第3章 接收请求
3.1 Go的net/http标准库
3.2 使用Go构建服务器
3.3 处理器和处理器函数
3.4 使用HTTP/2
3.5 小结
第4章 处理请求
4.1 请求和响应
4.2 Go与HTML表单
4.3 ResponseWriter
4.4 cookie
4.5 小结
第5章 内容展示
5.1 模板引擎
5.2 Go的模板引擎
5.3 动作
5.4 参数、变量和管道
5.5 函数
5.6 上下文感知
5.7 嵌套模板
5.8 通过块动作定义默认模板
5.9 小结
第6章 存储数据
6.1 内存存储
6.2 文件存储
6.3 Go与SQL
6.4 Go与SQL的关系
6.5 Go与关系映射器
6.6 小结
第三部分 实战演练
第7章 Go Web服务
7.1 Web服务简介
7.2 基于SOAP的Web服务简介
7.3 基于REST的Web服务简介
7.4 通过Go分析和创建XML
7.5 通过Go分析和创建JSON
7.6 创建Go Web服务
7.7 小结
第8章 应用测试
8.1 Go与测试
8.2 使用Go进行单元测试
8.3 使用Go进行HTTP测试
8.4 测试替身以及依赖注入
8.5 第三方Go测试库
8.6 小结
第9章 发挥Go的并发优势
9.1 并发与并行的区别
9.2 goroutine
9.3 通道
9.4 在Web应用中使用并发
9.5 小结
第10章 Go的部署
10.1 将应用部署到独立的服务器
10.2 将应用部署到Heroku
10.3 将应用部署到Google App Engine
10.4 将应用部署到Docker
10.5 部署方法之间的对比
10.6 小结
附录 安装和设置Go
安装Go
设置Go
欢迎来到异步社区!
异步社区的来历
社区里都有什么?
灵活优惠的购书
社区里还可以做什么?
加入异步
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
免责申明:
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。