通义灵码是基于通义大模型的智能编码助手,为开发者提供编码辅助,辅助写代码、读代码,辅助写单元测试、辅助程序员识别开源代码中的问题并提供优化建议,帮助广大开发者更快贡献和参与 OceanBase 开源项目,为项目寻找并提交有效 PR(Pull Request),助力开源项目发展,实现人人都是开源开发者。
在参赛过程中,你只需运用通义灵码的代码优化、代码解释等智能编码和问答功能,针对实际的开源项目提出并实施改进方案,提交真实的 PR(Pull Request),解决开源项目中亟待解决的实际问题 即可。
参赛小贴士
为了鼓励大家参与开源贡献我们提供了两种方式参与项目:
1、主动发现与优化 Issue
利用通义灵码的代码解释、代码优化等功能辅助参赛者了解开源项目,利用通义灵码代码补全等功能辅助大家快速参与开源项目贡献;
2、解决项目方指定 Issue
大家可根据 OceanBase 开源社区提供的指定的 issue,利用通义灵码代码补全、代码解释、代码优化等功能辅助参赛者优化 issue,并提交 pr;
重要日期
● 报名启动:即日起
● 提案截止:8月20日
● 比赛周期:6月12日 - 8月22日
● 结果公布:9月4日
赛题说明
赛题一:OceanBase 内核(oblogminer 优化)
对obcdc 4.3.1 输出信息重新打标,当前 oblogminer 无法判断obcdc 输出的结果是否可信,因此对于所有可能不正确的SQL 标记 /* POTENTIALLY INACCURATE */
。在obcdc 4.3.1 版本支持标记输出的列值是否可信。因此oblogminer 可以将obcdc 标记可信的列值正常输出,无需标记/* POTENTIALLY INACCURATE */
。如果对更多细节有疑问,可参考详细参考 https://github.com/oceanbase/oceanbase/issues/2017
目标
- 使用通义灵码解读现有oblogminer代码实现
- 对obcdc 4.3.1 输出信息重新打标,在obcdc 4.3.1 版本支持标记输出的列值是否可信
难度 :中等
参赛对象
- 有一定经验的开发者
- 有 OceanBase 数据库以及 obcdc 经验者
产出要求
- 仔细阅读 OceanBase 代码贡献指引,参考:https://oceanbase.github.io/oceanbase/build-and-run/
- 测试代码:参考现有的代码里边的测试代码和方法实现测试代码
- 文档编写:需要编写优化代码的设计文档以及更新对应oblogminer 文档
能力要求
- 扎实的编程基础
- 文档编写能力:能够站在开发者和使用者的角度,清晰详细的说明模块设计和使用
- 开源项目协作能力:具有开源项目协作经验、熟悉代码审查、提交 Pull Request 和处理社区反馈。
赛题二:ODC(OceanBase 开发者中心)
OceanBase 开发者中心(以下简称 ODC)是开源的全场景数据库开发和数据管理协同工具,通过协同开发解决数据库的变更风险管控、数据管理和数据安全问题。开源代码地址:https://github.com/oceanbase/odc
目标:
- 使用通义灵码解读现有odc代码实现
- 给现有的odc新增功能
- 支持odc在k8s上的部署
难度:中等
参赛对象
- 有一定经验的开发者
- 有数据库使用经验
产出要求
- 仔细阅读odc代码贡献指引, 参考:https://github.com/oceanbase/odc/blob/main/docs/zh-CN/CONTRIBUTION.md
- 测试代码:参考现有的代码里边的测试代码和方法实现测试代码
- 文档编写:需要编写新增功能文档
能力要求
- 扎实的编程基础
- 文档编写能力:能够站在开发者和使用者的角度,清晰详细的说明模块设计和使用
- 开源项目协作能力:具有开源项目协作经验、熟悉代码审查、提交 Pull Request 和处理社区反馈。
赛题三:obdiag: OceanBase 敏捷诊断工具
OceanBase Diagnostic Tool (obdiag) 是一款专门OceanBase打造的敏捷诊断工具,功能包括一键诊断信息收集、一键诊断分析、一键集群巡检、一键根因分析。代码仓库:https://github.com/oceanbase/obdiag obdiag 使用插件化开发方式,上手极其简单,即使你是代码小白也可以轻松实现场景的添加。
目标:
- 使用通义灵码解读现有obdiag代码实现
- 仿照现有的场景通过编写yaml,新增一键信息收集的场景,参考:https://github.com/oceanbase/obdiag/tree/master/handler/gather/tasks
- 仿照根因分析的代码逻辑,新增一键根因分析的场景,参考:https://github.com/oceanbase/obdiag/tree/master/handler/rca/scene
- 仿照一键巡检的场景通过编写yaml,新增一键巡检的场景,参考:https://github.com/oceanbase/obdiag/tree/master/handler/checker/tasks
- 仿照一键诊断分析的代码逻辑,新增诊断分析的功能:https://github.com/oceanbase/obdiag/tree/master/handler/analyzer
- 为obdiag现有模块新增测试代码,参考:https://github.com/oceanbase/obdiag/tree/master/test
难度:简单
参赛对象
- 有OceanBase数据库使用经验
产出要求
- 仔细阅读obdiag社区代码贡献指引,参考:https://oceanbase.yuque.com/org-wiki-obtech-vh7w9r/imzr6c/kzbseddse1914lmr
- 测试代码:参考现有的代码里边的测试代码和方法实现新的测试代码
- 文档编写:需要新增功能的说明文档,参考:https://www.oceanbase.com/docs/obdiag-cn
能力要求
- 文档编写能力:能够站在开发者和使用者的角度,清晰详细的说明模块设计和使用
- 开源项目协作能力:具有开源项目协作经验、熟悉代码审查、提交 Pull Request 和处理社区反馈。
赛事亮点
● 创意无界:不论你是编程新手还是资深大牛,这里是你展示创意、实现技术突破的舞台。
● AI 支持:全程引入通义灵码智能编码助手,它将成为你最强大的结伴参赛队友。从代码生成、测试优化到问题诊断,全方位辅助参赛者,让开发过程更加高效流畅。
● 社区互动: OceanBase 社区的强大网络,让你在比赛中结识志同道合的伙伴,与行业专家直接交流,收获宝贵的反馈与指导。
● 丰厚奖励:我们准备了丰富的奖品,提交有效参赛方案的团队,有机会获得便携茶杯套装 /小米体脂秤 /小熊眼镜清洗机 等随机精美礼品一份!优质方案更有机会赢取开源先锋奖(五千元奖金) 和开源园丁奖(大赛限量版纪念T恤) 。
欢迎有兴趣的小伙伴或直接点进以上链接参与 、或有疑问在帖子下方留言 、或像本 OB小白菜一样围观技术友们交锋 撒~