当前位置: 首页 > news >正文

Go实战项目OneX介绍(2/12):项目功能列表介绍

OneX(https://github.com/onexstack/onex) 作为 云原生AI实战营(https://konglingfei.com) 的核心实战项目之一,包含了很多 Go 项目开发中的技术点。OneX 项目包含了绝大部分 Go 项目开发中使用到的技术实现。本文,就来详细介绍这些技术能力列表。

OneX 具备了 Go 开发中用到的绝大部分技术栈,包括以下 4 大功能模块:

  • 软件开发基础技术栈;
  • Go 开发技术栈;
  • 云原生技术栈;
  • 微服务技术栈;
  • Web3 技术栈。

OneX 功能列表

提示: 以下功能绝大部分会在 OneX 一期实现,其他功能会在二期/三期实现。

OneX 项目中使用到的工具列表

这里,我再将 OneX 项目中,用到的工具列举出来,通过这些工具侧面感受下 OneX 项目涉及到的内容。以下工具绝大部分在 OneX 项目中有被使用到,其他未被使用到的工具,这里也列出,以使你了解这些个工具的可能用途。

工具列表如下:

工具功能
Kubernetes 代码生成工具+ client-gen:生成用于与 Kubernetes API 服务器进行通信的客户端代码;
+ lister-gen:生成用于从 Kubernetes API 服务器读取对象列表的代码;
+ informer-gen:生成用于跟踪 Kubernetes API 服务器中对象变化的代码;
+ defaulter-gen:生成用于为 Kubernetes API 对象设置默认值的代码;
+ deepcopy-gen:生成用于创建 Kubernetes API 对象的深层副本的代码;
+ prerelease-lifecycle-gen:生成用于管理 Kubernetes API 对象的生命周期的代码;
+ conversion-gen:生成用于转换 Kubernetes API 对象的代码;
+ openapi-gen:生成用于验证 Kubernetes API 对象的 OpenAPI 模式的代码。
golangci-lint静态代码分析工具,支持多种语法检查规则
goimportsGo 官方提供的一种工具,它能够为我们自动格式化 Go 语言代码并对所有引入的包进行管理,包括自动增删依赖的包引用、将依赖包按字母序排序并分类
wire依赖注入框架,用于解决 Go 语言中依赖管理的问题
mockgenGo 语言的 Mock 测试工具
gsemver语义化版本控制工具,支持多种版本控制方式
git-chglog根据 Git 提交记录生成 CHANGELOG.md 文件的工具
addlicense自动为项目添加许可证文件的工具
kratosB 站开源的 Go 微服务框架
kindKubernetes in Docker 工具,用于在本地快速部署 Kubernetes 集群
go-apidiff检查 Go 项目不同版本之间的 API 兼容性
gotests自动生成 Go 代码的测试文件
cfsslTLS/SSL 证书管理工具
kustomizeKubernetes 配置管理工具,用于自定义 Kubernetes 配置文件
kafkactlKafka 集群管理工具
kube-linterKubernetes YAML 文件的静态分析工具
kubeconformKubernetes YAML 文件的验证工具
kubectlKubernetes 命令行工具
helm-docs自动生成 Helm Chart 文档的工具
db2struct将数据库表结构转换为 Go 语言结构体的工具
gentoolGORM Model 自动生成工具
airGo 应用程序的实时重新加载
swaggerRESTful API 文档生成工具
license为项目添加许可证文件的工具
gothanksgothanks 会自动为 Go 的官方存储库和您的 go.mod github 依赖项加 GitHub Star,提供一种简单的方式来感谢您使用的模块的维护者和 Go 本身的贡献者
kubebuilderKubernetes controller 开发框架
helmKubernetes 应用程序包管理工具
kafka高吞吐量分布式消息队列系统
controller-genKubernetes 控制器开发工具
go-junit-report将 Go 语言测试结果转换为 JUnit 格式的工具
buf用于在 Protobuf 文件之间执行 Lint、Build、Diff、Breaking Change 检测的工具
protoc-go-inject-tag为 Protobuf 生成的 Go 结构体添加 JSON 标签的工具
gomodifytags修改 Go 代码结构体字段的标签的工具
traefik反向代理和负载均衡工具
gotestsum一个用于改进 Go 语言测试输出的工具。它可以替代标准的 go test 命令,并以更易于阅读的格式输出测试结果
yqyq 用于在命令行中处理 YAML 文件。它可以用于查询、修改和转换 YAML 文件,提供了一种便捷的方式来处理 YAML 格式的配置文件和数据
minikubeMinikube 是一个用于在本地机器上快速搭建和运行单节点 Kubernetes 集群的工具。它可以帮助开发人员在本地环境中进行 Kubernetes 应用程序的开发、测试和调试
kustomizeKustomize 是 Kubernetes 官方提供的一个工具,用于管理和定制 Kubernetes 部署清单(manifests)
go-gitlint一个 Git 钩子(hook)工具,用于在 Git 提交时检查提交信息的格式和规范性
mockgenMockgen 是 Go 语言中的一个工具,用于自动生成接口的 Mock 实现
uplift自动生成语义化版本号的工具

如果想学习 OneX 项目,欢迎加入我的星球:

相关文章:

  • 力扣第 454 场周赛
  • Seata 全面深入学习指南
  • LeetCode 第75题:颜色分类
  • IDEA21中文乱码解决办法
  • Redis-CPP通用接口
  • 创始人IP如何崛起:系统化打造的实践路径 | 创客匠人
  • 【Git】代码托管服务
  • AC-MT
  • 项目文章 ▏组蛋白乳酸化驱动的B7-H3表达促进肿瘤免疫逃避
  • 绝对收敛 趋于 0 的速度足够快 | 条件收敛 --> 项趋于 0 正负项相互抵消
  • Photoshop图层蒙版全介绍
  • Eclise中Lombck配置
  • 电容篇---常见作用
  • 缓冲区技术
  • C++问题:纯虚函数和抽象类
  • VS202静态库制作和使用指南
  • 嵌入式学习笔记C语言阶段--17共用体和枚举
  • 生成对抗网络(GANs)入门介绍指南:让AI学会“创造“的魔法(一)
  • CMake实战:qmake转cmake神器 - pro2cmake.py
  • 【arXiv2024】时间序列|TimesFM-ICF:即插即用!时间序列预测新王者!吊打微调!
  • 建一个门户网站要多少钱/成都网站建设方案优化
  • 如何查询网站备案/什么是网络营销渠道
  • 免费flash网站模板/seo关键词排名优化要多少钱
  • 无锡做网站品牌公司/四川seo多少钱
  • 做甜品的网站/无锡seo网络推广
  • 美食网站的建设开题报告/神马推广