储惠龙:在社区中快速自我迭代、成长的小龙人

同为程序员的你,可能见过“代码写诗”来形容一个人的代码优雅程度。而本期的 nStar 专访嘉宾——储惠龙,是一个文学爱好者,个人博客的「我的诗与短句」记录着美好的青鸟。虽然现在从事同文学几乎无关的编程工作,其实他的对文学、优雅的热爱多了一种表达方式:代码。

虽然毕业未满 1 年,全职工作的他在 8 个月实现了快速的迭代。在成长过程中,他接触到了开源项目,慢慢地明白开源是什么,也有了自己的开源项目。

这就是开源项目 NebulaResultSetBoot 和 NebulaGraphQL 的作者——储惠龙。

优雅的小龙人

我是小龙人

Nebula:来,和社区的大家打个招呼。

储惠龙(以下简称:小龙人):大家好,我叫储惠龙,大家可以叫我小龙人。我是本科从中南大学毕业。对,去年刚毕业。目前在京东科技风控这边工作,刚刚上班满 8 个月,所以还有很多需要学习和进步的地方。

平时呢,我比较喜欢科技相关的事,写写代码,做下工程。还有一些特殊的爱好,就是会写点技术文章和诗歌短句。和大家差不多,空闲的时候也会玩玩电子游戏、桌游之类。

文学和我

Nebula:在你的个人博客中,单独有一个分类是「诗和短句」,你是怎么喜欢上诗歌的呢?

小龙人:高中的时候,有个语文老师说:年轻人就应该写点这些东西(这里指的是诗歌)。算是一个契机吧,从那以后我就开始用这个方式来记录一些事情。不过,我律诗绝句写得比较少,一般就写写现代诗。

Nebula:那你平时看得比较多的,是谁的现代诗呢?

小龙人:我看海子的诗歌会多点。之前我也看过一本诗歌大杂烩,里面的诗歌太美了,我把它们都背了一遍。不过,这过去很久了。后来,看得就比较少。我还记得那本大杂烩中有一首歌,讲到“蓝色大蝴蝶”和“一群孩子在玩”,只不过我再也找不到这首诗是什么。如果,有小伙伴知道这是什么诗,麻烦告诉我下。

Nebula:有人喜欢诗歌的美感,寥寥片语留下无穷遐想,你喜欢诗歌哪点呢?

小龙人:只是因为诗歌“短”而已。诗歌也好,文章也罢,总的来说就是传递情感和故事。有的时候,你可能寥寥几个字,就已经把那些事讲完了。但有的时候就是想讲得含蓄一点,因为有的事情,你直白白地讲出来就没有意思了,所以诗歌会好点。假如你想把整个中间的过程都明明白白讲出来,就可以换个记录方式,这只是一个取材问题。

话剧和我

Nebula:好像你之前还在话剧团待过?本科读的是计算机,为啥会去参加话剧社呢?

小龙人:对,大学我加入过话剧社团,还是个团长。那时候,就单纯觉得好玩,觉得上了大学应该多去体会不一样的东西。在这个过程中接触了一些剧本编写、舞台搭建、会务相关的事情,还是挺好玩的,有了不一样的体验。

快速成长的小龙人

在社区中成长

Nebula:之前你说到过,毕业工作的这 8 个月,是一个快速成长的过程。我觉得人的成长和他接触的东西,或者是做的事情息息相关。所以,你身上发生了什么故事呢?

小龙人:(狗头)这里真的要好好感谢 NebulaGraph 社区了。其实,我之前一直很想接触开源社区,但是确实很难。因为,很多社区的入门门槛会很高,特别是你如果小白一点,压根进不去。

NebulaGraph 这边用了比较本土化的沟通方式——微信群,和 Apache 倡导的 Email 的方式不大一样。微信群这种方式更符合我的实际情况,而且在群里看各位大佬讨论问题,即便我不发言,在这个过程中我也学到了不少东西。当我学到一些东西的时候,又反向去帮助别人,这种向他人学习、帮助其他群友的过程,收获到了很多东西。尤其是思为大佬,帮助了我很多。

简单来说,跟在大家后面学习,即便不交流,潜移默化也获得了很多知识。

在成长中输出

Nebula:其实,你在这个过程中也开源了自己的两款产品:NebulaResultSetBoot 和 NebulaGraphQL。它们是你的工作产出么?

