《Go Web编程》
基本信息
作者: 谢孟军
出版社:电子工业出版社
ISBN:9787121200915
上架时间:2013-5-13
出版日期:2013 年6月
开本:16开
页码:352
版次:1-1
所属分类:计算机
内容简介
计算机书籍
《go web编程》介绍如何用go语言进行web应用的开发,将go语言的特性与web开发实战组合到一起,帮读者成功地构建跨平台的应用程序,节省go语言开发web的宝贵时间。有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解。
在本书中,读者可以更加方便地找到各种编程问题的解决方案,内容涵盖文本处理、表单处理、session管理、数据库交互、加/解密、国际化和标准化,以及程序的部署维护等运维方面的知识,最后还介绍了一个快速开发的框架帮助您迅速进入go语言的web开发。
目录
《go web编程》
第1章 go语言环境配置
1
1.1 go语言安装
1
go语言的三种安装方式
1
go语言源码安装
2
go语言标准包安装
2
第三方工具安装
5
1.2 gopath与工作空间
5
gopath设置
5
应用目录结构
6
编译应用
7
获取远程包
8
程序的整体结构
8
1.3 go语言命令
9
go语言命令
9
go build
10
go clean
10
go fmt
11
go get
11
go install
12
go test
12
go doc
12
其他命令
12
1.4 go语言开发工具
13
liteide
13
sublime text
16
vim
19
emacs
20
eclipse
23
intellij idea
26
1.5 总结
29
第2章 go语言基础
30
2.1 你好,go
30
程序
30
详解
31
小结
31
2.2 go语言基础
32
定义变量
32
常量
33
内置基础类型
33
一些技巧
36
array、slice、map
37
2.3 流程和函数
44
流程控制
44
函数
48
2.4 struct类型
57
struct
57
2.5 面向对象
62
method
62
2.6 interface
70
interface
70
2.7 并发
80
goroutine
80
channels
81
buffered channels
82
range和close
83
select
84
超时
85
runtime goroutine
85
2.8 总结
85
第3章 web基础
87
3.1 web工作方式
87
url和dns解析
88
http协议详解
90
请求实例
95
3.2 go语言搭建一个web服务器
95
http包建立web服务器
96
3.3 go语言如何使web工作
97
web工作方式的几个概念
97
分析http包运行机制
98
3.4 go语言的http包详解
100
conn的goroutine
100
servemux的自定义
100
go语言代码的执行流程
102
3.5 总结
103
第4章 表单
104
4.1 处理表单的输入
104
4.2 验证表单的输入
107
必填字段
107
数字
108
中文
108
英文
109
电子邮件地址
109
手机号码
109
下拉菜单
109
单选按钮
110
复选框
110
日期和时间
111
身份证号码
111
4.3 预防跨站脚本
112
4.4 防止多次递交表单
113
4.5 处理文件上传
115
客户端上传文件
117
4.6 总结
119
第5章 访问数据库
120
5.1 database/sql接口
120
sql.register
120
driver.driver
121
driver.conn
122
driver.stmt
122
driver.tx
123
driver.execer
123
driver.result
123
driver.rows
123
driver.rowsaffected
124
driver.value
124
driver.valueconverter
124
driver.valuer
125
database/sql
125
5.2 使用mysql数据库
125
mysql驱动
126
示例代码
126
5.3 使用sqlite数据库
129
驱动
129
实例代码
129
5.4 使用postgresql数据库
131
驱动
131
实例代码
132
5.5 使用beedb库进行orm开发
134
安装
134
如何初始化
135
插入数据
136
更新数据
136
查询数据
137
删除数据
138
关联查询
138
group by和having
139
进一步的发展
139
5.6 nosql数据库操作
139
redis
140
mongodb
141
5.7 总结
143
第6章 session和数据存储
144
6.1 session和cookie
144
cookie
146
session
147
小结
148
6.2 go语言如何使用session
148
session创建过程
149
go语言实现session管理
149
6.3 session存储
154
6.4 预防session劫持
157
session劫持过程
157
session劫持防范
160
6.5 总结
161
第7章 文本处理
162
7.1 xml处理
162
解析xml
163
输出xml
165
7.2 json处理
168
解析json
168
生成json
171
7.3 正则处理
173
通过正则判断是否匹配
174
通过正则获取内容
175
7.4 模板处理
179
什么是模板
179
go语言模板使用
180
模板中如何插入数据
180
must操作
186
嵌套模板
186
小结
188
7.5 文件操作
188
目录操作
188
文件操作
189
7.6 字符串处理
191
字符串操作
191
字符串转换
193
7.7 总结
194
第8章 web服务
195
8.1 socket编程
195
什么是socket
196
socket如何通信
196
socket基础知识
197
tcp socket
198
udp socket
202
小结
204
8.2 websocket
204
websocket原理
205
go语言实现websocket
206
8.3 rest
209
什么是rest
209
restful的实现
211
小结
213
8.4 rpc
213
rpc工作原理
214
go rpc
215
小结
223
8.5 总结
223
第9章 安全与加密
224
9.1 预防csrf攻击
224
什么是csrf
224
csrf的原理
225
如何预防csrf
226
总结
227
9.2 确保输入过滤
228
识别数据
228
过滤数据
228
区分过滤数据
229
小结
230
9.3 避免xss攻击
230
什么是xss
230
xss的原理
231
如何预防xss
232
小结
232
9.4 避免sql注入
232
什么是sql注入
232
sql注入实例
233
如何预防sql注入
234
小结
234
9.5 存储密码
235
普通方案
235
进阶方案
236
专家方案
237
总结
237
9.6 加密和解密数据
237
base64加解密
238
高级加解密
238
小结
240
9.7 总结
240
第10章 国际化和本地化
241
10.1 设置默认地区
241
什么是locale
241
设置locale
242
小结
244
10.2 本地化资源
244
本地化文本信息
244
本地化日期和时间
246
本地化货币值
246
本地化视图和资源
247
小结
248
10.3 国际化站点
248
管理多个本地包
248
自动加载本地包
249
template mapfunc
250
小结
252
10.4 总结
252
第11章 错误处理,调试和测试
253
11.1 错误处理
253
error类型
254
自定义error
255
错误处理
256
小结
258
11.2 使用gdb调试
258
gdb调试简介
259
常用命令
259
调试过程
261
小结
264
11.3 go语言怎么写测试用例
264
如何编写测试用例
265
如何编写压力测试
267
小结
268
11.4 总结
268
第12章 部署与维护
269
12.1 应用日志
269
seelog介绍
269
基于seelog的自定义日志处理
270
发生错误发送邮件
272
使用应用日志
273
小结
273
12.2 网站错误处理
273
错误处理的目标
274
如何处理错误
275
如何处理异常
277
小结
277
12.3 应用部署
278
daemon
278
supervisord
280
小结
282
12.4 备份和恢复
283
应用备份
283
mysql备份
284
mysql恢复
287
redis备份
287
redis恢复
287
小结
287
12.5 总结
287
第13章 如何设计一个web框架
289
13.1 项目规划
289
gopath以及项目设置
289
应用程序流程图
290
目录结构
291
框架设计
291
总结
291
13.2 自定义路由器设计
292
http路由
292
默认的路由实现
292
beego框架路由实现
293
13.4 日志和配置设计
298
日志和配置的重要性
298
beego的日志设计
298
beego的配置设计
301
应用指南
303
13.5 实现博客的增删改
303
博客目录
304
博客路由
304
数据库结构
304
控制器
305
model层
306
view层
307
13.6 总结
309
第14章 扩展web框架
310
14.1 静态文件支持
310
beego静态文件实现和设置
310
bootstrap集成
311
14.2 session支持
312
session集成
312
session使用
314
14.3 表单及验证支持
315
表单和验证
315
表单类型
316
表单验证
316
14.4 用户认证
318
http basic和http digest认证
318
oauth和oauth2的认证
319
自定义认证
321
14.5 多语言支持
324
i18n集成
324
多语言开发使用
325
14.6 pprof支持
326
beego支持pprof
326
使用入门
327
14.7 小结
329
附录a 参考资料
330