Go 项目开发专家级实战课
约 2200 字大约 7 分钟
Go 项目开发专家级实战课
课程目录如下:
序号 | 标题 |
---|---|
01 | 实战项目背景:通过 OneX 项目设计背景及方式,洞察课程设计思路,提高课程学习效率 |
02 | 实战项目介绍:OneX,一个功能全、扩展强、代码质量高、源自一线大厂的企业级 GO+云原生实战项目 |
03 | 实战项目介绍:通过 OneX 功能列表,感受 OneX 项目的价值 |
04 | 项目部署(1):如何快速准备一个易用的 Go 开发环境? |
05 | 项目部署(2):如何使用 Docker 快速部署 OneX 项目? |
06 | 项目部署(3):通过测试,了解 OneX 项目的使用方式和功能 |
07 | 项目部署(4):手把手教你部署 OneX 实战项目,通过动手实践,高效学习企业应用部署技能 |
08 | 二次开发实操:如何对 OneX 项目进行代码修改,并编译、部署、测试? |
09 | 排障指南:OneX 项目部署排障指南 |
10 | 规范先行:好的项目,从制定并遵守规范开始 |
11 | 开发流程(1):Go 项目开发中,研发流程是什么样的? |
12 | 开发流程(2):Go 项目开发中,代码提交的工作流如何设计? |
13 | 开发流程(3):了解 OneX 项目开发流程,参与 OneX 项目的开发,提高你的学习效率 |
14 | 版本发布(上):如何发布版本? |
15 | 版本发布(中):如何自动生成语义化的版本号和 CHANGELOG? |
16 | 版本发布(下):如何自动生成 CHANGELOG ? |
17 | 项目设计:如何开发一个易扩展、易维护的 Go 项目? |
18 | 编程范式(上):命令式编程范式介绍与实战 |
19 | 编程范式(下):声明式编程范式介绍与实战 |
20 | 项目设计:如何给大型项目设计一个易维护、易扩展的目录结构? |
21 | 架构设计(理论):Go 项目中如何优雅的设计简洁架构,以及如何实现? |
22 | 架构设计(实战):学习 zero-fakeserver 组件,掌握企业应用开发中如何设计、开发简洁架构 |
23 | 项目文档:常见的 API 文档编写方式有哪些,如何优雅的编写项目的 API 文档? |
24 | 项目文档:如何使用 vitepress 生成项目文档? |
25 | ID 生成:Go 项目如何生成全局唯一ID? |
26 | 设计模式:Go 常用设计模式精讲及实战 |
27 | 基础功能(日志):如何设计一个易用、功能齐全的日志包? |
28 | 基础功能(错误):API 接口常见的错误返回方式有哪些?如何设计一个优雅的错误返回码? |
29 | 基础功能(错误实战):Kratos 框架 error 包源码解析及开发实战 |
30 | 基础功能(版本):如何给应用添加易读、易用的版本信息,方便排查问题? |
31 | 应用构建(基础):应用构建三剑客 pflag、viper、cobra 核心功能介绍及开发实战 |
32 | 应用构建(实战):如何构建一个优秀的企业应用框架? |
33 | Web 应用(基础):开发 Web 应用的常见方法有哪些,以及如何开发一个 Web 应用? |
34 | Web 应用(HTTP):教你掌握 HTTP 服务基础知识,并带你快速开发一个简单的 HTTP 服务 |
35 | Web 应用(Gin 框架)什么是 Gin 中间件,常用的 Gin 中间件有哪些,如何使用? |
36 | Web 应用(GRPC):如何开发一个简单的 gRPC 服务? |
37 | Web 应用(微服务):如何使用 kratos 框架开发一个简单的微服务? |
38 | Web 应用(微服务):微服务如何添加中间件,增强服务功? |
39 | 核心功能(限流):限流策略有哪些,如何实现一个限流中间件? |
40 | 应用安全(HTTPS):应用程序应该如何使用 HTTPS 协议通信,确保通信安全? |
41 | 应用安全:如何制作 CA 证书? |
42 | 应用安全(理论):应用程序认证功能如何设计、实现? |
43 | 应用安全(实战):OneX 项目认证功能开发实战 |
44 | 应用功能(Web 应用):如何实现一个优秀的 Web 服务? |
45 | 应用功能(认证授权):如何设计和实现一个认证和授权服务器? |
46 | 应用功能(接入层):如何设计并实现一个统一接入层? |
47 | 核心功能(有限状态机):Go 语言如何实现有限状态机? |
48 | 应用功能(分布式作业):如何设计和实现一个异步任务处理服务? |
49 | 应用功能(资源限流):如何设计和实现分布式资源限流服务? |
50 | 应用功能(ETL):如何实现一个 ETL 数据抽取服务 |
51 | 应用功能(代码检查):如何实现一个静态代码检查工具 |
52 | 应用功能(命令行):如何实现一个优秀的命令行工具? |
53 | 应用功能(SDK):OneX 如何对外提供 SDK 访问能力? |
54 | 应用功能(代码生成):如何开发一个代码生成工具? |
55 | 缓存实战(基础):缓存基础知识扫盲 |
56 | Go 特性(前置学习,泛型):Go 语言泛型详解及实战 |
57 | Go 特性(前置学习,实战):泛型在 OneX 项目中的实战 |
58 | 缓存实战(实战):如何开发一个缓存包 |
59 | 缓存实战(OneX 实战):OneX 项目二级缓存实战 |
60 | 应用功能(缓存、元数据):如何设计和开发一个缓存服务? |
61 | 核心功能(优雅关停):配置应用程序优雅关停策略,提高程序健壮性 |
62 | 核心功能(参数校验):在大型企业级应用中,如何优雅的进行请求校验? |
63 | 核心功能(Protobuf插件):如何设计和开发一个 Protobuf插件? |
64 | 核心功能(事务):如何在简洁架构中优雅的实现事务处理? |
65 | 核心功能(分布式锁):有状态服务如何优雅的通过分布式锁,实现多副本容灾? |
66 | 依赖注入:什么是依赖注入,如何优雅的使用依赖注入提高开发效率? |
67 | Go 特性(Embed):Embed 是什么,如何使用? |
68 | 国际化(理论):什么是国际化,以及如何优雅的实现国际化? |
69 | 国际化(实战):OneX 项目是如何实现国际化的? |
70 | 幂等设计(理论):为什么需要幂等调用,以及如何优雅的实现幂等调用? |
71 | 幂等设计(实战):OneX 项目是如何实现幂等调用的? |
72 | Go 特性(多工作区):Go 工作区模式介绍,以及如何使用多模块工作区 |
73 | 中间件(MySQL,上):一文讲全 GORM 操作 |
74 | 中间件(MySQL,ä):如何使用 GORM 操作 MySQL 数据库? |
75 | 中间件(Redis):Redis 操作实战及 OneX 项目操作实战 |
76 | 中间件(Etcd):Etcd 操作实战及 OneX 项目操作实战 |
77 | 中间件(MongoDB):MongoDB 操作实战及 OneX 项目操作实 |
78 | 中间件(Kafka):Kafka 操作实战及 OneX 项目操作实战 |
79 | 客户端 SDK:如何优雅的开发一个 HTTP/RPC Client SDK? |
80 | 项目测试(上):Go 代码测试种类有哪些,如何编写测试用例? |
81 | 项目测试(中):如何进行代码性能分析,提升代码性能的手段有哪些? |
82 | 项目测试(下):如何测试、分析并优化 API 接口性能? |
83 | 项目管理(1):代码静态检查最佳实践及 OneX 项目实践 |
84 | 项目管理(2):如何通过 Makefie 来高效管理你的项目? |
85 | 项目管理(3):OneX 项目中,还有哪些项目管理方式值得我们去学习? |
86 | 项目管理(4):OneX 项目中核心脚本介绍 |
87 | 项目管理ï5):如何使用 Githooks 进行提交拦截? |
88 | 项目管理(6):如何生成项目文档? |
89 | 项目管理:如何高效生成 GORM Model |
90 | 应用部署:应用软件 Systemd 部署方式介绍及实战 |
91 | 代码设计:如何开发一个易扩展、可复用的Go包? |
92 | 代码设计:如何设计和开发一个易扩展的项目? |
93 | 代码设计:Go项目开发中,如何合理的共享Go包? |
94 | 鸟瞰 Go 语言:Go 语言生态圈介绍 |
95 | 开发技巧:Go 常用开发技巧有哪些? |
96 | Go 项目开发专家实战课结课考试 |
97 | Go 语言高级开发工程师能力评估考试 |
98 | 附录:Go 项目开发专家实战课附录 |
99 | 未来会持续不断更新该课程(新增内容、更æ°之前的内容等) |