《Go Web编程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:谢孟军著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121200915
  • 页数:330 页
图书介绍:本书介绍如何使用Go语言编写Web,包含了Go语言的入门、Web相关的一些知识、Go中如何处理Web的各方面设计(表单、session、cookie等)、数据库以及如何编写Go Web应用等相关知识。通过本书的学习能够让读者了解Go的运行机制,如何用Go编写Web应用,以及Go的应用程序的部署和维护等,让读者对整个的Go的开发了如指掌。

第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.3 日志和配置设计 298

日志和配置的重要性 298

beego的日志设计 298

beego的配置设计 301

应用指南 303

13.4 实现博客的增删改 303

博客目录 304

博客路由 304

数据库结构 304

控制器 305

model 层 306

view层 307

13.5 总结 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