TiDB Committer | 男友力 max 的典型工程师马钰杰

2024-04-08 02:32

本文主要是介绍TiDB Committer | 男友力 max 的典型工程师马钰杰,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

他是第一期 Talent plan 的学员,也是第一期易用性挑战赛优秀参赛选手,拥有多个身份的他成为了 TiDB 新晋 Committer,他就是来自 Execution SIG 的马钰杰(mmyj)。

他是游戏云玩家,也喜欢研究电子产品,总是第一时间入手,也逃不过第一时间吃灰。目前在星火网校做后台开发,工作中接触最多的语言是 Golang。他自称是个典型的程序员,但在采访的间隙突然让我稍等他一下,去给女友煮汤圆,着实让小编酸了一把~

今天,让我们来看看 mmyj 在 TiDB 社区的心路历程吧!

第一次贡献 TiDB,感受如何?

2019 年 10 月,我第一次听说 TiDB,也是第一次接触到开源,之前并没有特别关注这个领域。因为公司使用 golang,所以我想找一些 golang 的项目学习,后来无意中在 GitHub 上发现了 TiDB 的文档和源码阅读活动,这让我参与社区得到了很大帮助。我还记得第一个 PR 是 execution 向量化的活动。

当时觉得学习的门槛不高,正好那段时间有易用性挑战赛,就尝试参加了。
最开始的时候会有点手足无措,不知道如何提交 PR 才能被采纳。不过社区小伙伴都很耐心,逐渐的我也就适应了贡献流程。

为什么会持续给 TiDB 贡献?

我在易用性挑战赛花了挺多时间,一下班八点多到家就开始做 issue。除了有周边可以兑换,我对 Reviewer 也很向往,觉得 Reviewer 是我努力的一个方向。我很感谢 Execution SIG 的 mentor 给了我很多帮助,我也希望自己可以反哺社区,像当时 mentor 们帮助我一样,指导社区的同学来贡献回馈社区。

有一次我印象特别深刻,当时我有一个问题不太明白,立元就给我画白板来解释,可惜我当时太害羞,害怕麻烦他所以不好意思开摄像头,如果是现在我一定会更大胆的和导师交流。

TiDB 社区氛围很好,我希望可以把这份善意传递下去。

贡献过程中遇到过困难吗?中途是否想过放弃?

有一个 PR 我断断续续做了很久,优化灵感的来源是一篇论文,我先花一个月时间看完了论文,然后再花一个月时间看 TiDB 代码,研究怎么修改才能达到论文的效果。难点在于,这个 PR 有很多优化的小点,把所有优化点都做完,整个战线就需要拉的很长。

在学习 Talent plan 课程的过程中也遇到了一些困难,因为课程的学习是在已知的框架内找一个未知的答案,对我来说是一个挺有挑战的事情。当时卡在优化器部分,不过最后我也没有寻求导师的帮助,自己去看 TiDB 源码找到了答案,感觉是有一点小作弊了哈哈。

贡献过程中最有成就感的事?

上面提到解决的最难的一个 PR 对执行器优化巨大,引入了滑动窗口的优化,提升了某些常用窗口函数的 10 倍计算效率。

这个结果让我很满意,觉得自己的贡献很有意义。

你认为开源是什么?

很多项目只是把代码公开在 GitHub 上,我认为这并不能算是真正的开源,维护一个项目需要花费时间和精力,能像 TiDB 一样拥有一个活跃的社区,并且用心的去维护它,这很不容易。

给 TiDB 社区新人们的一些建议?

一定不要害羞,社区的同学都很 nice!TiDB 社区期待你们的加入!

与 Contributor 同行,相信开放的力量

随着越来越多的人了解和使用 TiDB,作为社区贡献者,我们选择了相信开放的力量,做自己真正喜爱和擅长的事情,与全球的开发者共同协作,打造我们梦想的数据库,帮助大家解决问题,让更多用户一起受益,在数据库历史的发展上留下自己的一笔,我们感到兴奋而且自豪!

聚沙成塔,集腋成裘。社区每一个微小的贡献都让 TiDB 距离「数据库界的事实标准」更近一步。很荣幸能和一群志同道合的朋友一起做酷且正确的事情。

在开源的世界,一切皆有可能。

这篇关于TiDB Committer | 男友力 max 的典型工程师马钰杰的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/884336

相关文章

嵌入式软件工程师应聘知识点

