从开源小白到新晋 committer:主动尝试,心无旁骛,收获满满!

news2025/1/12 22:52:21

又一位清华同学加入!

2024 年 6 月 12 日,经 Apache IoTDB 社区投票,杨蔡胤成为 Apache IoTDB committer。之前从未参加过开源社区贡献的他,为什么选择了 IoTDB,又为什么能够坚持到现在,有什么样的收获与成长呢?

c39c43bb8882deff2f79b0def9777b66.jpeg

杨蔡胤

我叫杨蔡胤,是清华大学软件学院研一的学生。我是从 2022 年的 10 月开始加入社区参与贡献的。

关于 Apache IoTDB

最开始你是怎么了解到 Apache IoTDB 这个项目的?

我属于对工程和系统方向比较感兴趣的人,保研的时候也是在了解相关的机会。这个过程中我从学院的学长处听说了 Apache IoTDB。我也是第一次知道国内有这样一个高校主导的 Apache Top-Level 项目,在国内、国际上都有非常可观的成就,所以一下对这个项目产生了浓厚的兴趣,继而想要去了解我能不能参与到这个项目中。

是什么让你最终选择参与到 Apache IoTDB 这个项目中?

在和 IoTDB 的一些学长交流后,我来到组里实习,在实习的过程中,我遇到了团队中非常优秀也非常热心的学长一直在帮助我,让我感到非常温暖。成功的开源贡献和对大型项目抽丝剥茧带来的成就感也给了我很强的正反馈,我自己非常喜欢这个沉浸的过程,就很自然地选择留下了。

在 Apache IoTDB 中主要负责哪一部分的内容?

我在 IoTDB 中主要负责查询引擎的开发和优化,包括 SQL 的功能拓展,查询规则优化和查询分析工具等功能的开发。

在参与 IoTDB 项目建设的过程中,有哪些收获?

在参与 IoTDB 社区之前,我自己维护的都是一些小型或者偏个人的项目。当接触到 IoTDB 这种大型且有实际客户的落地项目后,我开始能够以一种更加全面、全局化的视角看待数据库系统设计,并以更加注重细节的心态进行实现。我能够明显感受到自己身上,系统工程师所需的基本素养在不断提升。

除此之外,在参与社区的过程中,也认识了很多优秀的同学们,无论是项目上还是项目外,我都从他们的身上学习到了很多。

有什么参与贡献过程中的故事分享?

前段时间我参与了活跃元数据查询功能的开发,这个功能涵盖面比较广,同时涉及查询,元数据和存储等等多个模块。有很多模块是我不太了解的,当时为了搞清楚这些,光是设计就花了一个月,在和学长的不断交流中才最终确定设计方案。之后的代码开发也是花了近一个月,过程其实有点挣扎和痛苦,但完成之后自己对 IoTDB 的整个架构和流程都有了更全面的认识,真的是一种疲惫又充实的感觉。也很感谢这个过程中社区伙伴们的解答,没有他们这个过程耗时可能要再翻一番 hhh

是什么让你能一直坚持参与 Apache IoTDB 项目,最终成为 Committer 呢?

还是因为喜欢吧。我喜欢写代码的过程,看到在我手里一个功能模块的设计逐步变成现实,这本身就是特别大的成就感。随着项目功能不断丰富,我也很开心能够看到自己的代码能够伴随着一个项目成长。当然,社区里有趣的伙伴们也是我持续交流贡献的动力之一。

关于开源社区

之前有过参与开源社区的经验吗?对开源/开源社区有什么新的认识吗?

之前没有参加过。我之前一直认为开源是一个很难上手的过程,因为能够贡献代码往往意味着你要能够理解它内部的执行逻辑。不过实际参与之后,我明白了开源本质上也是一种知识共享,通过公开资料你其实可以快速了解一个项目,社区之间的交流也可以帮助你做好模块拆分,减小你工作的复杂度和摩擦力。一句话总结吧,当时觉得无法到达可能是因为根本没有出发

你觉得开源社区对 Apache IoTDB 的“加成”是?

我有时会在 Issue 列表看到一些相关功能的建议或者 Bug。这些往往是我在设计开发过程所遗漏掉的,这些 Issue 帮我提前避免了很多问题。我认为开源社区的一个有意思的地方就是会有各种各样来自世界各地的用户和开发者集思广益、发表看法,而大家参与社区都是为一个共同目的——完善 IoTDB 让它更好

