Outreachy 是一个项目,它为那些在 FOSS 项目中通常代表性不足的人组织为期三个月的 FOSS 项目有偿实习。
贡献期
我首先要做的是选择一个组织下的项目。在浏览了所有项目后,我选择了“扩展 Apache Airflow 的 REST API”,因为我对 REST API 有一个很好的了解,所以我认为更容易开始贡献。下一步是设置 Airflow 的开发环境,这要感谢 Breeze,这简直是小菜一碟。因为我以前从未向 FOSS 贡献过代码,所以这部分令人不知所措,但是有很多标记为“好的初学者问题”的问题,其中包含详细的描述,甚至还有一些包含代码片段,因此幸运的是,这把我引向了正确的方向。关于 Airflow 的这些方面以及来自社区的积极氛围是我选择坚持使用 Airflow 作为我的 Outreachy 项目的原因。
实习期
我的第一个 PR 之后是许多新的体验,其中之一是我在其中引入了一个 错误;)。 但尽管如此,它使我熟悉了反馈循环,以及我对后续 PR 的反馈,这是我经历的整体学习体验的重点,这增强了我贡献更多并走出舒适区的信心。 我想更多地了解 Airflow 背后发生的事情,所以我开始筛选最近处理不同组件的 PR,我会浏览代码更改以及有助于我更好地理解整个工作流程的讨论。 Airflow 的邮件列表也是一个很好的知识来源。
我从事的与 API 相关的 PR 帮助我了解了一些重要的概念,例如
-
池 CRUD 端点,其中池限制执行并行性。
-
任务确定必须执行的实际工作。
-
DAG,它表示任务集合的结构。它跟踪任务、它们的依赖关系以及它们必须运行的顺序。
-
Dag Runs,它是 DAG 在时间上的实例化。
通过积极和被动地参与讨论,我了解到,即使存在意见分歧,人们也可以始终从不同的方法中学习,而 这个 PR 有 300 多条评论就是证明。 我还开始审查小型 PR,这给了我与新人互动的美好机会。 在整个实习期间,我学到了很多关于不同框架和技术的知识,但对我来说最大的收获是,代码被阅读的次数比编写的次数多,我开始在编写代码时牢记这一点。
总结
所以,随着我扩展 Airflow 的 REST API 的项目以及 Outreachy 实习即将结束,我想感谢我的导师 Jarek Potiuk、Kaxil Naik 和 Kamil Breguła 的耐心以及他们投入在指导我身上的时间,以及 Airflow 社区让我感到如此受欢迎。 我计划留下来并做出贡献,以回报社区,这个社区让我的夏天成为值得纪念的回忆。
分享