电子科大陈瑞杰:开源不是那么的遥不可及

file

个人介绍

大家好,我是来自西安电子科技大学计算机学院软件工程专业的陈瑞杰,本科就读中北大学,本科通过校赛加入ACM校队,参与ACM-ICPC、CCPC等算法比赛,获区域赛铜奖(CCPC铜首,差点银,比较可惜),以专业第三保研至西安电子科技大学,保研后在字节跳动实习了3个多月。

开源之路

本科的时候学习Java web的时候会用到Tomcat等这些带有Apache前缀的组件,当时好奇查了一下Apache基金会,是一个专门为支持开源项目而生的非盈利性组织,Apache基金会管理的项目各个都是全世界的大佬共同付出的结果,各个都是业界的标杆,关键是还免费提供给全世界人使用,当时自己也是一名计算机专业的学生,心想那天我也能成为这么一个人,不说开发出一个业界标杆,最起码参与贡献一个全世界人都使用的软件也可以。

研一的时候听实验室同学说上届学长参与了开源之夏这个比赛,据说都是对顶级开源社区贡献代码,我一听感觉非常高端大气上档次、非常牛逼,心想学长能中选,那我至少得尝试一下,因为第一次参与,所以能做的就是先把项目跑起来,然后尽可能得去看里面的源代码,尤其是跟自己课题相关的那部分源码,尽可能的去丰富自己的设计方案提高自己的中选率,当然如果有机会的话提前参与社区贡献那当然是再好不过了欢迎大家来Apache DolphinScheduler贡献代码

在我刚接触计算机行业,也就是大一的时候,我眼中的开源是遥不可及的,开源都是世界级的大佬才能参与的,当第一次合并了自己提的PR后,发现原来开源不是那么的遥不可及,它包容性很强的,社区的大佬们各个来自国内头部科技公司,但是他们不会吝啬自己的技术分享,你有问题,他们虽然可能因为工作的原因不能秒回你,但是有空了一定会给你解答。它也是充满技术氛围的,每个人都可以把自己遇到的问题和自己发现的Bug、想到的Feature、Refactor、Improvement等类似发帖子一样发出来,然后一定会有社区的人员去答复你,可能答复你的是社区的管理员如PMC、Committer,还有可能是一些持续贡献的社区的普通Contributor。

Apache DolphinScheduler社区体验

Apache DolphinScheduler社区也给我留下了活跃和友好的印象。我参与了社区在开源之夏的两个项目:master/worker/api模块日志优化和任务依赖模式重构。在日志优化项目中,我完成了我的第一个PR,优化了三个模块的日志输出。这个项目虽小,却让我学会了社区的协作流程和技术实践。社区的进勇老师、顺风老师和其他大佬都给予了我很多帮助。

在任务依赖模式重构中,我改进了依赖类型节点的逻辑,并更新了相关文档。这个项目让我对社区的核心模块有了更深入的理解,并修复了dev分支的两个bug,得到了社区大佬的认可。

我眼中的DS社区是包容性很强的,充满技术氛围,但凡你有想法,比如重大的重构或者提升,你都可以给社区发送邮件,如果是小Bug或者其他小的改动,你可以直接提issue,在Apache DolphinScheduler社区,你不用担心你解决不了,不要怕遇到什么问题,这里有非常多的大佬,在这里你可以大大提高自己的代码阅读水平、工程编码能力、工程设计能力,当然也可以认识很多的行业大佬,各行各业的精英,有些来自融资数亿美元初创公司(比如我的课题导师杰哥和强哥),有些来自国内头部互联网科技公司(比如我的课题导师枫哥),有些来自国内top高校(比如饶哥)。

我主要参与了两个大的课题,都是DSIP(比较重大的改造)。

“相关链接”

https://github.com/apache/dolphinscheduler/issues/10911

https://github.com/apache/dolphinscheduler/issues/14338

第一个是“为 DolphinScheduler Python API 添加 资源文件加载插件”。当时DolphinScheduler Python API 只能传递字符串格式传递任务 的参数,但通常来说,用户希望具体的执行 代码储存在其他系统中(希望更好维护和集成),例如将具体文件存储在本地文件系统、GitHub、GitLab、Amazon S3、阿里云 OSS 等。这个课题主要是实现 Resource 的插件化,具体的插件 Resource 包括本地文件系统,GitHub, GitLab, Amazon S3, 阿里云 OSS,还有文档的编写,包括开发(如何二开实现插件)和使用(每个 Resource 插件使用)。

