基本信息
编辑推荐
Go语言通过提供整洁快速的编译代码、垃圾回收、简单的并发Go模型以及丰富的标准库来满足人们对于可扩展、高性能Web 应用的需求,这种语言非常适用于编写微服务,又或者用于构建可扩展且可维护的系统。
本书将教读者运用现代化设计理念构建Go Web应用的方法。阅读本书能让读者学会如何通过依赖注入设计模式来编写测试替身,如何在Web应用中使用并发特性,还有如何在Web服务中创建以及处理JSON数据和XML数据。除此之外,读者还将学会如何尽可能地减少应用对外部框架的依赖,并了解大量与应用测试以及应用部署有关的有价值的生产技术。
本书主要内容
● 基础知识。
● 功能测试和基准测试。
● 并发特性的使用方法。
● 将应用部署到独立服务器、PaaS云端以及 Docker 的方法。
● 大量提示、窍门以及技巧。
本书假设读者熟悉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开发者。
阅读本书需要读者具备基本的Go语言编程技能并掌握Go语言的语法。本书适合所有想用Go语言进行Web开发的读者阅读,无论是Web开发的初学者还是入行已久的开发者都会在阅读本书的过程中有所收获。
作译者
Sau Sheong Chang 既是新加坡能源有限公司的数字技术总裁,也是Ruby 社区以及Go社区的活跃贡献者,著有《Go Web编程》《R和Ruby数据分析之旅》等4 部著作。
译者简介
黄健宏(huangz),一位1990年出生的计算机技术图书作译者,《Redis设计与实现》一书的作者,《Redis实战》一书的译者。除了已出版的两本作品之外,他还创作和翻译了《Go标准库中文文档》《Redis命令参考》《SICP解题集》等一系列开源文档。要了解关于黄健宏的更多信息,请访问他的个人主页http://huangz.me。
目录
第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
媒体评论
——Shaun Lippy,Oracle 集团
“无论你是一位经验老到的gopher,还是一位刚开始接触Go语言的Web开发者,这都是你必不可少的一本书。”
——Benoit Benedetti,尼斯大学
“关于Go Web应用的开发和部署,你想要知道的全部知识都已经囊括在这本书里了。”
——Brian Cooksey,Zapier 公司
“本书堪称Go Web 开发的权V入门教程。”
——Gualtiero Testa,Factor-y S.r.l. 公司