Go Web编程实战派(从入门到精通)
全新正版 极速发货
¥
75.57
5.9折
¥
128
全新
库存10件
作者廖显东
出版社电子工业出版社
ISBN9787121408007
出版时间2021-04
装帧平装
开本16开
定价128元
货号1202323537
上书时间2024-07-12
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
"廖显东
高级软件架构师,全栈开发者,技术极客,Gopher,开源爱好者。
毕业于河海大学,先后就职于苏宁易购等多家大型公司。具有多年软件开发与团队管理经验,精通Java、JavaScript、C、C++、C#、Python、PHP等开发语言。对Go、Rust等开发语言有深入实践和研究。对大型电子商务系统开发、高并发架构、分布式架构、微服务、大数据、人工智能算法等领域有深入实践和研究。"
目录
第1篇 Go语言入门
第1章 Go基础入门2
1.1 安装Go2
1.2 【实战】开启Go的第一个程序5
1.3 Go基础语法与使用8
1.4 Go数据类型29
1.5 函数52
1.6 Go面向对象编程63
1.7 接口68
1.8 反射75
1.9 goroutine简介80
1.10 单元测试81
1.11 Go编译与工具83
1.12 小结91
第2篇 Go Web基础入门
第2章 Go Web开发基础94
2.1 【实战】开启Go Web的第1个程序94
2.2 Web程序运行原理简介95
2.2.1 Web基本原理95
2.2.2 HTTP简介97
2.2.3 HTTP请求97
2.2.4 HTTP响应100
2.2.5 URI与URL104
2.2.6 HTTPS简介106
2.2.7 HTTP 2简介106
2.2.8 Web应用程序的组成108
2.3 【实战】初探Go语言的net/http包110
2.3.1 创建简单的服务器端110
2.3.2 创建简单的客户端114
2.4 使用Go语言的html/template包118
2.4.1 了解模板原理118
2.4.2 使用html/template包120
2.5 小结131
第3章 接收和处理Go Web请求132
3.1 【实战】创建一个简单的Go Web服务器132
3.2 接收请求134
3.2.1 ServeMux和DefaultServeMux134
3.2.2 处理器和处理器函数146
3.2.3 串联多个处理器和处理器函数150
3.2.4 构建模型151
3.2.5 生成HTML表单153
3.3 处理请求155
3.3.1 了解Request结构体155
3.3.2 请求URL158
3.3.3 请求头159
3.3.4 请求体160
3.3.5 处理HTML表单161
3.3.6 了解ResponseWriter原理164
3.4 了解session和cookie171
3.4.1 session和cookie的简介171
3.4.2 Go与cookie173
3.4.3 Go使用session176
3.5 小结181
第4章 用Go访问数据库182
4.1 MySQL的安装及使用182
4.1.1 MySQL简介182
4.1.2 MySQL的安装183
4.1.3 MySQL基础入门183
4.1.4 用Go访问MySQL193
4.2 Redis的安装及使用203
4.2.1 Redis的安装203
4.2.2 Redis基础入门203
4.2.3 Go访问Redis208
4.3 MongoDB的安装及使用216
4.3.1 MongoDB的安装216
4.3.2 MongoDB基础入门217
4.3.3 Go访问MongoDB223
4.4 Go的常见ORM库237
4.4.1 什么是ORM237
4.4.2 Gorm(性能极好的ORM库)的安装及使用238
4.4.3 Beego ORM――Go语言的ORM框架242
4.5 小结247
第3篇 Go Web高级应用
第5章 Go高级网络编程250
5.1 Go Socket编程250
5.1.1 什么是Socket250
5.1.2 客户端Dial()函数的使用254
5.1.3 客户端DialTCP()函数的使用256
5.1.4 UDP Socket的使用261
5.1.5 【实战】用Go Socket实现一个简易的聊天程序265
5.2 Go RPC编程270
5.2.1 什么是RPC270
5.2.2 Go RPC的应用271
5.3 微服务277
5.3.1 什么是微服务277
5.3.2 【实战】用gRPC框架构建一个简易的微服务281
5.4 小结286
第6章 Go文件处理287
6.1 操作目录与文件287
6.1.1 操作目录287
6.1.2 创建文件292
6.1.3 打开与关闭文件293
6.1.4 读写文件294
6.1.5 移动与重命名文件299
6.1.6 删除文件299
6.1.7 复制文件301
6.1.8 修改文件权限304
6.1.9 文件链接306
6.2 处理 XML 文件307
6.2.1 解析XML文件307
6.2.2 生成XML文件310
6.3 处理JSON 文件313
6.3.1 读取JSON文件313
6.3.2 生成JSON文件315
6.4 处理正则表达式316
6.4.1 正则表达式简介316
6.4.2 使用Go正则表达式322
6.5 【实战】从数据库中导出一个CSV文件329
6.6 处理Go日志记录332
6.7 小结335
第7章 Go并发编程336
7.1 并发与并行336
7.2 进程、线程和协程338
7.3 Go并发模型简介340
7.4 用goroutine和通道实现并发341
7.4.1 goroutine简介341
7.4.2 通道343
7.5 用sync包实现并发351
7.5.1 竞态351
7.5.2 互斥锁352
7.5.3 读写互斥锁354
7.5.4 sync.Once结构体358
7.5.5 同步等待组sync.WaitGroup361
7.5.6 竞态检测器364
7.6 用Go开发并发的Web应用366
7.6.1 【实战】开发一个自增整数生成器366
7.6.2 【实战】开发一个并发的消息发送器366
7.6.3 【实战】开发一个多路复合计算器367
7.6.4 【实战】用select关键字创建多通道监听器368
7.6.5 【实战】用无缓冲通道阻塞主线370
7.6.6 【实战】用筛法求素数371
7.6.7 【实战】创建随机数生成器372
7.6.8 【实战】创建一个定时器373
7.6.9 【实战】开发一个并发的Web爬虫374
7.7 小结377
第8章 Go RESTful API接口开发378
8.1 什么是RESTful API378
8.2 Go流行Web框架的使用382
8.2.1 为什么要用框架382
8.2.2 Gin框架的使用382
8.2.3 Beego框架的使用395
8.3 【实战】用Gin框架开发RESTful API412
8.3.1 路由设计412
8.3.2 数据表设计412
8.3.3 模型代码编写412
8.3.4 逻辑代码编写413
8.4 【实战】用Go开发OAuth 2.0接口417
8.4.1 OAuth 2.0简介417
8.4.2 用Go开发OAuth 2.0接口的示例418
8.5 小结423
第4篇 Go Web项目实战
第9章 【实战】开发一个B2C电子商务系统426
9.1 需求分析426
9.2 系统设计427
9.2.1 确定系统架构427
9.2.2 制定系统流程428
9.3 设计软件架构429
9.4 设计数据库与数据表430
9.5 搭建系统基础架构431
9.6 前台模块开发441
9.6.1 首页模块开发443
9.6.2 注册登录模块开发450
9.6.3 用户中心模块开发463
9.6.4 商品展示模块开发469
9.6.5 购物车模块开发474
9.6.6 收银台模块开发481
9.6.7 支付模块开发489
9.7 后台模块开发493
9.7.1 登录模块开发493
9.7.2 商品模块开发495
9.8 小结499
第10章 用Docker部署Go Web应用500
10.1 了解Docker组件及原理500
10.1.1 什么是Docker500
10.1.2 为什么用Docker502
10.1.3 Docker引擎502
10.1.4 Docker构架503
10.1.5 Docker核心概念503
10.1.6 Docker常用命令504
10.2 安装Docker509
10.2.1 Linux Docker 安装509
10.2.2 Windows Docker 安装510
10.2.3 Mac OS X Docker 安装511
10.3 【实战】用Docker运行一个Go Web 应用程序512
10.3.1 为什么使用Docker运行Go Web应用程序512
10.3.2 创建Go Web应用程序512
10.3.3 用Docker运行一个Go Web应用程序513
10.4 【实战】通过Docker-Compose快速部署515
10.4.1 Docker-Compose 简介515
10.4.2 通过Docker-Compose实战部署516
10.5 【实战】将Docker容器推送至服务器520
10.5.1 到Docker Hub官网注册账号520
10.5.2 同步本地和Docker hub的标签(tag)520
10.5.3 推送镜像到Docker Hub521
10.5.4 访问Docker Hub镜像521
10.5.5 使用发布的Docker Hub镜像522
10.6 小结523
内容摘要
本书涵盖从Go语言入门到Go Web开发高手所需的核心知识、方法和技巧,共分4篇。第1篇“Go语言入门”,介绍Go语言的基础语法,既使没有Go语言基础的读者也可以学习本书。第2篇“Go Web基础入门”,包括3章:Go Web开发基础、接收和处理Go Web请求、用Go访问数据库。本篇能使读者快速掌握用Go语言进行Web开发的基础知识。第3篇“Go Web高级应用”,包括4章:Go高级网络编程、Go文件处理、Go并发编程、Go RESTful API接口开发。本篇能使读者用Go语言快速开发各种Web应用。第4篇“Go Web项目实战”,包括2章:【实战】开发一个B2C电子商务系统、【实战】用Docker部署Go Web应用。本篇通过实例介绍了开发一个B2C电子商务系统的全过程,包括开发商品展示、购物车、结算、支付等模块的详细讲解,让读者真正了解大型B2C电子商务系统的架构原理及实现方法,并开放了源代码;用Docker实战部署Go Web应用,帮助读者向Go Web开发“精通”级别迈进。本书可作为Go语言初学者、Web开发工程师的自学用书,也可作为培训机构和相关院校的教材。
主编推荐
"《Go Web编程实战派——从入门到精通》聚焦Go Web开发领域,对Go Web知识进行全面深入地讲解。本书有如下特色:
(1)一线技术,突出实战。
本书中穿插了大量的实战内容,且所有代码采用目前的Go近期新版本(1.15.3)编写。
(2)精雕细琢,阅读性强。
全书的语言经过多次打磨,力求准确。同时注重阅读体验,让没有任何基础的读者也可以很轻松地读懂本书。
(3)零基础入门,循序渐进,让读者快速从菜鸟向实战高手迈进。
本书以Go入门级程序员为主要对象,初级、中级、高级程序员都可以从书中学到干货。先介绍Go的基础,然后介绍Go Web的基础,介绍Go Web的高级应用,介绍B2C电子商务系统实战开发,最后介绍应用的Docker实战部署,真正帮助读者从基础入门向开发高手迈进。
(4)极客思维,很好效率;
本书以极客思维深入Go语言底层进行探究,帮助读者了解底层的原理。全书言简意赅,以帮助读者提升开发效率为导向,同时尽可能帮助读者缩短阅读本书的时间。
(5)由易到难,重点和难点标注并重点解析。
本书编排由易到难,内容基本覆盖Go Web的主流前沿技术。同时对重点和难点进行重点讲解,对易错点和注意点进行了提示说明,帮助读者克服学习过程中的困难。
(6)突出实战,快速突击。
本书的实例代码绝大部分都是来自于近期新的企业实战项目。购买本书的读者可以通过网络下载书中的所有的源代码,下载后即可运行,通过实践来加深理解。
(7)实战方案,可直接二次开发进行实战部署。
本书以实战为主,所有的示例代码拿来即可运行。特别是第9章,购买本书的读者可以直接获得B2C电子商务系统的全部源代码。可以直接对其进行二次开发,用于自己的项目。读者购买本书不仅可以学习本书的各种知识,也相当于购买一个近期新版的Go语言电商系统解决方案及项目源码。"
— 没有更多了 —
以下为对购买帮助不大的评价