嵌入式软件工程师应聘 修改浏览权限 | 删除 数据结构(C语言)部分常考的知识点: 1、局部变量能、全局变量和静态变量 2、堆和栈 3、Const、volatile、define、typedef的用途 4、链表(比如链表的插入、删除和排序) 5、排序(考查冒泡法的较多) 6、可重入函数 、malloc函数 7、指针(常考函数指针,函数指针,数组指针,指针数组和

工程师 - status和state的区别

"Status"和 "state"是相关的概念,但有不同的含义,尤其是在计算、系统和编程方面: 1. Status:     * 定义: 状态是指系统、进程或实体在某一特定时间点的当前状态或情况。     * 使用方法: 它通常描述一项操作的状态,如是否正在进行、是否已成功完成、是否遇到错误或是否正在等待输入。     * 举例说明: 在编程中,函数可能会返回一个状态代码,

二本毕业,我是如何成为BAT-安卓开发工程师?

1.对基础原理不断挖掘 进入公司,我的职位是Linux应用开发工程师,做App网络传输模块,本质上就是把本地的数据通过socket传输到服务端。用到的技术是C语言,网络编程,多线程编程。 那时是最痛苦的几个月,因为非计算机出生,很多东西都不会,经常程序段错误,都不能定位到问题代码。 当时处于试用期间,秉承着不成功则成仁的心态开始恶补相关的基础知识以及代码规范。那时网络上没有现成的视频资料,艰

给Android工程师的音视频教程之一文弄懂MediaCodec

更多音视频知识请关注公众号:进击的代码家 音视频学习项目:LearnVideo AndroidMediaCodecDemo 简介 MediaCodec是Android提供的用于对音视频进行编解码的类,是Android Media基础框架的一部分,一般和 MediaExtractor, MediaMuxer, Surface和AudioTrack 一起使用。 MediaCodec的编解码流程

Flink SQL因类型错误导致MAX和MIN计算错误

背景 最近在做数据分析,用Flink SQL来做分析工具,因数据源的数据存在不太规范的数据格式,因此我需要通过SQL函数把我需要的数据值从VARCHAR类型的字段中把数据提取出来,然后再做MAX、MIN、SUM这些统计。怎料SUM算出来的结果准确无误,而MAX和MIN算出来的结果却始终不正确,最后发现原来是我用SQL函数提取VARCHAR类型的字段的数据,也是VARCHAR类型,所以导致MAX、

AIGC时代算法工程师的面试秘籍(2024.5.13-5.26第十四式) |【三年面试五年模拟】

写在前面 【三年面试五年模拟】旨在整理&挖掘AI算法工程师在实习/校招/社招时所需的干货知识点与面试方法,力求让读者在获得心仪offer的同时,增强技术基本面。也欢迎大家提出宝贵的优化建议,一起交流学习💪 欢迎大家关注Rocky的公众号:WeThinkIn 欢迎大家关注Rocky的知乎:Rocky Ding AIGC算法工程师面试面经秘籍分享:WeThinkIn/Interview-

2018腾讯校园实习招聘面经——研发工程师

时间:2018年4月15日 下午 岗位:腾讯云-运营开发 下午很荣幸的参加了腾讯在武汉专场面试,大概面试在一个小时的时间。大公司真的不一样,一套完整的流程下来感觉特别舒服。 到达面试的酒店,先是微信扫一扫签到,然后到达会议室候场,轮到自己的时候会有微信通知+短信通知。基本上面试的时间和约好的相差不大,只会晚不会早,所以如果比较晚面试的也没必要提早太久过去。 好了话不多说啦,我就回忆一下面试

[JAVA软件工程师-面试宝典-2013最新版]

[JAVA面试宝典-2013最新版] 一. Java基础部分......................................................................................................2 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.....2 2、Java有没有goto?.

如何利用数据仓库进行业务分析:一名大数据工程师的视角

在大数据时代,数据的有效利用对企业的成功至关重要。 本文将基于上面的流程图,详细介绍如何利用数据仓库进行业务分析,并提供实际的例子和代码演示,以帮助读者更好地理解和应用相关技术。 数据仓库的基本流程 上图展示了一个典型的数据仓库流程,包括以下几个主要环节: 业务系统数据接入:业务系统等数据源将数据导入数据仓库。数据仓库建设:规划、建设数据仓库,包括数据模型设计和数据集成。数据分析需求获

【Rust日报】 2021-01-17 Rust 要上太空了! RocketLab 招聘 Rust 工程师

Rust 要上太空了!RocketLab 招聘 Rust 工程师 Rocket Lab 是小型卫星发射领域的全球领导者。团队有500人,而且每周都在增加。 当然,这是在美国的工作。期待国内也会有! 链接:https://www.rocketlabusa.com/careers/positions/flight-software-engineer-ii-auckland-new-zealand-3