00:01
那么经过我们刚才这一顿操作呢,实际上我们啊解决了一个,我们发现了一个bug,然后通过我们自己的方式呢,把这个bug解决了,然后就相当于我们验证了一个方案。啊,那么既然这个方案可行,那么我们也就有足够的信心向这个社区去提供啊,我们这个端代码啊,那么我们看一下,就是我们这个代码弄完之后呢,怎样去跟社区进行一个交互,来把我们的代码合并进去。呃,首先呢,我们要来看这个github的一个主页。呃,首先呢,最重要的是这两块,一个是as,还有一个就是我们的pro requests。我们知道这个合并代码呢,实际上是一个request干的事情,但是我们需要注意一个问题。在这个开源项目里面呢,其实我们希望每一个代码的更改都有能都能够关联到一些说明啊,比如说我这个代码,哎,这一次的更改,这一次的修改是为什么进行了一个修改呢?啊,实际上呢,啊,我们说是这个request里面,它是专门做这个代码修改的一个事情呢,那么讨论的事情呢,就应该放在另外的一个地方去进行。
01:11
呃,所以说呢,呃。在通常一般的这个科研社区里面呢,如果说你想你想去修改一个pro requests啊,你想去发发这个请求,发起一个pro requests,然后请求一个代码的修改啊,那么一般来说是要关联到一个上的,要关联到关联上去的啊,所以说啊是什么意思呢?实际上你可以理解为一个争论点啊,或者讨论点。啊,这个地方是我们进行一个bug的一个讨论,还有还有一个呃,新特性的一些讨论啊,各种讨论都在里面。然后在这个里面,我们先去创建一个ISO,来创建这个ISO,之后呢,描述我们的问题,然后我们再去创建一个PR来来对这个ISO进行解决,那么这样的话呢,在整个这个代码开发的这个环境中呢,啊,就能够找到一段代码更改的前因后果啊,这样才算是一个完整的事情。
02:03
啊,那么接下来我们看一下这个,So,它没有什么SC没有什么。你可以看到这个地方的,嗯。有点像什么,有点像百度贴吧是不是啊,完了之后可以看到啊,这里面有一个open,也就是现在正在解决的开放状态,一个210个,然后已经关闭解决完的实际上是有530个。呃,在这里的话,我们可以往下看一下,呃,通常来说大多数社区都会用这种啊中括号的方式来维护他们这个,呃。ISO的一个格式啊,实际上呢,呃,在这个C的这个框,呃,这个社区里面呢,我们称第一个为标签分类,你比如说这个是future,也就是特性,然后是online meeting,也就是线上会议啊四四月12号的一个线上会议,然后还有一个就是我们的一个呃特性,然后第二个中括号呢,啊表示的是我们是哪个模块的东西,比如说这个特性呢,它是connector模块的啊完了之后这个特性呢,是Spark模块的。
03:06
啊,关键是这里有些什么是bug是吧,还有一些是什么呢。其实主要就是bug和各种图形的讨论。那么这个这个这个标签呢,实际上这个中括号的标签,实际上是需要我们呃,社区里面的每一个参与者去共同遵守的一个规范啊,也通过这种方式呢,其实可以让我们这个社区的帖子呢,啊,社区的这个O可以看起来更简洁明了,更清晰一些。啊,那么我们呢,接下来就去创建一个。先去创建一个so。啊,可以看到这个,接下来进入一个选项面板啊,我们是一个bug report汇报一个bug。然后直接点get started。这里呢,就是我们的一个啊,就填的那个表单,你可以看到还是很多的啊,首先我们先倒着看吧。呃,你呃,会提交一个PR吗?啊这个地方,那么就是我会提交一个PR,因为我们刚才已经想好这个东西怎么解决了啊,这个意味着什么呢?其实这意味着啊,你在参与开源社区的时候,你可以去那个艾盯着,然后当有人汇报一个bug,他有没有解决方案的时候,你可以去尝试啊,看看源码这里面是出什么问题了呀,然后是帮他解决这个问题,然后再发一个PR链接到他那个O上,就这样的话,就不一定你非得是这个bug的发现者,你也可以是这个bug的解决者,以bug解决者的方式来参与这种相应的贡献。
04:34
啊,那么我们再往上看。那么下面呢,它问你是否遵循一个我们的这个准则,那么这个地方呢,你当然是要选市了。啊,那么我们再拉到上面来看他让我们写什么,呃,首先呢,他让你告诉我们。啊,这里还有一个是什么呢?是search before asking,比如说你在这个问这个问题的时候,你有没有去这个搜索呢?啊,实际上这个地方我要提前说一下,就是在之前的时候呢,啊,我们已经去这个OS里面去搜索过了,也就是没有人去讨论相关的问题。
05:08
呃,实际上这个,呃,科研社区里面呢,我们还要遵守一点,也就是说有人提过的问题,你就不要再提了啊,有人提过的问题。你不要再提了,要在别人的基础上呢去做贡献,也就是说已经有人发现这个问题了,你直接去想这个问题的解决方案就行了,不要在这个社区里面发一些重复的信息啊,所以说呢,我们鼓励一个就是在提问之前,一定要提前进行这个搜索的这个过程。那么你说我这个地方已经搜索过了。而且我们也确实搜索过了,那么发生什么了呢?然后完了之后一个的war。啊,我们刚才的这个再编辑的版本呢,实际上是从队伍分支上来的,我们直接写到队,然后这个其他的也就是我们的那个配置,我们用的配置,我们可以从文件里面直接拉过来。
06:03
把这个配置给他。然后一个running command,就是你怎么样去跑这个的job,哎,他要求你把这个代码给他,我就把这个复制过来。然后呢,这个地方呢,说你报的一个错啊,希望你粘过来啊,我们就把这个刚才在word里面留的这份错误给它粘过来。然后这个,呃,这个flink和Spark的warn,这个Spark呢,我们没有去做,所以说呢,实际上我们这个地方只写这个fli warn就行了。Link,然后we we。1.13.0。啊,Java sc这个word呢,这个地方其实我觉得写不写都行了,因为它本来也不是必填项,但是出于一个考虑呢,我们还是把它写上。
07:01
我看一下我们的这个JDK是一点八点零点。直接把它复制吧。往这一粘,然后JDK有了。我们看是多少。是2.12,也不止一帧。啊,这个地方是一个截屏啊,是提供这些截屏,如果必要的话,那其实这个地方呢,我们去可以去截一下,也可以不截,这个不是很有必要。呃,关键是我们要在这个what happen里面把这个问题写清楚,其实呢,你是可以记翻的,而且呢,最有意思的是这个呃社区的刚开始这个社区的这个工作人员啊,社区的一个呃算是呃比较核心的一个贡献者吧,他就说啊,这个东西我平常也经常击翻,那么我们当然也可以激发了,是吧。啊,那么这个地方呢,你其实可以用中文去描述好这个问题,然后再放到这个谷歌翻译里面翻译一遍,实际上有些单词呢,可能不太合适,那大多数情况下大家都可以看懂的啊,所以说不要对这个自己的英语太过的不自信啊,是这样的。
08:09
那么经过那么经过刚才我对这个英语的一个学习是吧,然后我们啊写了一串英文出来,然后就是当这个。呃,像这个Doris里面写数据的时候呢,我们会遇到一个这个class cast exception就是类型转换的一个错误,那么BA这个对象呢,它是一个earliest啊,它不能被呃转到这个强转到这个。这个类型,所以呢,我们就是解决用这个托尔瑞的这个方法解决了这个问题,并且呢,稍微会提会提供一个提交一个PR。呃,这个地方呢,实际上就是我们把该填的都填完了,我们现在呢,就直接。呃,Submit把它这个提交上去。
09:06
没好,网速有点慢。啊,很好,我刚才忘了一件事,就是我们的这个啊,标题忘了改啊,这个bug猫教练我这个地方都忘了改了。啊,其实这个地方我们要去说明一下,就是我们是报道的是bug,然后我们报道的是哪里呢?是connector。这个模块底下的一个bug。也就是说这个向Doris输出数据的时候呢啊。会遇到这个类型转换的错误,哎,把这个直接就是保存一下。好的,那么我们就有了一个一个这个问题的讨论。那么接下来呢,我们会这个。啊,其实你是你会发现你做的任何修改这里都都可以看到哈,这个无所谓,我们后面呢,就会提交一个PR,然后在这个PR里面呢,把我们的这个代码的修改啊给弄上来,然后再链接到这个IO上,然后等到天亮的时候呢,啊,等到这个社区的这个工作人员来进行审核,我们下一讲呢,就会讲这个如何去创建一个。
10:20
For request。
我来说两句