有没有给想要参与 Apache IoTDB 开源社区贡献的小伙伴一点小建议?

主动尝试吧!其实实际参与项目的机会不少,多关注 Issue 列表、多交流,总有人会积极的回应你,并从你的看法中有所收获。真心希望每个编程爱好者都可以将自己的热情付出给一个自己所热爱的、值得的项目

成为 Committer 的感言!

成为 Committer 意味着社区和大家对我工作的认可,我很高兴。希望将来我能够继续精进自己,去做更多有意思的设计,帮助 IoTDB 越来越好。也欢迎对数据库感兴趣的各位加入到社区中来!

77e409e2b33d8490027515064ccc5152.gif

cabb3a8506b83c6f783f7eb0887ea86c.jpeg

9bcdfb6dd90c4d12afcdc90fdcbfc908.jpeg

46637381049063047f0c6351850be7ae.jpeg

02f3bb40d4f8a8f382ef706a9fffb54e.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1895920.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NASA——quarius(水瓶座) L3 网格化 1 度年土壤湿度,第 5 版

Aquarius L3 Gridded 1-Degree Annual Soil Moisture V005 水瓶座 L3 网格化 1 度年土壤湿度,第 5 版 简介 该数据集包含美国国家航空航天局(NASA)科学应用卫星(SAC-D)上的宝瓶座被动微波辐射计得出的第 3 级网格化…

【Axure高保真原型】中继器表格——移入显示详情卡片案例

今天和大家分享中继器表格——移入显示详情卡片的原型模板,鼠标移入员工号或姓名会弹出员工卡片,可以查看更详细的信息。这个表格是用中继器制作的,所以使用也很方便,只需要维护中继器表格里的信息,即可自动生成交互效…

数据结构之二叉树概念

数据结构之二叉树 二叉树简介分类普通二叉树平衡二叉树满二叉树二叉搜索树(二叉排序树、二叉查找树),平衡二叉树红黑树 B树类型B树(B-树、B_树)B树B*树 二叉树 简介 二叉树(Binary Tree) :是一种非常重要…

SQL MINUS 运算符:查找数据集之间的差异

在 SQL 中,MINUS 运算符在查询中起着至关重要的作用,它允许开发人员识别和检索存在于一个数据集中但不存在于另一个数据集中的记录。本文探讨了 SQL 中 MINUS 运算符的功能、用法和实际应用,强调了它在数据分析和操作任务中的重要性。 理解 …

2G 3G 4G常用知识点

