Go Web 编程
基于 Golang 进行 Web 编程,包含 Web 服务器、路由、请求、响应、视图、数据库交互、Web 服务、测试、部署等模块。
快速入门
路由分发
- HTTP 请求处理的底层机制
- 路由映射和请求分发的底层实现及自定义路由器
- 基于 gorilla/mux 包实现路由定义和请求分发:基本使用
- 基于 gorilla/mux 包实现路由定义和请求分发:进阶使用
- 基于 gorilla/mux 包实现路由定义和请求分发:路由中间件
- 基于 gorilla/mux 包实现路由定义和请求分发:处理静态资源响应
- 基于 gorilla/mux 包实现路由定义和请求分发:服务 SPA 应用
- 基于 gorilla/mux 包实现路由定义和请求分发:基于 CORS 处理跨域请求
- 基于 gorilla/mux 包实现路由定义和请求分发:健康检查与接口测试
- 仿照 Laravel 框架对 Go 路由处理器代码进行拆分
请求处理
- 通过 Request 读取 HTTP 请求报文
- 获取用户请求数据(上):查询字符串、表单请求和 JSON 请求
- 获取用户请求数据(下):文件上传处理
- 通过 ResponseWriter 接口对象设置 HTTP 响应
- 在 Go 语言中设置、读取和删除 HTTP Cookie
- 基于 gorilla/sessions 包在 Go 语言中管理 Session
视图模板
Tips:目前 Web 开发的主流是前后端分离,前端通过 JavaScript 框架编写,后端通过 API 接口提供数据服务,所以有关视图模板这块了解即可,主要精力可以放到 API 接口开发上。
注:视图模板部分代码示例引用自《Go Web Programming》这本书。
错误处理
数据存储
数据库操作
并发编程
- Go 并发编程基础
- 常见的并发模式实现(一):调度后台处理任务的作业程序
- 常见的并发模式实现(二):通过缓冲通道实现共享资源池
- 常见的并发模式实现(三):通过无缓冲通道创建协程池
- 基于 Go 协程实现图片马赛克应用(上):同步版本
- 基于 Go 协程实现图片马赛克应用(下):并发版本
安全技术
Web 服务
- SOAP+XML
- REST+JSON
- RPC
测试系列
- 单元测试
- HTTP测试
- 基准测试
- 依赖注入与模拟
- 第三方测试包
入门项目:在线论坛
- 构建在线论坛项目(一):整体设计与数据模型
- 构建在线论坛项目(二):模型类与 MySQL 数据库交互
- 构建在线论坛项目(三):访问论坛首页
- 构建在线论坛项目(四):用户认证实现(基于 Cookie + Session)
- 构建在线论坛项目(五):创建群组和主题
- 构建在线论坛项目(六):日志与错误处理
- 构建在线论坛项目(七):通过单例获取全局配置
- 构建在线论坛项目(八):消息、视图和日期时间本地化
- 构建在线论坛项目(九):部署 Go Web 应用
- 增补篇:通过 Viper 读取配置并实现热加载
声明:本项目基于 Go Web Programming 一书中的 chitchat 做的二次开发,在原项目基础上将数据库调整为 MySQL、路由器调整为了 gorilla/mux、调整了整体目录结构、新增了配置文件单例模式获取、本地化编程以及应用部署流程。完整项目代码已提交到 Github 仓库:https://github.com/nonfu/chitchat。
应用部署
- 部署到服务器
- 云计算
- 部署到Docker
开发框架
Gin
Beego
实战项目
公众号&社群
该系列文章会同步到以下微信公众号:
订阅服务
如果你觉得这个系列教程对你学习有帮助,可以选择升级为学院君订阅用户对学院君进行支持:
2 条评论
学院君,剩下的部分什么时候更新啊
正在更新中