内容简介
《Go Web编程》是一本全面介绍Go语言在Web开发领域应用的实战教程。本书由资深Go语言开发者谢孟军撰写,旨在帮助读者从零基础掌握使用Go构建高性能Web应用的核心技术。
全书共分为三大部分:第一部分为基础篇,系统讲解Go语言的基本语法、并发编程模型以及标准库中的net/http包,让读者快速上手Go Web开发的基础设施;第二部分为进阶篇,深入探讨路由设计、中间件原理、模板引擎、数据库操作(如MySQL、MongoDB)、RESTful API设计、身份认证与授权等Web开发中的关键议题,并结合实际案例展示最佳实践;第三部分为实战篇,通过一个完整的博客系统开发项目,带领读者将前两部分所学知识融会贯通,从零搭建一个包含用户管理、文章发布、评论互动等功能的Web应用,并涵盖部署、测试与性能优化等生产环境必备技能。
本书注重理论与实践结合,每个知识点都配有可运行的代码示例,并针对常见陷阱和性能瓶颈给出优化建议。作为国内最早系统介绍Go Web开发的著作之一,该书自出版以来深受Go社区好评,适合有一定编程基础、希望转向Go语言或深入学习Web开发的读者阅读。
目录
自序
推荐序一
推荐序二
1.1 Go语言安装
1.2 GOPATH与工作空间
1.3 Go语言命令
1.4 Go语言开发工具
1.5 总结
第1章 Go语言环境配置
2.1 你好,Go
2.2 Go语言基础
2.3 流程和函数
2.4 struct类型
2.5 面向对象
2.6 interface
2.7 并发
2.8 总结
第2章 Go语言基础
3.1 Web工作方式
3.2 Go语言搭建一个Web服务器
3.3 Go语言如何使Web工作
3.4 Go语言的http包详解
3.5 总结
第3章 Web基础
4.1 处理表单的输入
4.2 验证表单的输入
4.3 预防跨站脚本
4.4 防止多次递交表单
4.5 处理文件上传
4.6 总结
第4章 表单
5.1 database/sql接口
5.2 使用MySQL数据库
5.3 使用SQLite数据库
5.4 使用PostgreSQL数据库
5.5 使用beedb库进行ORM开发
5.6 NOSQL数据库操作
5.7 总结
第5章 访问数据库
6.1 Session和Cookie
6.2 Go语言如何使用Session
6.3 Session存储
6.4 预防Session劫持
6.5 总结
第6章 Session和数据存储
7.1 XML处理
7.2 JSON处理
7.3 正则处理
7.4 模板处理
7.5 文件操作
7.6 字符串处理
7.7 总结
第7章 文本处理
8.1 Socket编程
8.2 WebSocket
8.3 REST
8.4 RPC
8.5 总结
第8章 Web服务
9.1 预防CSRF攻击
9.2 确保输入过滤
9.3 避免XSS攻击
9.4 避免SQL注入
9.5 存储密码
9.6 加密和解密数据
9.7 总结
第9章 安全与加密
10.1 设置默认地区
10.2 本地化资源
10.3 国际化站点
10.4 总结
第10章 国际化和本地化
11.1 错误处理
11.2 使用GDB调试
11.3 Go语言怎么写测试用例
11.4 总结
第11章 错误处理、调试和测试
12.1 应用日志
12.2 网站错误处理
12.3 应用部署
12.4 备份和恢复
12.5 总结
第12章 部署与维护
13.1 项目规划
13.2 自定义路由器设计
13.3 日志和配置设计
13.4 实现博客的增删改
13.5 总结
第13章 如何设计一个Web框架
14.1 静态文件支持
14.2 Session支持
14.3 表单及验证支持
14.4 用户认证
14.5 多语言支持
14.6 pprof支持
14.7 小结
第14章 扩展Web框架
附录A 参考资料
您当前的等级为
登录后免费下载登录
小黑屋反思中,不准下载!
评论后刷新页面下载评论
支付¥以后下载
请先登录
您今天的下载次数(次)用完了,请明天再来
支付积分以后下载立即支付
支付以后下载立即支付
您当前的用户组不允许下载升级会员
您已获得下载权限
您可以每天下载资源次,今日剩余次
⚠ 网盘链接如果失效了请尝试其他网盘,不再补链,因为补了也会再次失效。
免责申明:
1. 本站分享的所有书籍均来源于自互联网,部分书籍中可能有压制者放置的广告,这并不是本站所为,请注意甄别。
2. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
3. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
4. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
5. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。