Outreachy 是一个项目,它为那些在 FOSS 项目中通常代表性不足的人组织为期三个月的 FOSS 项目有偿实习。

贡献期

我首先要做的是选择一个组织下的项目。在浏览了所有项目后,我选择了“扩展 Apache Airflow 的 REST API”,因为我对 REST API 有一个很好的了解,所以我认为更容易开始贡献。下一步是设置 Airflow 的开发环境,这要感谢 Breeze,这简直是小菜一碟。因为我以前从未向 FOSS 贡献过代码,所以这部分令人不知所措,但是有很多标记为“好的初学者问题”的问题,其中包含详细的描述,甚至还有一些包含代码片段,因此幸运的是,这把我引向了正确的方向。关于 Airflow 的这些方面以及来自社区的积极氛围是我选择坚持使用 Airflow 作为我的 Outreachy 项目的原因。

实习期

我的第一个 PR 之后是许多新的体验,其中之一是我在其中引入了一个 错误;)。 但尽管如此,它使我熟悉了反馈循环,以及我对后续 PR 的反馈,这是我经历的整体学习体验的重点,这增强了我贡献更多并走出舒适区的信心。 我想更多地了解 Airflow 背后发生的事情,所以我开始筛选最近处理不同组件的 PR,我会浏览代码更改以及有助于我更好地理解整个工作流程的讨论。 Airflow 的邮件列表也是一个很好的知识来源。

我从事的与 API 相关的 PR 帮助我了解了一些重要的概念,例如

  1. 池 CRUD 端点,其中池限制执行并行性。

  2. 任务确定必须执行的实际工作。

  3. DAG,它表示任务集合的结构。它跟踪任务、它们的依赖关系以及它们必须运行的顺序。

  4. Dag Runs,它是 DAG 在时间上的实例化。

通过积极和被动地参与讨论,我了解到,即使存在意见分歧,人们也可以始终从不同的方法中学习,而 这个 PR 有 300 多条评论就是证明。 我还开始审查小型 PR,这给了我与新人互动的美好机会。 在整个实习期间,我学到了很多关于不同框架和技术的知识,但对我来说最大的收获是,代码被阅读的次数比编写的次数多,我开始在编写代码时牢记这一点。

总结

所以,随着我扩展 Airflow 的 REST API 的项目以及 Outreachy 实习即将结束,我想感谢我的导师 Jarek PotiukKaxil NaikKamil Breguła 的耐心以及他们投入在指导我身上的时间,以及 Airflow 社区让我感到如此受欢迎。 我计划留下来并做出贡献,以回报社区,这个社区让我的夏天成为值得纪念的回忆。

分享

另请阅读

Airflow 峰会 2022

Jarek Potiuk

Airflow 峰会 2022 来了

Airflow 峰会 2021

Tomasz Urbaszek

我们对 Airflow 峰会 2021 感到兴奋!