跳至主要內容

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 生成项目文档?
25ID 生成:Go 项目如何生成全局唯一ID?
26设计模式:Go 常用设计模式精讲及实战
27基础功能(日志):如何设计一个易用、功能齐全的日志包?
28基础功能(错误):API 接口常见的错误返回方式有哪些?如何设计一个优雅的错误返回码?
29基础功能(错误实战):Kratos 框架 error 包源码解析及开发实战
30基础功能(版本):如何给应用添加易读、易用的版本信息,方便排查问题?
31应用构建(基础):应用构建三剑客 pflag、viper、cobra 核心功能介绍及开发实战
32应用构建(实战):如何构建一个优秀的企业应用框架?
33Web 应用(基础):开发 Web 应用的常见方法有哪些,以及如何开发一个 Web 应用?
34Web 应用(HTTP):教你掌握 HTTP 服务基础知识,并带你快速开发一个简单的 HTTP 服务
35Web 应用(Gin 框架)什么是 Gin 中间件,常用的 Gin 中间件有哪些,如何使用?
36Web 应用(GRPC):如何开发一个简单的 gRPC 服务?
37Web 应用(微服务):如何使用 kratos 框架开发一个简单的微服务?
38Web 应用(微服务):微服务如何添加中间件,增强服务功?
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缓存实战(基础):缓存基础知识扫盲
56Go 特性(前置学习,泛型):Go 语言泛型详解及实战
57Go 特性(前置学习,实战):泛型在 OneX 项目中的实战
58缓存实战(实战):如何开发一个缓存包
59缓存实战(OneX 实战):OneX 项目二级缓存实战
60应用功能(缓存、元数据):如何设计和开发一个缓存服务?
61核心功能(优雅关停):配置应用程序优雅关停策略,提高程序健壮性
62核心功能(参数校验):在大型企业级应用中,如何优雅的进行请求校验?
63核心功能(Protobuf插件):如何设计和开发一个 Protobuf插件?
64核心功能(事务):如何在简洁架构中优雅的实现事务处理?
65核心功能(分布式锁):有状态服务如何优雅的通过分布式锁,实现多副本容灾?
66依赖注入:什么是依赖注入,如何优雅的使用依赖注入提高开发效率?
67Go 特性(Embed):Embed 是什么,如何使用?
68国际化(理论):什么是国际化,以及如何优雅的实现国际化?
69国际化(实战):OneX 项目是如何实现国际化的?
70幂等设计(理论):为什么需要幂等调用,以及如何优雅的实现幂等调用?
71幂等设计(实战):OneX 项目是如何实现幂等调用的?
72Go 特性(多工作区):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 常用开发技巧有哪些?
96Go 项目开发专家实战课结课考试
97Go 语言高级开发工程师能力评估考试
98附录:Go 项目开发专家实战课附录
99未来会持续不断更新该课程(新增内容、更æ°之前的内容等)
贡献者: 孔令飞
Go 进阶星球 Go 进阶星球
undefined
Go 进阶星球
云原生AI星球云原生AI星球
undefined
云原生AI星球
加交流群加交流群
加好友拉进群
加交流群
PS:添加时请备注 入群
下载资料下载资料
扫码公众号,回复 资料
下载资料
关公众号关公众号
欢迎扫码关注我的公众号
关公众号