- 课程目录
- 课程介绍
-
在线阅读:开篇词|为什么我们要从零开发框架?
Web 开发框架太多怎么快速上手?
-
01|net/http:使用标准库搭建Server并不是那么简单
如何快速掌握一个代码库?
-
02|Context:请求控制器,让每个请求都在掌控之中
怎么实现框架的 Context ?
-
03|路由:如何让请求更快寻找到目标函数?
规则条数不是评价路由好坏的标准,设计感才是。
-
04|中间件:如何提高框架的可拓展性?
在架构层面,中间件机制就相当于在每个请求的横切面统一注入了一个逻辑。
-
05|封装:如何让你的框架更好用?
框架中每个函数的参数、返回值、命名,都代表着我们作为作者在某个事情上的思考。
-
06|重启:如何进行优雅关闭?
从shutdown函数的实现原理看Golang源码优雅之处。
-
07|目标:站在巨人肩膀,你的理想框架到底长什么样?
评价一个框架的五项标准
-
08|自研or借力(上):集成Gin替换已有核心
细节和生态是Gin如此成功核心原因。
-
09|自研or借力(下):集成Gin替换已有核心
复制源码替换Gin?
-
加餐|国庆特别放送:什么是业务架构,什么是基础架构?
架构师做什么?怎么做架构师?
-
加餐|阶段答疑:这些代码里的小知识点你都知道吗?
读源码,思维导图怎么画?
-
10|面向接口编程(上):一切皆服务,服务基于协议
什么是面向过程/对象/接口编程?
-
11|面向接口编程(下):一切皆服务,服务基于协议
实现框架主体的服务容器逻辑。
-
12|结构:如何系统设计框架的整体目录?
目录结构如何贯彻面向接口的思想?
-
13|交互:可以执行命令行的框架才是好框架
把框架改造成命令行工具,加速开发效率。
-
14|定时任务:如何让框架支持分布式定时脚本?
如果要开发一个定时命令,能不能做到在业务中增加一行代码就行了?
-
15|配置和环境(上):配置服务中的设计思路
在容器化流行的架构设计中,框架需要支持使用环境变量来区别不同的环境和配置。
-
16|配置和环境(下):配置服务中的设计思路
如何为框架增加配置服务?
-
17|日志:如何设计多输出的日志服务?
一切皆服务,类似积木拼接?
-
18|一体化:前端和后端一定要项目分开吗?
你的框架支持前后端一体化吗?
-
19|提效(上):实现调试模式加速开发效率
如何用Golang的反向代理实现调试模式?
-
20|提效(下):实现调试模式加速开发效率
前端、后端、前后端同调,调试模式的具体实现细节。
-
21|自动化(上):DRY,如何自动化一切重复性劳动?
自动化命令行工具的套路是?
-
22|自动化(下):DRY,如何自动化一切重复性劳动?
自动化初始化脚手架的命令设计
-
23|管理接口:如何集成swagger自动生成文件?
如何把swagger融合进入hade框架?
-
24|管理进程:如何设计完善的运行命令?
app 一级命令和四个二级命令启动/停止/重启/查询 app 服务的实现
-
25|GORM(上):数据库的使用必不可少
Gorm 源码解读
-
26|GORM(下):数据库的使用必不可少
如何把Gorm完美集成到hade框架,更好地支持业务对数据库频繁的增删改查操作?
-
27|缓存服务:如何基于Redis实现封装?
一个服务的接口设计,就是一个“我们想要什么服务”的思考过程。
-
28|SSH:如何生成发布系统让框架发布自动化?
如何实现将代码自动化部署到Web服务器的机制?
-
29|周边:框架发布和维护也是重要的一环
为框架的升级和维护设计了一套完整的方案
-
大咖助阵|大明:抽象,抽象,还是抽象
谁是我们的朋友,谁是我们的敌人,是革命的首要问题
-
大咖助阵|飞雪无情:十年面试经验忠告,不要被框架所束缚
框架是减少重复代码、提升开发效率的工具,我们可以通过它打开学习框架的大门,但是永远不要被它所束缚。
-
30|设计先于实战:需求设计和框架搭建
实战部分,我们真正使用hade框架来开发一个类知乎的问答网站。
-
31|通用模块(上):用户模块开发
“协议优于实现”,一个业务,最重要的是定义好、说明清楚协议,然后才是实现。
-
32|通用模块(下):用户模块开发
服务模块的协议设计不一定能一次性抽象好,从需求出发,遇到新的需求,不断迭代你的设计就可以。
-
33|业务开发(上):问答业务开发
开发问答业务服务
-
34|业务开发(下):问答业务开发
恭喜你完成了一个自己的Web框架的搭建和使用
-
结束语|在语言的上升期投入最大热情,是最正确的投资
感谢能一起经历这段Golang的Web之旅
-
期末测试|来赴一场满分之约!
特别给你准备了一套结课测试题,快来挑战一下吧!
课程介绍
你将获得 洞悉 Web 框架底层设计原理 攻克框架开发 6 大核心概念 4 站通关 Go Web 框架项目开发 深度剖析 Gin 框架,提升业务效能 讲师介绍 课程介绍 因此,就有很多实际的问题摆在了我们面前:...你将获得
- 洞悉 Web 框架底层设计原理
- 攻克框架开发 6 大核心概念
- 4 站通关 Go Web 框架项目开发
- 深度剖析 Gin 框架,提升业务效能
讲师介绍
课程介绍
因此,就有很多实际的问题摆在了我们面前:
- 市面上众多框架如何迅速上手?如何选择?
- 业务快速迭代时,框架如何迅速拓展?
- 想要自研一款称手的 Web 框架,如何设计?
全方位提升开发效能成为突破瓶颈的最佳解决方案。叶剑峰根据自己的十余年一线 Web 后端研发经验,梳理了一套系统的 Web 框架搭建方法论。他将使用 Go 语言,从标准库开始,逐步演进,手把手带你研发一个工业级的 Go Web 框架,以基本概念与核心理论为指导,实战演练总结底层框架的设计技巧。

课程模块设计
整个专栏分为实战四关,你会从零开始,收获一个自己的工业级 Go Web 框架。
实战第一关:分析 Web 框架的本质,从最底层的 Go 的 HTTP 库讲起,如何基于 HTTP 库搭建 server、如何搭建路由、如何增加中间件等等,从而搭建出一个 Web 框架最核心的设计部分。
实战第二关:框架核心搭建好后,基于具体业务场景重新思考,要设计的框架目标到底是什么? 框架的设计感和要解决的问题在哪里? 框架的倾向性是什么? 如果要搭建出一个“一切皆服务”的框架,应该如何设计。
思考清楚后,我们会用 Gin 框架集成实战第一关自研的 Web 框架的核心,力求站在巨人的肩膀上看世界,然后一步步实现框架核心的功能服务。
实战第三关:为这个框架增加不同的周边功能,在添加功能时,会首先讨论目前社区中的标准做法,以及有没有更好的设计,最终把这些标准做法融合到我们的框架中。
实战第四关:现在框架已经基本搭建完成了,我们会用这个框架应用开发一个问答后台,使用 vue-element-admin 来做前端封面,再结合框架开发具体的统计展示和计算业务。
课程目录

适合人群
有一些Go语言开发经验,以及有Web开发经验或Web框架使用经验的开发者

