GoWeb编程

GoWeb编程

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书介绍如何使用Go语言编写Web。

内容简介

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

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

作者简介

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

章节目录

版权信息

内容简介

自序

缘起

Go Web

致谢

推荐序一

推荐序二

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

日志和配置的重要性

beego的日志设计

beego的配置设计

应用指南

13.4 实现博客的增删改

博客目录

博客路由

数据库结构

控制器

model层

view层

13.5 总结

第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 参考资料

GoWeb编程是2013年由电子工业出版社出版,作者谢孟军。

得书感谢您对《GoWeb编程》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Go语言高级编程 电子书
Go语言进阶实战,CGO编程web编程书。
Python趣味创意编程 电子书
本书基于Python编程,实现了15个有趣的互动场景,循序渐进地向读者展示了这些场景的实现过程,帮助读者掌握Python编程。
Python快速编程入门 电子书
Python是一种面向对象、解释性的高*程序语言,它已经被应用在众多领域,包括Web开发、操作系统管理、服务器运维的自动化脚本、科学计算、桌面软件、服务器软件(网络软件)、游戏等方面。本书以Windows为平台,系统全面地讲解了Python3的基础知识,其中,第1章主要是带领读者认识Python;第2章主要针对Python的基础语法进行讲解;第3章主要介绍Python中的常用语句;第4~5章主要介
JavaScript高效图形编程 电子书
《JavaScript高效图形编程》是一本具有很强实操性的JavaScript图书,全书共分10章,涵盖的主要内容有:JavaScript的面向对象机制、JavaScript性能优化、jQuery和ExtJS库、高级UI设计、Web游戏开发、面向移动设备的开发、图形编程知识等。《JavaScript高效图形编程》适合有一定Web开发经验和JavaScript基础的开发人员学习。
Java编程动手学 电子书
本书共12章,首先介绍Java语言的基本情况;然后介绍如何在Windows、Linux和macOS三种操作系统中安装Java和集成开发环境以及JShell交互式编程;接着讲解Java的一些常见概念和数据类型以及Java的八大类运算符、各种表达式和语句;之后介绍类和对象这两个核心概念,数组与集合的概念和使用,Java常用工具类,以及Java的异常处理、注解以及泛型机制;最后讲解Java的文件与I/O