小龙人:NebulaResultSetBoot 可能还算和工作有点关系,它是一个帮你把 Java 结果处理成 JSON 的小工具,在我的工作中的的确确会用到它。因为其实它是一个工程问题,相信很多 Nebula 小伙伴都遇到这个通信问题,我也不例外,所以当我解决了这个问题之后,就把它开源出来捐献给了社区。

但是,另外一款 NebulaGraphQL 就完全是一个兴趣的产物。那时候,我在一个群里看有群有提了一嘴 GraphQL,我就去查了下 GraphQL 是什么东西。然后我感觉这个东西还是挺好玩的,就花了自己的时间去做了一下。

其实做的过程也是想说学习,看能不能把之前的一些想法、一些学习到的东西都用一下。这两个项目其实也没花多久时间,可能就几个周末就完成了,但是这个开发的过程中的确自己也学到了不少东西。

Nebula:这两款开源产品的未来,你有什么规划呢?

小龙人:NebulaResultSetBoot 基本上是个完成品了,后续可发展的空间比较小。但是,NebulaGraphQL 还是大有可为的。

目前来说,NebulaGraphQL 只提供了查询点,这个很基础的功能。现阶段的它相当于是 MVP,就是最小原型,验证了整个方案的可行性,并且把流程串通了。

后续的规划,最大的一点就是把整个 GraphQL 那套查询都搬过来。同时,能在应用层做一些缓存的话,估计就直接起飞了。

再者,如果加上前端这块的话,NebulaGraphQL 就真的能实现质的飞跃。因为,GraphQL 是有两个方面可以做的应用,第一个是真正的将它作为一种生产力。不过,目前国内大部分公司用 RESTful 的比 GraphQL 多很多。要相关从业人员改用 GraphQL 还是有点成本的,而且也非必要,一般公司不会那么干。

即便如此,NebulaGraphQL 的工具属性还是点满的。尤其是对部分前端工程师,或者不熟悉Cypher 的工程师,想简简单单查看一下图数据库里面数据,即便 nGQL 再简单,还是有一定的上手难度的。如果用 GraphQL 提供一个可视化的查询界面,快速地去查询自己需要的数据,做下逻辑上的验证,还是不错的。

因此,我觉得 NebulaGraphQL 大概率往后的发展就是辅助工具。因为有了它,做可视化真的非常简便,数据库同前端的交互就太方便了。

不一样的小龙人

开源是一种互联网精神

Nebula:上面你有提到过开源社区,你是咋理解开源的呢?

小龙人:我觉得开源是最能体现早期的互联网精神,它也绝对不是一个无私的贡献。可能国内有些公司当一种商业策略,采用先开源获取一波用户之后再闭源。但其实,我觉得它更多的是一个互帮互助的过程。大家在你这个项目中学习到东西,再反哺给社区,是一个良性的循环。

AI 能辅助工作和学习

Nebula:你有用什么 AI 工具么?觉得用的感觉如何?

小龙人:GPT 那套我用得比较多。一般,我知道整件事应该怎么做,明确地知道要做什么,但是我不想写那些代码,我就会直接让 GPT 帮我生成,完了之后调试一番。

如果是有指定的编码风格的话,像是用 Java 写代码,我可能还会指定一下它要用到什么流或者是库,不要用哪些工具之类的。这样稍微限制一下,编码风格会好很多。但是一般来说,常用的还是代码片段,代码片段其实风格都差不多。毕竟,现阶段让 GPT 直接写项目还是有点吃力的。

当然你足够有耐心,写很详细的 prompt,它的代码完成度就会非常高。但是写详细的 prompt 所需的时间也是相对应地增加,也许那个时间你直接自己写代码都写出来了。

不过,个人觉得它作为辅助工具,偷偷懒,解决一些不想写的代码片段还是不错的。

除了这点,AI 工具还有一个亮点是大大地降低学习成本,特别像是那些文档不全的项目。之前我就遇到过一次,压根没文档。但是我又需要去用它提供的工具,然后就打开 GPT 疯狂输入,向它提问。这极大地降低了我的学习成本。

安利时间

Nebula:你觉得有什么好用的工具推荐给大家的么?

小龙人:我日常用的比较多的可能是 Notion。它整个的设计非常的棒,用来处理我日常的文章记录挺不错。此外,Notion 的跨平台体验做得非常好,无论手机,还是浏览器,任何一个平台,你上去就能用,非常方便。


以上本次专访告一段落,如果你有想要了解的社区小伙伴,记得联系星云:rabbit:让她邀请对方来当嘉宾哟~