王贺看起来是一个不走寻常路的大三学生,从小就喜爱计算机,对于很多大学才开始接触编程的同学来说,高三就能够本人做一个 Linux 发行版无疑是同龄人中的佼佼者了。
明天就来理解一下 TiDB Committer,DDL SIG 的 xhebox 的奉献之路。
过后怎么想到要本人做一个 Linux 发行版呢?
开始接触 Linux 的时候我感觉 glibc 太大了,下载下来有几十 MB 所以想换掉它。过后正好接触到了除了 glibc 以外的 libc,我就萌发了本人做发行版这个想法,甚至还想把 GNU 所有的货色都换掉,尽管最初失败了,但发行版还是做了下来。
我从小就喜爱折腾这些货色,小学的时候用 Discuz 搭建过网站,高中时折腾苹果零碎,这些都是因为趣味所以自学的,也给我高三做 Linux 发行版打下了根底。我也是那个时候开始理解到 Go,我的 Linux 发行版的包管理器就是用 Go 写的,最近也开始在学习 Rust。
你做的 linux 发行版当初能够下载到吗?
以前是能够在 GitHub 上下载,当初不行了,我没有保护二进制包管理器,如果他人想用的话恐怕须要见到我自己,我能够用硬盘复制一份:)次要起因是保护二进制包十分耗时间,以前有 600 个包,当初被我削减到只有 300 个。我平时上课做试验也没有这么多工夫,几百个包都是手动编译,如果开源再保护,那可能没方法做其余事了。
你是怎么和 TiDB 结缘的?
第一次理解 TiDB 是 TCP 我的项目(Talent Challenge Program),在这之前我没有接触过数据库。有一天正好看到群里在发这个流动的信息,感觉挺有意思,不过这个流动须要 TiDB Contributor 能力参加,于是我就给 TiDB 提了一个 PR,在成为 Contributor 之后我就开始正式的退出了这个我的项目。
加入过其余社区的流动吗?
假期的时候我加入过快手的 KCode,次要较量内容是读文件去计算 QPS。不过我加入完热身赛就不做了,到了决赛和半决赛会加一些限度,赛程前面比拟偏差 IO 优化。我感觉我不是很善于做比赛或算法之类的较量,更偏差学习和入手能力,所以更适宜 TCP 这样的我的项目,本人施展的空间更大。
会常常给其余开源我的项目做奉献吗?
有,不过其余我的项目的补丁比拟散,不像 TCP 做了一个比拟残缺的性能。比方 musl libc 的兼容性不太好,我和应用 musl libc 的外国网友探讨过这个问题,也给 Google Chrome,Firefox 都提过补丁。
奉献过程中遇到最艰难的中央是什么?
艰难可能是因为素来没写过数据库,学校的数据库课程也才开始,教的也只是根本的 SQL 语句,所以我自身对 TiDB 和数据库也没什么理解,感觉入门比拟难。
从开源奉献中取得了什么?
合作教训 ,之前尽管有独特合作的经验,然而没做过这么成熟的我的项目,并且有时候须要跨两个我的项目一起做开发。TiDB 的测试很残缺,是我第一个提交的有欠缺 CI 的我的项目。之前提交的都比拟传统,要么没有 CI,要么单元测试很单薄,TiDB 是我接触的第一个有跨我的项目测试、集成测试的大型项目。
奉献过程中最有成就感的事?
有一次提 PR 被动推动了 PD 的过程,原本我只有给 TiDB 提就行,但过后我的项目的进度也须要 PD 那边的配合,我就给 PD 提了几个 PR。因为推动了 PD 并且在 DDL SIG 奉献,所以一个月就拿到了 PD 和 DDL 两个 Reviewer,还是挺有成就感的。
另外我也通过了面试,拿到贵司的实习机会:)
给 TiDB 社区的新人们一些倡议
奉献最开始的一段比拟艰难,可能刚进去社区还不相熟流程,肯定要保持过来,就会恍然大悟。 在参加的过程中肯定要 get hands dirty,张望不如入手,实际出真知。
对于本次 PingCAP D 轮融资,你作为社区的一份子,你怎么看?
感觉很厉害,我听过的一些融资我的项目都不到一亿,PingCAP D 轮能融资到 2.7 亿美刀,都有点感觉不太实在了,而且还是开源我的项目。作为社区的一份子,这个事件还是挺让人有自豪感的,也有些意识的人给我发这个音讯。
衷心希望 TiDB 社区越来越好!