Go Web编程

Go Web编程

编辑推荐

本书全面介绍使用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 Web开发方面的经验和提示。这些重要的实践知识将帮助读者快速成为真正具有生产力的Go Web开发者。

作者简介

作者郑兆雄(Sau Sheong Chang)现任新加坡能源有限公司的数字技术总裁,在此之前他做过PayPal的消费者工程经理,也有过在 HP 、Yahoo以及Garena 等公司的任职经历。郑兆雄作为贡献者活跃于Ruby社区以及Go社区,除了为开源项目贡献代码之外,他还创作过好几本技术图书,并在各种技术聚会和大会上发言。

章节目录

版权信息

内容提要

译者记事

译者简介

前言

致谢

关于本书

关于封面插图

第一部分 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 Web编程是2017年由人民邮电出版社出版,作者[新加坡]郑兆雄(Sau。

得书感谢您对《Go Web编程》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
WebAssembly标准入门 电子书

适读人群:本书适合从事高性能Web前端开发、跨语言Web应用开发的技术人员学习参考,也可以作为WebAssembly标准参考手册随时查阅。作为一种新颖的网页前端技术,WebAs...
GO语言开发实战:慕课版 电子书

为对GO语言感兴趣的初学者和爱好者量身定做,从入门到精通,扫码直接看学习视频,并免费提供一站式教学服务包。
JavaScript设计模式与开发实践 电子书

JavaScript面向对象&函数式编程、20个设计模式、设计原则与重构技巧。
分布式对象存储——原理、架构及Go语言实现 电子书

适读人群:本书适合从事云存储方面工作的工程师或架构师,也适合想要学习和实现分布式对象存储的读者。  赠送价值249元的云存储专家视频课程  掌握云存储理论,动手搭建分布式对象存...
Rust程序设计 电子书

本书对Rust进行了全面介绍,并提供了大量清晰易懂的示例,逐步指导读者用Rust编写出既安全又高性能的程序。
汇编语言编程基础:基于LoongArch 电子书

本书是龙芯自主指令集的汇编语言教程,系统讲解龙芯处理器全新的自主指令系统架构LoongArch。