万本电子书0元读

万本电子书0元读

顶部广告

Go Web编程电子书

Go语言通过提供整洁快速的编译代码、垃圾回收、简单的并发Go模型以及丰富的标准库来满足人们对于可扩展、高性能Web 应用的需求,这种语言非常适用于编写微服务,又或者用于构建可扩展且可维护的系统。 本书将教读者运用现代化设计理念构建Go Web应用的方法。阅读本书能让读者学会如何通过依赖注设计模式来编写测试替身,如何在Web应用中使用并发特性,还有如何在Web服务中创建以及处理JSON数据和XML数据。除此之外,读者还将学会如何尽可能地减少应用对外部框架的依赖,并了解大量与应用测试以及应用部署有关的有价值的生产技术。

售       价:¥

纸质售价:¥58.80购买纸书

1774人正在读 | 4人评论 7.3

作       者:郑兆雄

出  版  社:人民邮电出版社

出版时间:2017-11-01

字       数:30.8万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

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

内容提要

译者记事

关于本书的翻译

读者服务网站

致谢

译者简介

前言

致谢

关于本书

内容编排

代码的约定以及下载

作者简介

作者在线论坛

关于封面插图

第一部分 Go与Web应用

第1章 Go与Web应用

本章主要内容

1.1 使用Go语言构建Web应用

1.1.1 Go与可扩展Web应用

1.1.2 Go与模块化Web应用

1.1.3 Go与可维护的Web应用

1.1.4 Go与高性能Web应用

1.2 Web应用的工作原理

1.3 HTTP简介

1.4 Web应用的诞生

1.5 HTTP请求

1.5.1 请求方法

1.5.2 安全的请求方法

1.5.3 幂等的请求方法

1.5.4 浏览器对请求方法的支持

1.5.5 请求首部

1.6 HTTP响应

1.6.1 响应状态码

1.6.2 响应首部

1.7 URI

1.8 HTTP/2简介

1.9 Web应用的各个组成部分

1.9.1 处理器

1.9.2 模板引擎

1.10 Hello Go

1.11 小结

第2章 ChitChat论坛

本章主要内容

2.1 ChitChat简介

2.2 应用设计

2.3 数据模型

2.4 请求的接收与处理

2.4.1 多路复用器

2.4.2 服务静态文件

2.4.3 创建处理器函数

2.4.4 使用cookie进行访问控制

2.5 使用模板生成HTML响应

整理代码

2.6 安装PostgreSQL

2.6.1 在Linux或FreeBSD系统上安装

2.6.2 在Mac OS X系统上安装

2.6.3 在Windows系统上安装

2.7 连接数据库

2.8 启动服务器

2.9 Web应用运作流程回顾

2.10 小结

第二部分 Web应用的基本组成部分

第3章 接收请求

本章主要内容

3.1 Go的net/http标准库

3.2 使用Go构建服务器

3.2.1 Go Web服务器

3.2.2 通过HTTPS提供服务

3.3 处理器和处理器函数

3.3.1 处理请求

3.3.2 使用多个处理器

3.3.3 处理器函数

3.3.4 串联多个处理器和处理器函数

3.3.5 ServeMux和DefaultServeMux

3.3.6 使用其他多路复用器

3.4 使用HTTP/2

3.5 小结

第4章 处理请求

本章主要内容

4.1 请求和响应

4.1.1 Request结构

4.1.2 请求URL

4.1.3 请求首部

4.1.4 请求主体

4.2 Go与HTML表单

4.2.1 Form字段

4.2.2 PostForm字段

4.2.3 MultipartForm字段

4.2.4 文件

4.2.5 处理带有JSON主体的POST请求

4.3 ResponseWriter

对ResponseWriter进行写入

4.4 cookie

4.4.1 Go与cookie

4.4.2 将cookie发送至浏览器

4.4.3 从浏览器获取cookie

4.4.4 使用cookie实现闪现消息

4.5 小结

第5章 内容展示

本章主要内容

5.1 模板引擎

5.2 Go的模板引擎

5.2.1 对模板进行语法分析

5.2.2 执行模板

5.3 动作

5.3.1 条件动作

5.3.2 迭代动作

5.3.3 设置动作

5.3.4 包含动作

5.4 参数、变量和管道

5.5 函数

5.6 上下文感知

5.6.1 防御XSS攻击

5.6.2 不对HTML进行转义

5.7 嵌套模板

5.8 通过块动作定义默认模板

5.9 小结

第6章 存储数据

本章主要内容

6.1 内存存储

6.2 文件存储

6.2.1 读取和写入CSV文件

6.2.2 gob包

6.3 Go与SQL

6.3.1 设置数据库

6.3.2 连接数据库

6.3.3 创建帖子

6.3.4 获取帖子

6.3.5 更新帖子

6.3.6 删除帖子

6.3.7 一次获取多篇帖子

6.4 Go与SQL的关系

6.4.1 设置数据库

6.4.2 一对多关系

6.5 Go与关系映射器

6.5.1 Sqlx

6.5.2 Gorm

6.6 小结

第三部分 实战演练

第7章 Go Web服务

本章主要内容

7.1 Web服务简介

7.2 基于SOAP的Web服务简介

7.3 基于REST的Web服务简介

7.3.1 将动作转换为资源

7.3.2 将动作转换为资源的属性

7.4 通过Go分析和创建XML

7.4.1 分析XML

7.4.2 创建XML

7.5 通过Go分析和创建JSON

7.5.1 分析JSON

7.5.2 创建JSON

7.6 创建Go Web服务

7.7 小结

第8章 应用测试

本章主要内容

8.1 Go与测试

8.2 使用Go进行单元测试

8.2.1 跳过测试用例

8.2.2 以并行方式运行测试

8.2.3 基准测试

8.3 使用Go进行HTTP测试

8.4 测试替身以及依赖注入

使用Go实现依赖注入

8.5 第三方Go测试库

8.5.1 Gocheck测试包简介

8.5.2 Ginkgo测试框架简介

8.6 小结

第9章 发挥Go的并发优势

本章主要内容

9.1 并发与并行的区别

9.2 goroutine

9.2.1 使用goroutine

9.2.2 goroutine与性能

9.2.3 等待goroutine

9.3 通道

9.3.1 通过通道实现同步

9.3.2 通过通道实现消息传递

9.3.3 有缓冲通道

9.3.4 从多个通道中选择

9.4 在Web应用中使用并发

9.4.1 创建马赛克图片

9.4.2 马赛克图片Web应用

9.4.3 并发版马赛克图片生成Web应用

9.5 小结

第10章 Go的部署

本章主要内容

10.1 将应用部署到独立的服务器

10.2 将应用部署到Heroku

10.3 将应用部署到Google App Engine

10.4 将应用部署到Docker

10.4.1 什么是Docker

10.4.2 安装Docker

10.4.3 Docker的概念与组件

10.4.4 Docker化一个Go Web应用

10.4.5 将Docker容器推送至互联网

10.5 部署方法之间的对比

10.6 小结

附录 安装和设置Go

安装Go

Linux和FreeBSD

Windows

Mac OS X

设置Go

累计评论(7条) 12个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部