Go 实战训练营全新升级

大厂、独角兽企业都在高薪聘请 Go 开发工程师

中级 Go 工程师任职要求
熟练掌握 Go 语言及 Echo、Gin、Beego 等常见的开发框架,能够进行 Go 语言相关逻辑的深层优化;
熟练掌握面向网络的编程,掌握 TCP/IP 协议,对 Socket/WebSocket 通信和 HTTP/HTTPS 协议有深刻理解;
掌握 Linux 系统及原理,有 Shell 脚本编写能力,有较强的 Linux 下 TroubleShooting 能力;
熟悉常用开源系统和中间件 RabbitMQ、RocketMQ、Kafka 等,熟悉容器技术 Docker,容器编排如 Kubernetes 等相关技术;
熟练掌握 Redis 等 NoSQL 技术,精通 MySQL 的开发设计和调优;
熟悉 RPC 框架、负载均衡等分布式技术,具备一定的系统架构设计能力。

Go 语言,连续三年蝉联开发者最想学语言榜首

  • 《开发人员想要学习的第一语言》排行榜

    01
  • Go 是云时代首选编程语言

    02

想转行 Go 工程师的人,总面临这些问题

  • Go 基础语法虽好学,但缺乏实战经验,无法应用到实际工作

  • 缺乏企业实际应用场景,不知道如何发挥 Go 的核心优势

  • 对于框架和中间件,不知道核心原理,会用不会写

  • 代码质量差,设计品味低,需要了解更多开源代码实例

  • 自学有困难,缺乏系统的学习体系和高效的学习方法

实战派讲师直播演示代码,手把手带你掌握 Go

邓明前 Shopee 高级工程师、Beego PMC

  • 邓明(大明),前 Shopee 高级工程师,热爱开源。大明在互联网业务研发方面经验丰富,尤其擅长企业级应用所使用到的各种中间件,包括 Web 框架、ORM 框架、分库分表框架、微服务框架等。
  • 大明同时具备业务开发和中间件研发经验。他既可以站在业务研发者的角度解读框架,让技术真正落地,又可以站在设计者的角度讲述设计原理,带你领悟设计和实现一个框架的要点、难点。
  • 大明还一直是开源的活跃贡献者,是 Beego 的 PMC 以及 Apache Dubbo Committer。长期站在一线“造轮子”的他,文档编写、接口设计和代码落地能力都十分出色。
  • 此外,大明长期担任毛剑老师 Go 进阶训练营领教,有丰富的教学答疑经验,授课能力深受学员好评,他对学员学习的痛难点有深刻理解,能够有针对性地设计课程内容和实践练习。
  • 作为一线面试官,大明深谙面试要求,对于面试要点、语言组织、引导话题等都有独到见解。

根据大厂能力模型构建课程体系,聚焦项目实战能力

直击开源框架及中间件,摸透底层核心原理

讲师直播带你实操,以实战串讲,内化所学知识

  • 主题一:并发等待队列实现
  • 主题二:SSO/OAuth2 系统设计
  • 主题三:增强 ORM 框架
  • 主题四:全链路压测

课程大纲

录播部分
直播部分
模块一 模块二 模块三 模块四 模块五 模块六 模块七 模块八
模块一:Web 框架
教学目标

掌握 Web 框架的基本原理

掌握如何设计并且实现一棵前缀路由树,支持通配符匹配,路径参数

掌握 HTTP Server 和 Context 的设计,并且提供丰富 API

掌握 HTTP 中 Session 的设计和实现

掌握 Web 框架中 AOP 的解决方案

设计并实现简单的静态资源服务器

学习和工作中的痛点

用过很多 Web 框架,但是并不了解 Web 框架的原理,并不知道怎么注册路由,怎么执行路由匹配

面试的时候无法清晰阐述前缀路由树的原理,在实际开发中,不知道如何快速定位 404 之类的错误

不知道如何设计统一的 Session 抽象,支持 Session 运行在本地内存或者 Redis 上

无法灵活运用 Web 框架提供的 AOP 方案解决登录校验、鉴权、日志、tracing、logging 等问题

实践练习

设计一个 HTTP Server,该 HTTP Server 将会基于前缀路由树支持路由通配符匹配、路径参数、正则匹配

为 HTTP Server 添加静态资源支持(CSS、JS 等),并且提供缓存和内存控制功能

为 HTTP Server 添加 Session 功能

为 HTTP Server 添加模板引擎功能,并提供基于 Go 模板的默认实现

为 HTTP Server 设计 AOP 方案

利用该 HTTP Server 实现简单的用户 API,支持注册、登录等

