什么是 StarRocks 源码实验室?
阅读源码是开发者深入了解一个项目的好方法,不仅可以更好地理解程序的逻辑和实现方式,对于调试和修改代码也非常有帮助。对于想要加入 StarRocks 社区贡献的小伙伴来说,这是必要的学习之一,因为了解 StarRocks 内部运作机制有助于快速上手并参与到开发工作中。
为此,StarRocks 社区推出了 StarRocks 源码实验室,结合理论和实践,帮助大家将所学知识应用到实际任务中。大家在完成学习后,可以直接到 GitHub 认领任务,不出 30 分钟的时间,你也可以成为 StarRocks Contributor!
函数作为实现某些功能运算和完成各种特定操作的重要手段之一,丰富的函数可以帮助用户减少重复编写程序的工作量和提高程序编译和运行效率。函数贡献不仅非常的新手友好 (因为不需要花大量的时间学习 StarRocks 复杂的内核机制),又可以造福广大的社区用户,让大家都能更简单地使用 StarRocks!
开始动手实验
⚠️ 在你动手开始实验前请谨守实验室规则,否则可能有操作不通过的风险!
第一步:到 https://github.com/StarRocks/starrocks/issues/13300 选取任务。
第二步:请在 issue #13300 评论区 @kateshaowanjou 预订问题,评论可以参考下面 🌰:
Hi @kateshaowanjou, Could you please assign xxx to me? thx!
第三步:上一步完成后你需要再到你选中的函数 issue 里留下任意评论,这样我们才可以把此 issue assign 给你。
第四步:当你被 assign 了任务之后,在实际开发之前,务必与社区讨论设计、输入/输出、参数、函数名称等,这样可以确保你的函数符合社区规范。
加入讨论的方式:你可以在 GitHub issue 下评论区做讨论或是加入函数开发的微信群 (入群方式见下方)
第五步:提交 PR (贡献流程注意事项请见:https://docs.starrocks.io/en-us/main/developers/How_to_Contribute)
第六步:继续挑战 or 填写问卷兑换奖品 :https://tl-tx.dustess.com/Um5wF7XKdX
⚠️ 特别注意:
- 在 PR 提交前一个人只能被 assign 一个任务,PR 提交完成 后(不需要合并通过)可以再预定新的函数任务
- 如果在开发过程中遇到了问题,请随时向社区寻求帮助。欢迎扫码加小助手后回复“函数”,我们会拉你进函数开发群
- 一个函数任务的期限是一个月。如果您很忙无法完成认领的任务请告诉我们,我们可以把任务重新分配给其他人。否则我们将自动在 1 个月后重新分配任务给其他小伙伴。
- 积分会每两周公布在 StarRocks 论坛,最终积分将在 6/7 前公布,大家没事多来看看自己的排名吧!(链接:https://forum.mirrorship.cn/t/topic/6235)
🎁 积分规则 & 奖品兑换
任务难度分为低、中、高三级,可以分别获得 10、20 和 30 积分。一个低难度的函数任务可以获得 10 积分,如果不再继续挑战你将可以获得一个 StarRocks 鼠标垫;如果你继续累积积分到 40 分的话还可以获得一件 StarRocks T 恤。另外,初次贡献和前三名的小伙伴们还有特别的奖品哦!
奖品 | 兑换积分 |
StarRocks 鼠标垫 | 10 |
StarRocks T 恤 | 40 |
🏆 特别奖:
- 如你是第一次的贡献者,只要函数合并进仓库还可以获得 StarRocks 贡献者徽章
- 积分最高的前三名还可额外获得 StarRocks 豪华充电宝 & 纯银纪念徽章一枚
- 函数贡献最多的小伙伴,还 有机会获得 StarRocks 2023 年的年度贡献者——函数 Master 奖项哦!
如果你对以上活动还存在疑问,那不妨
4 月 6 号(四)晚上 19:00-20:00 关注StarRocks 直播间,StarRocks 源码实验室第一期我们将为大家揭秘 StarRocks 内置函数的工作原理,在观看直播前你也可以提前阅读这篇文章,了解 StarRocks 两类常见函数的实现原理:技术内幕|StarRocks 标量函数与聚合函数