第二个是“将数据源中心扩展成连接中心”。DolphinScheduler 有⼀个 Datasource Center 的组件,⽤于管理 sql 任务的外部连接,如 Mysql、Hive、Spark 等。但是不只是SQL任务,其他⼀些 DolphinScheduler 任务插件也需要 外部连接,⽐如AWS EMR任务、Zeppelin任务、K8S任务等。我们可 以丰富需要 Datasource Center 来管理连接的场景,尤其是那些具有凭据的外部系统并将其升级到连接中心。这个课题主要是实现将 Datasource Center 的名称更改为 Connection Center、重构部分AWS EMR、Zeppelin、K8S、Sagemaker 任务插件,方便用户在连接中心管理外部连接。

未来展望

希望Apache DolphinScheduler社区越来越活跃,用户越来越多~

希望通过持续贡献Apache DolphinScheduler,逐渐的承担一些重大、更具挑战的课题,成为Apache DolphinScheduler的核心开发人员!让全世界的工程师最好的工作流编排平台~

社区的支持

希望能够担当一些更具挑战性的课题,让自己能够对Apache DolphinScheduler认识更加深刻~

参与Apache DolphinScheduler 社区有非常多的参与贡献的方式,包括:

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689

非新手问题列表:https://github.com/apache/dolphinscheduler/issues? q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22

如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html

来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的。

本文由 白鲸开源科技 提供发布支持!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】LoRA: Low-Rank Adaptation of Large Language Models

code:GitHub - microsoft/LoRA: Code for loralib, an implementation of "LoRA: Low-Rank Adaptation of Large Language Models" 做法: 把预训练LLMs里面的参数权重给冻结;向transformer架构中的每一层,注入可训练的…

IDEA中显示方法、类注释信息

目录 一、IDEA测试版本及环境二、操作步骤2.1 鼠标悬停在某一个方法上,从而显示方法的注释信息2.2 调用方法时同步显示方法注释信息2.3 在new一个对象时,这个对象有很多重载的构造方法,想要重载的构造函数都显示出来 一、IDEA测试版本及环境 …

2019年第八届数学建模国际赛小美赛B题数据中心冷出风口的设计解题全过程文档及程序

2019年第八届数学建模国际赛小美赛 B题 数据中心冷出风口的设计 原题再现: 这是数据中心空调设计面临的一个问题。在一些数据中心,计算机机柜是开放的,在一个房间里排列成三到四排。冷却后的空气通过主管进入房间,并分为三到四个…

聚观早报 |iOS17.3引入设备被盗保护;iPhone16或调整设计

【聚观365】12月14日消息 iOS17.3引入设备被盗保护 iPhone16或调整设计 马斯克星链网络使用量飙升 华为鸿蒙智行App正式上线 特斯拉人形机器人Optimus二代上线 iOS17.3引入设备被盗保护 苹果向iPhone用户推送了iOS17.3开发者预览版Beta更新,本次更新距离上次发…

【贝叶斯分析】计算机科学专业博士作业二

1 第一题 1.1 题目 已知变量A和B的取值只能为0或1,A⫫𝑩,且𝑝(𝐴1)0.65,𝑝(𝐵1)0.77。C的取值与A和B有关,具体关系如下图所表: ABP(C1|A,B)000.1010.99100…

Android其他组件(单选框)

一、单选框(RadioGroup) 单选框(RadioGroup)需要配合单选按钮(RadioButton)使用,同一个单选框中的单选按钮只能被选中一个,默认是一个都不选中。 RadioGroup的常见属性&#xff08…

[Linformer]论文实现:Linformer: Self-Attention with Linear Complexity

文章目录 一、完整代码二、论文解读2.1 介绍2.2 Self-Attention is Low Rank2.3 模型架构2.4 结果 三、整体总结 论文:Linformer: Self-Attention with Linear Complexity 作者:Sinong Wang, Belinda Z. Li, Madian Khabsa, Han Fang, Hao Ma 时间&#…

修复录制异常终止导致的 MP4 文件损坏(moov atom not found)

如果录制视频时异常退出&#xff08;蓝屏死机、程序崩溃等&#xff09;&#xff0c;会导致录制的 MP4 文件损坏无法打开。 在这里简单记录一下解决方法。 1 首先尝试用 ffmpeg。运行 ffmpeg -i <损坏文件> -c copy <输出路径>看看能不能正常运行。 如果不能&am…