利用该 HTTP Server 的 AOP 方案解决登录校验、日志、tracing 和 metric 问题

利用该 HTTP Server 的 Session 功能,维护登录态

详细内容

第一周

Web 框架概览与核心设计:Server、Context 和路由树

核心接口设计:Server 抽象和 Context 抽象

开源实例:Gin、Beego 中的 Server 和 Context 抽象

进阶语法:HTTP 包

代码演示:Web 框架与 HTTP 包的结合点

设计并实现前缀路由树:

开源实例:HttpRouter、Gin、Beego、Echo 和 Iris 中的路由树设计

前缀路由树的原理

前缀路由树设计

代码演示:实现前缀路由树,支持通配符匹配和路径参数

作业:支持正则匹配

面试要点

第二周

支持 AOP 方案:

责任链模式、洋葱模式、拦截器详解

开源实例:

Gin 中 Handler 的设计与实现Beego 中 Filter 的设计与实现Kratos 中 Middleware 的设计与实现

代码演示:为 Web 框架提供 AOP 支持,并且支持

access log(访问日志)tracingmetricrecovery:从 panic 中恢复过来错误处理:支持返回特定错误页面或者重定向等

面试要点

第三周

文件上传与下载

开源实例:Gin、Beego、Iris 和 Echo 中的文件上传和下载功能

代码演示:实现文件上传和下载功能

进阶语法:文件操作

页面渲染

模板引擎设计

进阶语法:Template 编程

代码演示:在 Web 框架中支持页面渲染

Option 设计模式

代码演示:使用泛型设计通用的 Option 模式

静态资源支持

开源实例:Gin、Beego、Iris 和 Echo 中的静态资源支持

代码演示:设计并实现一个可配置、可扩展的静态资源处理器

缓存静态资源控制缓存消耗大文件的解决方案

支持 Session:

开源实例:Beego 中的 Session 模块、Gin 的 Session 扩展

代码演示:Session API 设计与实现

基于内存的实现基于 Redis 的实现

面试要点

4 大实战项目,深入业务需求,帮你提升实操力

案例一案例二案例三案例四
由浅入深手写 Web 框架实现用户注册登录

设计并实现一个 Web 框架

设计并实现前缀路由树,支持通配符匹配、路径参数匹配和正则匹配

设计并实现 AOP 方案,提供 logging、tracing、metric、panic 恢复和错误页面支持

设计并实现一个静态资源服务器,利用缓存加速并且控制住缓存内存使用量

提供文件上传下载功能,提供页面渲染功能

压测、分析、优化性能(CPU 和内存分配)

设计并实现 Session

基于前两者,实现简单的用户注册、登录服务,并且利用 AOP 接口做用户级的限流

测、学、练、荐全方位学习服务,让你学会并学有所成

icon

学前充分预习

开课前先预习
顺利跟上课程节奏

办理入学

添加班主任
1v1 服务

学前预习

提前预习
夯实基础

icon

三师闭环教学

讲师直播+录播教学
教、练、评有闭环

直播 + 录播授课

每周 6 小时录播教材
+ 3 小时直播实操

学习文档

提供完整技术需求
文档和测试用例

助教答疑

大厂助教老师
群内答疑

作业批改

作业都有
Code Review

icon

学习提效服务

学习活动 + 学习工具
全方位提高效率

期末项目

检测自己的
学习成果

学习督促

班班全程跟进
克服惰性

社群联结

与各领域程序员
共同进步

icon

毕业增值服务

不做一锤子买卖
毕业仍享优质服务

毕业证书

展示
学习成果

企业内推

毕业后一年两次
免费内推

适合人群

工作经验在 1-3 年的初级 Go 开发工程师
从事其他语言,想转行做 Go 开发工程师
对中间件和开源框架不太熟悉的 Go 开发工程师
想系统提升技术水平的 Go 开发工程师

12 道工序精心打磨,致力于交付高质量课程

我们的承诺,请你监督

  • 课程理念

    拒绝照本宣科,坚持问题驱动

  • 服务理念

    拒绝流于形式,坚持用户至上

  • 研发理念

    拒绝闭门造车,坚持与用户交互

  • 营销理念

    拒绝虚假宣传,坚持口碑传播

  • 售后理念

    拒绝一锤子买卖,坚持不满意全额退款

VIP 学习资料免费领取

帮助与常见问题
Q:参加 Go 进阶训练营,需要具备什么基础?

需要掌握至少一门后端编程语言,有后端开发经验。

Q:学完课程后能到什么水平?

能达到字节 2-1 的水平。

Q:是否有详细的课程表?

有的哦,可以通过“领取优惠”,添加学习顾问进行详细了解。

展示更多