openEuler社区邓一诺:实践是探索和提升的最佳捷径

描述

人物专栏

今年的开源之夏项目开发已经结束,结项成果审核进行中,预祝大家顺利结项。

开源之夏人物专访专栏以及项目经验分享专栏仍在进行中,专栏将持续为大家带来开源之夏参与者的系列分享。

本期专访是来自 openEuler 社区的邓一诺同学,本届开源之夏承担的项目是【openEuler 支持 OpenStack-helm】  

开源

开源

学生介绍

自我简介

从计算机到开源

我是邓一诺,现就读于浙江大学,研究方向是边缘计算与云原生;本科就读于北京邮电大学自动化专业。


我第一次接触计算机领域大致是在小学三年级前后,当时机缘巧合之下得到了一本 Windows 批处理教程。这也是我第一次写出程序(如果批处理算程序算的话)。另一个标志性事件是在初三那年得到了一台服务器,为了利用这台服务器,我开始大量学习计算机网络和虚拟化有关的知识。到了高三,我成功运行起来了自己的全球 BGP 网络 AS137410。当下,我的研究方向主要集中在 Kubernetes 容器调度算法上。

第一次听到“开源”的说法大致也是在初三那年(2015年)前后。那时候我开始学习 Linux 运维,自然而然地接触到了开源社区和 GitHub。我的 GitHub 账号也是在那时候注册的。后来高中时,我写过一些简单的小脚本放在了 GitHub 上。这便是我参与开源的开始。   我一向认为,所谓开源,实际上便是信息技术领域的共产主义。全世界的开发者和用户们不分国籍、文化和语言,各尽所能、各取所需,一同支撑起了21世纪的信息技术领域。当今我们依赖的信息化基础设施,有很大一部分都来自于开源开发者们的无私奉献。而在另一面,作为用户,大家都获得了更为易用且可靠的开源解决方案。共产主义,在信息技术领域成为了现实。   我当前最喜欢的编程语言是 C++(通用编程)和 Python(机器学习和脚本)。此外为了更好地满足研究需求,我还在努力学习 Go 和 Rust。

开源

参与开源之夏

项目介绍

开发体验

期待和计划

这次参加开源之夏是源于一个朋友的推荐。那位朋友在去年的开源之夏中表现优异,而且他本人也对开源之夏活动的组织和内容赞不绝口。今年暑假因为是大四和研一的衔接期,时间相对充裕,因此便想要参加开源之夏,磨练一下拳脚,同时也为世界作出一点微小的贡献。

本次我参加开源之夏的项目是出自 openEuler 社区的【openEuler支持OpenStack-helm】。该项目的主要内容是对 OpenStack-Helm 完成适配和打包,最终发布能直接被用户使用的软件包。在项目中我完成了适配打包工作,并制作了一个简易的脚本来辅助用户完成安装部署操作。

https://summer-ospp.ac.cn/#/org/prodetail/22b970030

开源

项目进行过程中印象最深刻的问题是对 Kubernetes 的认识不足,难以完成调试。尽管我有比较丰富的 Debug 和运维经验,但面对 Kubernetes 这一革命性的应用部署方式,调试起来还是多少有些心有余而力不足。这里我要特别感谢我的指导老师王玺源,老师对 Kubernetes 拥有极其敏锐的嗅觉。在例行沟通中,他向我展示了一些 Kubernetes 操作的示范,从而引起我的思考,使我能够快速地从更高层次理解 Kubernetes 应用部署的思维。老师仅通过一些操作的例子便打通了我碎片化的理解,使我能够在后面进行独立的调试工作。我能够顺利完成项目,离不开老师的谆谆教导。

每两周,我都会与老师和 SIG 组其他成员进行当前问题的分享与探讨。这些探讨给我带来了许多灵感。此外,指导老师还为我准备了高配置的云服务器,使开发工作变得无比便捷。

我在此次活动中积累的重要经验是时间观念。开源之夏中的大多数项目实际上难度并不是非常高,但需要我们十分专注完成。我想这也是组委会方在申请时要求提供尽可能详细的时间表的缘由。开源之夏并不是谁布置给我们的作业,而是我们自发地选择主动参与开源实践并作出贡献。因此,我们需要早做计划,规划自己暑期期间的时间安排,在保证质量的前提下较快完成工作,从而给后面的调试等工作留下充足的时间。   本次我完成的项目是直接面向用户的,用户将使用我打包的软件部署他们自己的系统。因此,我想我会尽我所能长期维护这些软件包。  

开源

社区成长经历

关于 openEuler

开源社区理解

在校生参与开源

