1010兼职网湖州:我介入 Seata 开源项目的一些感悟

admin/2020-05-19/ 分类:科技/阅读:

丁先生在他的知识星球约请我回覆以下一个问题

我以为这个问题异常有意思,临时把它贴到民众号这里,与人人分享一下我对这个问题的一些感悟。

谢谢丁先生的约请问答:

在这里我就简朴说下,我这段时间介入 Seata 开源项目的一些感悟:

1、若何介入到开源项目中并孝敬自己的一份气力?

我一直都有上 GitHub 搜索一些主流开源项目的习惯,我是从去年 5 月份从 GitHub 最先关注 Seata 项目的,经由入门上手之后,我就以为它的设计理念异常棒,只管那时另有许多地方没有完善,但并不阻碍我对它的赞美,我对它产生了粘稠的兴趣,我那个时刻就萌发了我要成为这个项目的孝敬者。

许多人说,我又不是大佬,我现在还不够优异,我没有太多的业余时间和精神,我也不知道这个项目是否合适我,等等,也有人以为需要成为某个领域大牛,才可以介入其中,实在这是对开源最大的误解,开源固然有大牛,不只有,而且异常多,这些大牛许多都是值得你学习的楷模,然则为开源项目做孝敬需要成为某个领域大牛并不是需要的,但需要你破费大量时间和精神去孝敬,在这个过程中,你同样能够学到许多。

我接下来继续讲讲我是若何介入 Seata 的孝敬:

我是先从官方文档最先领会 Seata 项目的,并凭据自己的领会,写了一篇文章,同时这篇文章还被阿里巴巴中间件转载过,正如丁先生所说,为开源项目做孝敬并不只是孝敬代码,为项目写文章同样是一种孝敬。

在领会 Seata 的原理之后,我就着手看 Seata 源码,继续深入研究,在这个过程中,我是发现 Seata 源码是有许多地方需要完善的,因此我获得了代码孝敬的机遇,在看源码的过程中,我介入了某些 bug 的修复,一些功效的开发,同时还对部门代码举行了优化,代码优化这点我稀奇有感想,由于 Seata 的 RPC 重构主要是由我完成的,由于我之前研究过一些 RocketMQ 的源码,其中就包罗 remoting 模块,感受它的设计头脑异常好,于是我就将这个设计头脑从 RocketMQ 带到 Seata 中。

我这里在弥补一点,许多人看源码的时刻,看到某些代码写得不是很优雅,瞬间不想研究下去了,我以为这点异常不可取,我们在看源码的同时,需要承袭一种 “不拘小节,观其大意” 的精神,由于每个人都有自己的编码气概,若是你以为写的欠好,那么这时刻你的机遇就来了,这时刻提个 PR 优化一波会不会加倍爽?而且一个开源项目都有其自己的设计理念,不要为了拘一时小节,而忽略了其整体的架构设计。

在介入开发的过程中,相当于在玩游戏打怪升级,若是你对某个开源项目孝敬了自己的代码,那么恭喜你,你乐成成为了该项目的孝敬者(Contributor),这时刻在开源项目的孝敬者名单中,就有你的台甫啦,你的代码将会随着项目 run everywhere,是不是心中充满了成就感?若是你一直对项目有连续的孝敬,那么成为该项目的焦点开发(Committer)指日可待。但需要记着一点的是,连续孝敬不仅仅只是提交代码,介入 PR Code Review、输出文章、解答用户问题同样是一种孝敬。

总之,介入到开源项目中并孝敬自己的一份气力并没有想象中的难,难的是你有没有一颗坚持的心,难的是你有没有花心思并付诸行动。

做开源,需要持之以恒。

2、从开源项目中能够学到什么?

从以上的形貌中,我破费了那么多时间和精神,我能够从中获得什么?仅仅只是让我的代码 run everywhere?那难免太过于浮躁了。

在这个过程中,你将会和一群优异的程序员沟通交流,能够将本职工作做好,同时还能把业余时间孝敬给开源的人,自己就说明晰这个人能力不赖,而且富有激情,至少对编程这件事来说,是充满兴趣的,跟者这些优异的人在一起做一个有趣的开源项目,你也会慢慢地变得优异起来。

介入开源项目会形成给予你一种学习驱动力,比方说我在重构 Seata RPC 模块时,驱动我去学习 Netty 相关知识,在写设置同步剧本时,驱动我去学习写剧本(我真的是边学边写 Seata 设置同步剧本的),在研究 Seata 设置中央实现原理时,驱动我去研究 Seata SPI 机制,而且要领会各个设置中央框架的特征等等,人性往往是懒惰的,若是你为了学而去学,许多时刻你会前功尽弃,许多时刻你做着某件事前功尽弃,往往就是由于没有外界驱动力,去驱动你去坚持。学过物理的都知道,世上没有永动机,外界驱动力就是你坚持下去的动力源泉。

同时,你在研究源码或者举行 PR CodeReview 时,可以看到许多大牛的编程头脑,这也是你最名贵的履历源泉,好比 Seata RPC 模块的 Processor 处理器设计头脑就是我从 RocketMQ 源码中参透而来。若是你想脱节一样平常 CRUD,想增进自己的编码水平,来开源做点孝敬吧!

开源项目中的大牛许多,介入开源会使自己变得加倍谦卑,还会让自己的头脑变得更坦荡,不会局限于自我。

以上就是我暂时想到的从开源项目中能够学到的一些器械以及感悟。

PS:怕后台有许多人问起怎么进入丁先生知识星球,我在这里提前说下,公号回复「星球」即获取进入星球二维码,一起交流源码,探讨架构,打造高质量的手艺交流圈。

PSS:Seata 社区迎接你,和一群优异的人做一件有趣的事!

相关阅读:

分布式事务中间件Seata的设计原理

作者简介

作者张乘辉,善于新闻中间件手艺,卖力公司百万 TPS 级别 Kafka 集群的维护,作者维护的公号「后端进阶」不定期分享 Kafka、RocketMQ 系列不讲观点直接真刀真枪的实战总结以及细节上的源码剖析;同时作者也是阿里开源分布式事务框架 Seata Contributor,因此也会分享关于 Seata 的相关知识;固然公号也会分享 WEB 相关知识好比 Spring 全家桶等。内容不一定面面俱到,但一定让你感受到作者对于手艺的追求是认真的!

民众号:后端进阶

手艺博客:https://objcoding.com/

GitHub:https://github.com/objcoding/

,

Sunbet

www.0-577.com欢迎您的加入。

TAG:
阅读:
广告 330*360
广告 330*360
Sunbet_进入申博sunbet官网
微信二维码扫一扫
关注微信公众号
新闻自媒体 Copyright © 2002-2019 Sunbet 版权所有
二维码
意见反馈 二维码