名词解释 LTE网络、WCDMA网络、2G、3G 4G 区别及联系? 2G (第二代移动通信技术) 2G是最早的数字移动电话标准,主要支持语音通话和短信服务。代表性技术有GSM (Global System for Mobile Communications) 和CDMA (Code Division Multiple Access)。 3G (第三代移动…

location匹配和rewrite重定向

目录 location 匹配 location匹配的分类和优先级 优先级细分 实际网站中的使用规则 1.用精确匹配来实现网站的首页 访问网站的首页 ( /) 2.用正则匹配来实现静态请求的页面和图片 匹配静态页面 访问图片或者指定的后缀名 3.用一般匹配转发.php…

鸿蒙HarmonyOS深度探索课程

在这门课程中,我们将深入探索鸿蒙HarmonyOS平台的Java UI布局技术,结合新浪新闻、直聘App和华为商城等三个经典案例,从布局设计到实现细节,从交互体验到用户界面优化,逐步解析其UI布局的全面技术与设计思路。通过本课程…

Python | Leetcode Python题解之第216题组合总和III

题目&#xff1a; 题解&#xff1a; class Solution:def combinationSum3(self, k: int, n: int) -> List[List[int]]:"""回溯法&#xff0c;对于当前k和n, 枚举元素"""def backtracking(k: int, n: int, ans: List[int]):if k 0 or n <…

【python数据处理】— “2020-01-01 05:20:15“日期格式数据

文章目录 一、数据说明及目标二、实现方式1.提取date2.提取hour3.提取weekday4.提取month 一、数据说明及目标 数据说明 数据表有一列名为"datetime"表示时间数据&#xff0c;该列的数据格式是"2020-01-01 05:20:15"。 import pandas as pd datapd.read_e…

2.2.1 ROS2案例以及案例分析

1.案例需求 需求1&#xff1a;编写话题通信实现&#xff0c;发布方以某个频率发布一段文本&#xff0c;订阅方订阅消息&#xff0c;并输出在终端。 需求2&#xff1a;编写话题通信实现&#xff0c;发布方以某个频率发布自定义接口消息&#xff0c;订阅方订阅消息&#xff0c;并…

Java | Leetcode Java题解之第213题打家劫舍II

题目&#xff1a; 题解&#xff1a; class Solution {public int rob(int[] nums) {int length nums.length;if (length 1) {return nums[0];} else if (length 2) {return Math.max(nums[0], nums[1]);}return Math.max(robRange(nums, 0, length - 2), robRange(nums, 1,…

7/4 第六周 数据库的组合查询

今天开始确定需要报考系统架构师&#xff0c;后续早上就看架构师的书&#xff0c;等完成python的课程之后再去全力投入架构师。后续看视频的速度就需要快一些&#xff0c;不能理解就先跳过。特别是前端的一些内容就只看视频暂时不练习了。

自然语言处理学习(3)RNN 模型学习---NLP领域的第一个模型

一 基本定义 视频链接 1.小案例理解–语义理解 目的&#xff1a;输入一句话&#xff0c;机器需要理解这句话的语义 二. RNN模型分类 1. 按照输入输出分类 (1) N Vs N (2) N Vs 1 (3) 1 VsN (4) seq2seq 三 传统RNN模型 1. 内部结构分析 &#xff08;a) 总体外…

数据库第07讲章节测验期末复习题

一. 单选题 1【单选题】下面对于关系的叙述中,不正确的是_______。 A、关系中的每个属性是不可分解的B、在关系中元组的顺序是无关紧要的C、任意的一个二维表都是一个关系D、每一个关系只有一种记录类型 正确答案&#xff1a;C 2【单选题】关系模型的完整性约束不包括&#…

Ollama + Docker + AnythingLLM 搭建本地多用户AI知识库

整个过程需要准备三个工具&#xff1a; Ollama&#xff1a; 用于运行本地大模型的管理&#xff1a;llama3, qwen2等 Docker&#xff1a;用于运行AnythingLLM。 AnythingLLM&#xff1a;知识库运行平台&#xff0c;提供知识库构建及运行的功能。 Ollama, Docker 这二个安装不…

vue3 引入百度地图的三种方式

本次也是正好写了一个基于VUE3和百度地图的设计&#xff0c;但奈何第一次使用百度地图&#xff0c;在学习的途中遇到了很多问题&#xff0c;也发现网上的材料相对较少&#xff0c;因此做出了一些小总结&#xff0c;后续还会更新。 一、直接引入 直接在public中的index.html中进…

2024 年第十四届 APMCM 亚太地区大学生数学建模 B题 洪水灾害的数据分析与预测--完整思路代码分享(仅供学习)

洪水是暴雨、急剧融冰化雪、风暴潮等自然因素引起的江河湖泊水量迅速增加&#xff0c;或者水位迅猛上涨的一种自然现象&#xff0c;是自然灾害。洪水又称大水&#xff0c;是河流、海洋、湖泊等水体上涨超过一定水位&#xff0c;威胁有关地区的安全&#xff0c;甚至造成灾害的水…

学习笔记——动态路由——OSPF工作原理(SPF算法)

3、SPF算法 SPF算法(最短路径优先算法&#xff0c;也称Dijkstra算法)由荷兰科学家狄克斯特拉于1959年提出的。 SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离&#xff0c;每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图&#xff0c;该…

算法金 | 我最常用的两个数据可视化软件,强烈推荐

大侠幸会&#xff0c;在下全网同名「算法金」 0 基础转 AI 上岸&#xff0c;多个算法赛 Top 「日更万日&#xff0c;让更多人享受智能乐趣」 抱个拳&#xff0c;送个礼 预警&#xff1a;今天文章的描述可能会让你有点别扭&#xff1b;如感到不适&#xff0c;请及时停止 在我行…

JVM原理(十六):JVM虚拟机类型擦除与泛型发展

1. 泛型 泛型的本质是参数化类型或者参数化多态的应用&#xff0c;即可以将操作的数据类型指定为方法签名中的一种特殊参数&#xff0c;这种参数类型能够用在类、接口和方法的创建中&#xff0c;分别构成泛型类、泛型接口和泛型方法。 泛型让程序员能够以针对泛化的数据类型编…