通过这次实践我能感受到,openEuler 是一个很有前途的发行版。与传统的一些发行版不同,openEuler 站在了基于云的新高度来思考发行版的设计与发展。openEuler 社区也非常活跃,Gitee 上的 PR 们诉说了 openEuler 快速迭代发展的历程。社区的各个 SIG 组由许多富有开拓精神的优秀前辈组成,一起推动 openEuler 向前进。

我在参与这次开源之夏前并没有太多开源经验,GitHub 上也只有一些自己写的小玩具。虽然我平时空闲时会去挂着几个国外社区的 IRC 频道,也会订阅邮件列表,但没有真正参与过开源社区的工作。这次我有幸在指导老师的带领下参与 OpenStack SIG 的工作,从实践角度理解了开源社区的运作方式。这是比编程技术更为可贵的经验。

当前我的研究方向是边缘计算与云原生,同时也在探索软件定义网络的应用实践。感谢这次活动带来的开源社区体验,以后我想自己也会主动参与开源社区工作。也许,从给已有的开源项目提 PR 做起吧。

而作为一名继续深造的学生,我认为本次活动对我的研究生学习有很大帮助。一方面,我得以在正式开展研究生学习之前,从实践的角度提前切入研究主题,为后面的学习和研究奠定基础。另一方面,本次学习到的社区管理知识,更使我今后能够更顺利地管理项目运行。对于在校生,我想首先应当做到的是夯实自己的基础,确保自身有能力完成开源社区和项目的建设。同时应当放眼前沿,了解行业知识,从而更好地寻找机会投身开源实践。

开源

收获和寄语

技巧提升

参与开源的必要性

勇于选择

对于提高代码质量,当前我的做法是阅读经典项目源代码和各大企业或开源社区的代码规范。Stack Overflow 也是一个很好的学习来源,其中的大佬们常常会给出解决问题的优雅方法,多看多积累。

我认为良好的英语阅读和沟通能力对于参与开源来说也是极其重要的,甚至可能超越了编程能力本身。例如,国外的开源社区多通过 IRC 和邮件列表协作,要参与讨论或搜寻问题的答案,必须掌握流利的读写能力。再比如,对于每个写代码的人而言,只要其英语水平足够高,都会对 Stack Overflow 及其附属网站赞不绝口。掌握英语就握住了事半功倍解决问题的钥匙。又比如,许多对编程语言和特定软件的问题,实际上都能在文档中找到直接答案。而大多数文档是英文的。

提高语言能力,实践是关键。从现在开始,强迫自己告别百度和 CSDN,使用英文检索自己遇到的问题,勇于与他人交流。坚持下去,语言能力自然会得到很大提高。

实践中,参与开源对于计算机相关专业的大学生来说是必要的。无论是从事开发还是研究,从 CPU 指令集到计算机视觉,计算机的各个领域已然与开源深度绑定。即便不为开源社区作出贡献,掌握前沿的开源工具们也会使自己的工作事半功倍。而参与开源则更是运用所学磨练自己的好机会。因此,只要时间允许,计算机相关专业的大学生都应该尝试参与开源实践。

对于想参与开源之夏的同学们我想说,开源之夏并不高不可攀。春夏之交时,抽出一些时间来筛选一下自己感兴趣的题目,提前与导师邮件交流。如果可能,提前一些完成有关调研。就数据而言,中选率是相当高的。中选只是开始,中选后应当积极与导师交流,做到一周一同步,积极完成工作,以拿出亮眼的成绩。

附导师评语:

邓一诺同学非常出色的完成了本次开源之夏的任务,在活动期间,表现积极主动,展现出了对开源的很大热情,能力与态度都很值得称赞。

本项目的目标是在 openEuler 22.09 创新版中引入 OpenStack 容器化部署服务 OpenStack-helm,涉及到容器、计算、网络、存储、RPM、Kubernetes 等非常多的技术,对开发者的学习以及开发能力要求较高;并且作为 openEuler 22.09 的新特性之一,对开发者的时间投入以及版本节奏也有一定要求。邓一诺同学能在短短两个月时间提前完成,作为导师,我感到非常欣喜。

在本次活动期间,邓一诺同学共完成 PR9 个,创建新的 openEuler 仓库 4 个,独立开发了一键部署工具,并成功适配 openEuler。从技术学习,到软件开发,再到开源贡献,都表现优异。每周的例行同步会议中,也积极与导师探讨遇到的问题和解决思路,有一定的独立思考能力。

希望在以后的工作学生中继续保持这样的热情,保持持续学习的习惯,在项目规划上能更进一步,视野再拔高一些。也欢迎以后持续贡献 openEuler,在开源领域绽放光彩,祝未来可期。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分