《Go Web编程》.pdf [155.2M]

  • A+
所属分类:GO电子书

《Go Web编程》.pdf [155.2M]

内容简介 · · · · · ·

《Go Web编程》介绍如何用Go语言进行Web应用的开发,将Go语言的特性与Web开发实战组合到一起,帮读者成功地构建跨平台的应用程序,节省Go语言开发Web的宝贵时间。有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解。

在《Go Web编程》中,读者可以更加方便地找到各种编程问题的解决方案,内容涵盖文本处理、表单处理、Session管理、数据库交互、加/解密、国际化和标准化,以及程序的部署维护等运维方面的知识,最后还介绍了一个快速开发的框架帮助您迅速进入Go语言的Web开发。

在线试读 前往豆瓣阅读试读本书

作者简介 · · · · · ·

谢孟军,网名ASTA谢,现就职于盛大云,高级研究员,技术经理,主要从事盛大云分发的系统研发工作,努力为盛大游戏、盛大文学、酷六等提供更好的CDN服务。热爱技术,尤其关注实现服务器端高性能、高可用等相关技术。开发了beego、beedb等各类基于Go语言的开源框架和库,致力于Go语言的推广和研究。

目录 · · · · · ·

第1章 GO语言环境配置

1.1 Go语言安装

Go语言的三种安装方式

Go语言源码安装

Go语言标准包安装

第三方工具安装

1.2 GOPATH与工作空间

GOPATH设置

应用目录结构

编译应用

获取远程包

程序的整体结构

1.3 Go语言命令

Go语言命令

go build

go clean

go fmt

go get

go install

go test

go doc

其他命令

1.4 Go语言开发工具

LiteIDE

Sublime Text

Vim

Emacs

Eclipse

IntelliJ IDEA

1.5 总结

第2章 Go语言基础

2.1 你好,Go

程序

详解

小结

2.2 Go语言基础

定义变量

常量

内置基础类型

一些技巧

array、slice、map

2.3 流程和函数

流程控制

函数

2.4 struct类型

struct

2.5 面向对象

method

2.6 interface

interface

2.7 并发

goroutine

channels

Buffered Channels

Range和Close

Select

超时

runtime goroutine

2.8 总结

第3章 Web基础

3.1 Web工作方式

URL和DNS解析

HTTP协议详解

请求实例

3.2 GO语言搭建一个Web服务器

http包建立Web服务器

3.3 Go语言如何使Web工作

Web工作方式的几个概念

分析http包运行机制

3.4 Go语言的http包详解

Conn的goroutine

ServeMux的自定义

Go语言代码的执行流程

3.5 总结

第4章 表单

4.1 处理表单的输入

4.2 验证表单的输入

必填字段

数字

中文

英文

电子邮件地址

手机号码

下拉菜单

单选按钮

复选框

日期和时间

身份证号码

4.3 预防跨站脚本

4.4 防止多次递交表单

4.5 处理文件上传

客户端上传文件

4.6 总结

第5章 访问数据库

5.1 database/sql接口

sql.Register

driver.Driver

driver.Conn

driver.Stmt

driver.Tx

driver.Execer

driver.Result

driver.Rows

driver.RowsAffected

driver.Value

driver.ValueConverter

driver.Valuer

database/sql

5.2 使用MySQL数据库

MySQL驱动

示例代码

5.3 使用SQLite数据库

驱动

实例代码

5.4 使用PostgreSQL数据库

驱动

实例代码

5.5 使用beedb库进行ORM开发

安装

如何初始化

插入数据

更新数据

查询数据

删除数据

关联查询

Group By和Having

进一步的发展

5.6 NOSQL数据库操作

redis

MongoDB

5.7 总结

第6章 Session和数据存储

6.1 Session和Cookie

Cookie

Session

小结

6.2 Go语言如何使用Session

Session创建过程

Go语言实现Session管理

6.3 Session存储

6.4 预防Session劫持

Session劫持过程

Session劫持防范

6.5 总结

第7章 文本处理

7.1 XML处理

解析XML

输出XML

7.2 JSON处理

解析JSON

生成JSON

7.3 正则处理

通过正则判断是否匹配

通过正则获取内容

7.4 模板处理

什么是模板

Go语言模板使用

模板中如何插入数据

Must操作

嵌套模板

小结

7.5 文件操作

目录操作

文件操作

7.6 字符串处理

字符串操作

字符串转换

7.7 总结

第8章 Web服务

8.1 Socket编程

什么是Socket

Socket如何通信

Socket基础知识

TCP Socket

UDP Socket

小结

8.2 WebSocket

WebSocket原理

Go语言实现WebSocket

8.3 REST

什么是REST

RESTful的实现

小结

8.4 RPC

RPC工作原理

Go RPC

小结

8.5 总结

第9章 安全与加密

9.1 预防CSRF攻击

什么是CSRF

CSRF的原理

如何预防CSRF

总结

9.2 确保输入过滤

识别数据

过滤数据

区分过滤数据

小结

9.3 避免XSS攻击

什么是XSS

XSS的原理

如何预防XSS

小结

9.4 避免SQL注入

什么是SQL注入

SQL注入实例

如何预防SQL注入

小结

9.5 存储密码

普通方案

进阶方案

专家方案

总结

9.6 加密和解密数据

base64加解密

高级加解密

小结

9.7 总结

第10章 国际化和本地化

10.1 设置默认地区

什么是Locale

设置Locale

小结

10.2 本地化资源

本地化文本信息

本地化日期和时间

本地化货币值

本地化视图和资源

小结

10.3 国际化站点

管理多个本地包

自动加载本地包

template mapfunc

小结

10.4 总结

第11章 错误处理,调试和测试

11.1 错误处理

Error类型

自定义error

错误处理

小结

11.2 使用GDB调试

GDB调试简介

常用命令

调试过程

小结

11.3 Go语言怎么写测试用例

如何编写测试用例

如何编写压力测试

小结

11.4 总结

第12章 部署与维护

12.1 应用日志

seelog介绍

基于seelog的自定义日志处理

发生错误发送邮件

使用应用日志

小结

12.2 网站错误处理

错误处理的目标

如何处理错误

如何处理异常

小结

12.3 应用部署

daemon

Supervisord

小结

12.4 备份和恢复

应用备份

MySQL备份

MySQL恢复

redis备份

redis恢复

小结

12.5 总结

第13章 如何设计一个Web框架

13.1 项目规划

gopath以及项目设置

应用程序流程图

目录结构

框架设计

总结

13.2 自定义路由器设计

HTTP路由

默认的路由实现

beego框架路由实现

13.4 日志和配置设计

日志和配置的重要性

beego的日志设计

beego的配置设计

应用指南

13.5 实现博客的增删改

博客目录

博客路由

数据库结构

控制器

model层

view层

13.6 总结

第14章 扩展Web框架

14.1 静态文件支持

beego静态文件实现和设置

Bootstrap集成

14.2 Session支持

Session集成

Session使用

14.3 表单及验证支持

表单和验证

表单类型

表单验证

14.4 用户认证

HTTP Basic和HTTP Digest认证

oauth和oauth2的认证

自定义认证

14.5 多语言支持

i18n集成

多语言开发使用

14.6 pprof支持

beego支持pprof 使用入门

14.7 小结

附录A 参考资料

文件下载 资源名称:《Go Web编程》.pdf [155.2M]
下载地址

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: