-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用 版权信息
- ISBN:9787302615897
- 条形码:9787302615897 ; 978-7-302-61589-7
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用 本书特色
谷歌在2009年发布了Go编程语言,并于2012年发布了1.0版。Go语言具有强大的兼容性,一直用于编写可扩展的重量级程序(命令行应用程序、关键基础设施工具乃至大规模分布式系统)。凭借简单性、丰富的标准库和蓬勃发展的第三方软件包生态系统,Go语言成为软件开发人员首选的通用语言。 《Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用》将指导你使用 Go编程语言来构建健壮的、生产级别的应用程序。你将学到足够多的知识来构建命令行工具以及通过HTTP和gRPC通信的应用程序。
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用 内容简介
主要内容 ● 编写命令行应用程序 ● 编写HTTP服务和客户端 ● 使用gRPC编写RPC应用程序 ● 为网络客户端和服务器编写中间件 ● 在云对象存储和SQL数据库中存储数据 ● 使用惯用的技术测试应用程序 ● 为应用程序增加可观察性 ● 管理应用程序的配置数据
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用 目录
目录
第1章 编写命令行应用程序 1
1.1 我们的**个应用程序 1
1.2 编写单元测试 8
1.3 使用flag包 14
1.4 改进用户界面 22
1.4.1 删除重复的错误消息 22
1.4.2 自定义用例消息 23
1.4.3 通过位置参数接收姓名 24
1.5 更新单元测试 27
1.6 小结 32
第2章 高级命令行应用程序 33
2.1 实现子命令 33
2.1.1 子命令驱动的应用程序架构 37
2.1.2 测试main包 43
2.1.3 测试cmd包 45
2.2 使应用程序更健壮 47
2.2.1 带有超时的用户输入 48
2.2.2 处理用户信号 51
2.3 小结 55
第3章 编写HTTP客户端 57
3.1 下载数据 57
3.2 反序列化接收到的数据 61
3.3 发送数据 65
3.4 使用二进制数据 71
3.5 小结 78
第4章 高级HTTP客户端 79
4.1 使用自定义HTTP客户端 79
4.1.1 从过载的服务器下载 79
4.1.2 测试超时行为 83
4.1.3 配置重定向行为 86
4.2 定制请求 89
4.3 实现客户端中间件 90
4.3.1 了解RoundTripper接口 90
4.3.2 日志中间件 91
4.3.3 给所有请求添加一个标头 94
4.4 连接池 97
4.5 小结 101
第5章 构建HTTP服务器 103
5.1 我们的**个HTTP服务器 103
5.2 设置请求处理程序 106
处理程序 106
5.3 测试服务器 109
5.4 Request(请求)结构 112
5.4.1 方法 112
5.4.2 URL 112
5.4.3 Proto、ProtoMajor和ProtoMinor 113
5.4.4 标头 113
5.4.5 主机 113
5.4.6 正文 113
5.4.7 Form、PostForm 113
5.4.8 MultipartForm 114
5.5 将元数据附加到请求 115
5.6 处理流请求 118
5.7 将流数据作为响应 123
5.8 小结 128
第6章 高级HTTP服务器应用程序 129
6.1 处理程序的类型 129
6.2 跨处理程序共享数据 130
6.3 编写服务器中间件 135
6.3.1 自定义HTTP处理程序技术 135
6.3.2 HandlerFunc技术 136
6.3.3 链接中间件 138
6.4 为复杂的服务器应用程序编写测试 142
6.4.1 组织代码 143
6.4.2 测试处理程序 148
6.4.3 测试中间件 151
6.4.4 测试服务器启动 153
6.5 小结 155
第7章 生产级HTTP服务器 157
7.1 终止请求处理 157
7.1.1 终止请求处理的策略 160
7.1.2 处理客户端断开连接 165
7.2 服务器范围的超时 168
7.2.1 为所有处理程序实现超时 169
7.2.2 实现服务器超时 169
7.3 实施优雅的关机 174
7.4 使用TLS保护通信 178
7.4.1 配置TLS和HTTP/2 179
7.4.2 测试TLS服务器 183
7.5 小结 186
第8章 使用gRPC构建RPC应用程序 187
8.1 gRPC和协议缓冲区 187
8.2 编写**个服务 190
8.2.1 编写服务器 192
8.2.2 编写一个客户端 196
8.2.3 测试服务器 201
8.2.4 测试客户端 204
8.3 protobuf消息的详细介绍 207
8.3.1 序列化和反序列化 207
8.3.2 向前和向后兼容 212
8.4 多个服务 214
8.5 错误处理 219
8.6 小结 221
第9章 高级gRPC应用 223
9.1 流通信 223
9.1.1 服务器端流传输 223
9.1.2 客户端流传输 231
9.1.3 双向流 233
9.2 接收和发送任意字节 241
9.3 使用拦截器实现中间件 250
9.3.1 客户端拦截器 251
9.3.2 服务器端拦截器 257
9.3.3 包装流 262
9.3.4 链接拦截器 264
9.4 小结 265
第10章 生产级gRPC应用 267
10.1 使用TLS保护通信 267
10.2 服务器健壮性 270
10.2.1 实施健康检查 270
10.2.2 处理运行时错误 277
10.2.3 终止请求处理 280
10.3 客户端健壮性 289
10.3.1 提高连接配置 289
10.3.2 处理瞬态故障 291
10.3.3 为方法调用设置超时 296
10.4 连接管理 297
10.5 小结 299
第11章 使用数据存储 301
11.1 使用对象存储 302
11.1.1 与包服务器集成 303
11.1.2 测试包上传 312
11.1.3 访问底层驱动类型 315
11.2 使用关系数据库 316
11.2.1 与包服务器集成 318
11.2.2 测试数据存储 328
11.2.3 数据类型转换 332
11.2.4 使用数据库事务 335
11.3 小结 337
—— 以下部分通过扫描封底二维码获取 ——
附录A 使应用程序可观察 339
附录B 部署应用程序 356
附录C 配置Go开发环境 362
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用 作者简介
Amit Saha是位于澳大利亚悉尼市的Atlassian公司的高级DevOps工程师。Amit曾撰写Doing Math with Python: Use Programming to Explore Algebra, Statistics, Calculus, and More!和Write Your First Program等书籍。Amit已在软件行业工作10年,曾加盟Sun Microsystems、RedHat和多家初创公司。Amit在技术杂志、会议论文集和研究期刊上发表过大量文章。
- >
史学评论
史学评论
¥13.4¥42.0 - >
上帝之肋:男人的真实旅程
上帝之肋:男人的真实旅程
¥30.5¥35.0 - >
巴金-再思录
巴金-再思录
¥14.7¥46.0 - >
龙榆生:词曲概论/大家小书
龙榆生:词曲概论/大家小书
¥7.7¥24.0 - >
自卑与超越
自卑与超越
¥13.5¥39.8 - >
莉莉和章鱼
莉莉和章鱼
¥19.7¥42.0 - >
山海经
山海经
¥20.4¥68.0 - >
我与地坛
我与地坛
¥15.4¥28.0
-
详解Spring Boot(从入门到企业级开发实战)/孙鑫精品图书系列
¥64.2¥129 -
PYTHON应用与实战
¥52.9¥79.8 -
Python编程与数值方法
¥79.6¥109 -
Go语言从入门到项目实战(视频版)
¥60.4¥108 -
软件设计师
¥14.2¥38 -
GO语言编程从入门到实践
¥75.6¥108