Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用

Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2022-11
版次: 1
ISBN: 9787302615897
定价: 98.00
装帧: 其他
开本: 16开
纸张: 胶版纸
5人买过
  • 主要内容 ● 编写命令行应用程序 ● 编写HTTP服务和客户端 ● 使用gRPC编写RPC应用程序 ● 为网络客户端和服务器编写中间件 ● 在云对象存储和SQL数据库中存储数据 ● 使用惯用的技术测试应用程序 ● 为应用程序增加可观察性 ● 管理应用程序的配置数据 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在技术杂志、会议论文集和研究期刊上发表过大量文章。 第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

     
  • 内容简介:
    主要内容 ● 编写命令行应用程序 ● 编写HTTP服务和客户端 ● 使用gRPC编写RPC应用程序 ● 为网络客户端和服务器编写中间件 ● 在云对象存储和SQL数据库中存储数据 ● 使用惯用的技术测试应用程序 ● 为应用程序增加可观察性 ● 管理应用程序的配置数据
  • 作者简介:
    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在技术杂志、会议论文集和研究期刊上发表过大量文章。
  • 目录:
    第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应用
Go语言中的高效并发技术
(美)波拉克·瑟达 著 黄永强 译
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Going Postal A Novel of Discworld
Pratchett;Terry
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Go专家编程(第2版)
任洪彩
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
God Bless You, Dr. Kevorkian
Vonnegut;Kurt;Gaiman;Neil
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Go语言程序设计项目化教程(微课版)
谭旭;史律;钟祥永
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Go程序开发实战宝典
穆旭东 谭庆丰 楚秦 编著;猿媛之家 组编
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Go语言之路
李文周
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Go语言Hyperledger区块链开发实战
李晓黎
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Go语言从入门到精通
明日科技
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Go语言设计模式(双色版)
廖显东
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Gopro: Professional Guide to Filmmaking [Covers the Hero4 and All Gopro Cameras]
Schmidt;Bradford;Thompson;Brandon
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
Golang+Vue.js商城项目实战
黄永祥
您可能感兴趣 / 更多
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
走出母职困境:一部帮助职场妈妈消除倦怠的科学指南
[澳]阿里·杨(Ali;Young
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
交锋二十年 (日本奇迹系列,美国与日本贸易摩擦)
[澳]约翰·昆克尔
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
勇敢的克兰西(接纳并善待与众不同的自己,敢于打破惯例,尝试更多可能)
[澳]拉切·休谟 著;赵静 译
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
极地竞赛:19世纪南极开发史(精装典藏版)
[澳]吉伦·达西·伍德,(Gillen,D’Arcy,Wood)
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
作家的房间:关于写作的对话(夏洛特?伍德“三年大师写作班”,集结11位澳大利亚本土作家访谈录,澳大利亚版巴黎评论)
[澳]夏洛特·伍德
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
夜空冲浪指南
[澳]丽莎·哈维·史密斯、[澳]索菲·比尔绘 著;孙正凡 张琳 译;未读 出品
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
南方理论:社会科学知识的全球动态
[澳]瑞文·康奈尔
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
策展指南
[澳]布拉德·巴克利,约翰·科诺莫斯
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
英语合作学习活动
[澳]杨宏智 (澳)沈惠忠
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
翻转恐惧大作战
[澳]安迪·哈迪曼 / 著
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
培养孩子抗挫力的50个游戏
[澳]戴西·特恩布尔
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
四大会计师事务所:历史秘辛与未来挑战
[澳]伊恩·d.高(ian d. gow) [澳]斯图尔特·凯尔斯(stuart kells)