【Linux】信号--信号初识/信号的产生方式/信号的保存

文章目录 一、信号初步理解1.生活角度的信号2.技术应用角度的信号 二、信号的产生方式1.通过终端按键产生信号2.调用系统函数向进程发信号3.硬件异常产生信号4.由软件条件产生信号5.进程退出时的核心转储问题 三、信号的保存1.信号其他相关常见概念2.信号在内核中的表示3.sigse…

vue实现滑动验证

效果图&#xff1a; 源码地址&#xff1a;github文档地址&#xff1a; https://github.com/monoplasty/vue-monoplasty-slide-verify 使用步骤&#xff1a;1&#xff0c;安装插件&#xff1a; npm install --save vue-monoplasty-slide-verify 在main.js中使用一下&#xff…

HTML---初识CSS

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.CSS概念 CSS是层叠样式表&#xff08;Cascading Style Sheets&#xff09;的缩写。它是一种用于描述HTML文档外观样式的标记语言。通过CSS&#xff0c;开发者可以在不改变HTML标记结构的情况…

尚硅谷Docker笔记-高级篇

1.Docker复杂安装 1.1安装mysql主从复制搭建步骤 1.新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master \ -v /mydata/mysql-master/log:/var/log/mysql \ -v /mydata/mysql-master/data:/var/lib/mysql \ -v /mydata/mysql-master/conf:/etc/mysql \ -…

运筹学经典问题(六):设施选址问题

问题描述 设施选址问题&#xff08;Facility Location Problem, FLP&#xff09;也成选址-分配问题&#xff0c;是企业面临的一类重要问题&#xff1a;在哪里建造设施&#xff1f;建造多少&#xff1f;以及将哪些客户分配给哪些设施去服务&#xff1f; 以物流业的航空站点选…

华为云sp2服务器系统根分区扩容后重启失败解决

lvm根分区扩容 概念&#xff1a; PV&#xff08;物理卷&#xff1a;Physical Volumes&#xff09; VG&#xff08;物理卷组&#xff1a;Volume Group&#xff09; LV&#xff08;逻辑卷&#xff1a;Logical Volumes&#xff09; R系 V10服务器&#xff1a; 显示当前Logic…

实验5:NAT配置

1.实验目的&#xff1a; 了解NAT的基本概念和功能 掌握NAT的配置方法和命令 观察和分析NAT的工作原理和流程 2.实验内容&#xff1a; 在路由器上配置静态NAT&#xff0c;实现内网主机通过公网IP地址访问外网服务器在路由器上配置动态NAT&#xff0c;实现内网主机通过公网I…

华为配置本地端口镜像示例(1:1)

图1 配置本地端口镜像组网图 组网需求 如图1所示&#xff0c;某公司行政部通过Switch与外部Internet通信&#xff0c;监控设备Server与Switch直连。 现在希望通过Server对行政部访问Internet的流量进行监控 配置思路 在Switch进行如下配置&#xff0c;实现Server对所有行政…

RHEL8_Linux下载ansible

本章内容主要介绍RHEL8中如何安装ansible ansible时如何工作的在RHEL8中安装ansible 1.ansible工作原理 如果管理的服务器很多&#xff0c;如几十台甚至几百台&#xff0c;那么就需要一个自动化管理工具了&#xff0c;ansible就是这样的一种自动化管理工具。 1&…

智能优化算法应用:基于黏菌算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于黏菌算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于黏菌算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.黏菌算法4.实验参数设定5.算法结果6.参考文献7.MA…

黑马点评03一人一单

实战篇-07.优惠券秒杀-实现一人一单功能_哔哩哔哩_bilibili 1.之前的问题 虽然解决了超卖问题&#xff0c;但是无法保证一人只能买一张&#xff0c;容易发生黄牛行为。 2.解决方案 2.1订单查询&#xff1a;判断该用户是否已下单 在库存判断之前&#xff0c;判断用户id和优惠…

Mac中nvm切换node版本失败

Mac中使用 nvm 管理 node 版本&#xff0c;在使用指令&#xff1a;nvm use XXX 切换版本之后。 关闭终端&#xff0c;再次打开&#xff0c;输入 node -v 还是得到之前的 node 版本。 原因&#xff1a; 在这里这个 default 中有个 node 的版本号&#xff0c;使用 nvm use 时&a…