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编程》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Python游戏趣味编程 电子书
1.易于学习和理解:先讲解较少的语法知识,通过游戏案例逐步引入新的语法知识; 2.为初学者量身打造:案例从易到难,所有程序的代码均不超过100行; 3.趣味性强:12个案例,涵盖了多种游戏类型,寓教于乐; 4.可拓展性强:提供练习题和参考答案,巩固知识,训练逻辑思维; 5.配套素材齐全:提供完整源代码和分步骤源代码、游戏素材、游戏效果演示视频,可通过异步社区观看游戏开发步骤讲解视频; 6.全彩印刷。 美国教育家杜威曾说过:“大多数的人,只觉得五官能接触的、实用的东西才有趣味,书本上的趣味是没有的。” 《Python游戏趣味编程》通过介绍12个由易到难的有趣游戏案例的编写过程,带领读者学习用Python开发趣味游戏,从而提升读者对编程的兴趣和能力。 《Python游戏趣味编程》把趣味游戏开发应用于Python编程教学,通过介绍12个由易到难的有趣游戏案例的编写过程,带领读者从零基础开始学习。全书共13章,系统讲解了Python语言基本概念、开发环境搭建、循环、列表、数据类型、条件、复合运算符、字符串拼接、布尔变量、数组、函数、列表操作、面向对象编程等基础知识,还介绍了图片操作、文件读写、声音播放、异常处理等较为实用的编程技能,所有这些知识和技能,都通过游戏案例展示其用法。贯穿各章,还给出了一些练习,帮助读者巩固所学的知识。附录A给出了这些练习题的答案,附录B给出了Python语法知识在书中相关章节的索引。 《Python游戏趣味编程》适合不同年龄、不同层次的Python编程初学者阅读和自学,也可以作为中学生、大学生学习程序设计的教材和少儿编程培训机构的参考教材。 本书适合以下人群阅读: 想要让孩子学习Python编程的家长,或者想要自己教孩子编程的家长。 学习过其他编程语言,想要快速学习Python的人。 对计算机游戏感兴趣,想要尝试Python游戏编程的人。 想要学习Python编程的中学生和大学生。 少儿编程培训机构的老师和学生。 任何对计算机编程感兴趣、特别是初次接触编程的人。 本书中制作和讲解的小游戏 弹跳的小球 美丽的圆圈画 疯狂的小圆圈 飞翔的小鸟 见缝插针 飞机大战 勇闯地下一百层 贪吃蛇 拼图游戏 消灭星星 坚持一百秒 趣味图像生成
趣味掌控板编程 电子书
本书适合5~8年级编程初学者自学,也适合中小学和校外培训机构的信息技术教师、创客教师教学使用。
Python气象应用编程 电子书
本书介绍了Python在气象数据处理与可视化方面的应用,以真实数据为基础进行气象数据整理和可视化。
R语言编程基础 电子书
《R语言学习手册》:7章全面介绍R语言及Rattle工具,附课后习题。
Python趣味创意编程 电子书
本书基于Python编程,实现了15个有趣的互动场景,循序渐进地向读者展示了这些场景的实现过程,帮助读者掌握Python编程。