增长二三事

最近对增长有了一些新的思考,正好又听了Hola Group Growth负责人Daisy的一次分享,把一些心得体会汇总记录一下。

  1. 获客成本越低越好?不尽然。只要想获得更多客户,CAC一定越来越高。画一个图:X轴是拉新量级,Y轴单个客户CAC,这个曲线一定是45度往上走。
  2. 产品的用户是分圈层的,最核心的圈层是铁杆粉丝,CAC最低,需求最强,次核心圈层是中需求群体,CAC次低,以此类推。
  3. 增长公式:MAX[(LTV – CAC) * N],N是客户数。对于不同圈层用户,LTV,CAC还有N都是不相同的,而产品本身的PMF也可能在发生变化。例如抖音经历过从垂类泛化的过程,它的“算法+商业化+增长/内容运营”组成的增长飞轮,使得他清楚对每类用户的PMF,以及算清楚每类圈层每个客户的LTV、CAC还有N,只要ROI他们能接受,就可以开始全渠道买量。商业化做得好真是任性。
  4. 客户越多,CAC越高,那么努力还有没有用?有用。像压弹簧一样,努力到位了,能最大限度降低各个圈层用户的CAC,例如裂变做得好,CAC在同一圈层里就是更低。广告转化率优化的好,CAC就是更低。不努力,CAC肯定越来越高。
  5. 流量有季节性影响:节日,周末,季节性,双11,春节等等都是影响因子。
  6. 都说留存最重要,而留存不好,可能不仅仅是产品不好,还可能是某渠道来的用户与产品不匹配,也可能是做了某些活动造成短期留存高但是长期留存没变化。抖音极强的一点是把Musica.ly在国内用户中曾经碰到的长留存低问题解决了,且跨越用户圈层之后留存能继续保持,也就是成功从垂类产品扩展到全民产品。千人千面的极致就是所有圈层的人都有高留存。
  7. 流量有红利属性且载体在不断变化。例如App、微博、微信、公众号、FB、朋友圈、小程序、信息流、快手、抖音,还有线下的共享充电宝,共享单车,实体物品的二维码,免费体重秤等一波波红利。而且现在流量渠道的变化越来越快,要能敏锐的捕捉到流量红利,提前布局。这就需要对新的流量媒体敏感,对人性敏感。
  8. 应用流量的价值,有两个维度:X轴是用户的交互程度,也就是停留时间,Y轴是支付金额。光看停留时间是不够的。
  9. PMF + MAX[(LTV-CAC)*N] 是王道。话说很多产品PMF做得好的,很多都是做游戏出身,对“上瘾”,人性更了解,当然也被很多人“诟病”,例如拼多多。抖音本质上也是一个游戏,一个“舞台”类游戏。
  10. 有一个很有名的App分类图,X轴是App 90天留存,Y轴是用户每周使用频率。第一象限的就是通信社交App,高频高留存。第四象限是天气App,留存高但是频率低。要清楚自己在哪个象限。

两个平行世界

一个是虚拟世界,一个是物理世界。

PC时代,两个世界间的通道,大部分是PC机。

移动互联网时代,两个世界间的通道,大部分是手机。

IOT时代,两个世界间的通道,IOT的比例会越来越高,手机和PC的占比会越来越低。想象一下,衣食住行,各个能接触的设备,都是IOT。

通道越来越多,意味着两个平行世界之间的联系越来越紧密。

2G,3G,4G,5G,新的技术不停促进通道变得更多、连接变得更快。

不同类型通道的通道载体一直在变化,而变化,就是新机会的源泉。

ps. 现在互联网人喜欢去做智能制造了:造车,造卫星,造火箭,造鞋,造船。本质上,是把IT驱动的运营能力嵌入到制造业中去,用更高效率满足消费者的需求。

Shape the world to come

2018年9月20日。

很有意思的一天。

一整天大部分时间,都在想怎么在业务上突破的事情,沉醉其中。

今天最大的新闻,就是美团上市,一跃成为中国第四大互联网公司。

看到朋友圈的信息流,突然很想在3000多好友的朋友圈中只保留那些最触动人心的,最Exciting的,最波澜壮阔的,最纵情向前又既往不恋的,最罗马史诗又惊心动魄的,最困难重重又有点意思的,最奋不顾身又热泪盈眶的,最触动心神又心潮澎湃的,最具挑战的,最有影响的,最大价值的,最感动的,最惊喜的,最赞叹的,最创新的,最聚人心的,最有耐心的,最有信心的,最能长跑的,最能坚持的,成长曲线最陡峭的,挑战最大又最激动人心的Feed。

我突然发现,原来我与这个世界对话的最佳频率,其实就是心里与这个世界产生那一瞬共鸣的时刻。头条,快手,抖音,美团,滴滴,PingCAP,水滴,Testin,北森,小米,华米,Amazon,Google,极光,推啊,兑吧,LinkDest,Suanfati,Parallellabs,NemaLabs,都有那些“最”,都有那些共鸣的频率,那些有趣的灵魂。

Think Different, Think Deep, Think Big, Stay Hungry, Stay Foolish.

Let’s GO!

 

2018新年目标

2018年,3个目标:

  • 夯实基础,继续打造细分领域业界第一的产品和服务
  • 带家人去旅行
  • 减重20斤

2018年,3个不变:

  • 保持持续学习的习惯:实践、读书、求教
  • 保持对世界的好奇心和饥渴感:拥抱新事物,新观点,新变化
  • 保持乐观的心态:痛苦,就是走上坡路的感受!

人工智能芯片公司招聘工程师/行政/出纳

我的好朋友陈云霁、陈天石是中科院计算所的研究员,他们课题组研发的寒武纪深度学习处理器斩获了国际顶级会议ASPLOS‘14,Micro’14的最佳论文奖,MIT Technical Review 2015年35位35岁以下的全球创新者等荣誉,并在计算机体系机构的旗舰会议ISCA‘16中荣获评分第一名,现在Stanford,MIT,Intel,三星等著名高校和公司都在跟随他们的脚步做深度学习处理器方面的研发工作。现在他们已经正式成立了中科寒武纪科技公司,开始了深度学习处理器的产业化进程。在深度学习处理器方面他们已经积累了上百项全球专利,是该领域毫无疑问的领导者。现在他们正在招聘Linux驱动开发工程师,逻辑设计工程师,Android应用、驱动开发工程师,编译器工程师,芯片验证工程师、物理设计工程师,行政、出纳等,如果你感兴趣加入一家想通过人工智能和芯片改变世界的公司,欢迎将你的简历发给我:chenguancheng@gmail.com。

—– 下面是他们的详细招聘信息 ——-

寒武纪科技是全球智能芯片领域的领导者,宗旨是打造各类智能终端、机器学习云服务器以及智能机器人上的“大脑芯片”。团队曾研制了国际上首个深度学习处理器,相关成果入选了国际计算机学会评选的研究热点,并两次获得计算机硬件顶级国际会议最佳论文(亚洲仅有的两次)。目前公司与智能产业上下游企业建立了良好的合作关系和生态链,受到业界广泛看好,得到了集成电路产业领导性VC以及国内主板上市智能产业公司的投资。
未来10年是人工智能大爆炸的十年,寒武纪科技必将是这次大爆炸的弄潮儿,我们的芯片将会成为所有智能服务器、智能终端设备的不二选择,从我们开始,硬件将进入真正的智能化时代。万事俱备,热切欢迎有理想、有追求、有干劲的有志之士加盟。虽然是初创,公司依然会为每位员工提供具有行业竞争力的待遇。具体的需求岗位如下:

[招聘岗位] Linux驱动开发工程师(1人)
工作地点:北京/上海
岗位职责:
1、进行智能芯片在Linux系统下的驱动设计、开发、测试和维护;
2、配合应用开发工程师,完成必要的API接口开发;
3、进行模块设计,包括软硬件接口、协议接口设计等;
4、进行模块开发、调试和系统联调等。
任职条件:
1、理解Linux Kernel和Driver结构和开发流程;
2、两年以上Linux驱动开发经验,具有独立开发设备驱动的经验;
3、熟练掌握C/C++,有扎实的编程基础、良好的编程风格和工作习惯;
4、具有独立解决问题的能力,良好的团队合作意识和沟通能力;
5、重点院校计算机相关专业本科及以上学历。

[招聘岗位]:逻辑设计工程师(2人)
工作地点:北京/上海
岗位职责:
1、与深度学习算法工程师合作,设计开发RTL功能模块。
任职条件:
1、电子工程或计算机相关专业,大学本科及以上学历;
2、有3~5年以上数字电路前端工作经验,有实际芯片流片和量产经验;
3、精通Verilog设计及验证;
4、熟悉FPGA设计开发经验;
5、熟悉集成电路前端/后端的设计和调试工具。

[招聘岗位] Android驱动开发工程师(1人)
工作地点:北京/上海
岗位职责:
1、负责Android平台智能芯片驱动开发及维护;
2、进行模块开发、调试和系统联调等;
3、编写、整理设计开发等相关技术文档。
任职条件:
1、熟悉Linux和Android架构,熟悉操作系统,具备硬件基础知识;
2、两年以上Android驱动开发经验,具有独立进行硬件底层驱动、HAL接口编程等技术开发能力;
3、熟练掌握C/C++,有扎实的编程基础、良好的编程风格和工作习惯;
4、具有独立解决问题的能力,良好的团队合作意识和沟通能力;
5、重点院校计算机相关专业本科及以上学历。

[招聘岗位] 移动平台应用开发工程师(1人)
工作地点:北京/上海
岗位职责
1、负责智能芯片在Android平台上应用软件的开发及维护;
2、负责智能芯片SDK的封装、调用示例代码编写、开发和帮助文档的撰写及SDK相关技术支持;
3、负责或协助进行需求分析,进行应用软件的定义和程序设计;
4、编写、整理设计开发等相关技术文档 。
任职条件
1、两年以上Android平台软件开发经验;
2、熟悉Andriod系统架构,精通Android平台的应用开发;
3、擅长UI设计及编程,熟悉Android界面开发及其相关技术;
4、具有独立解决问题的能力,良好的团队合作意识和沟通能力;
5、重点院校计算机相关专业本科及以上学历。

[招聘岗位] 编译器开发与性能优化工程师(1人)
工作地点:北京/上海
岗位职责:
1、编译工具链的开发和维护;
2、智能芯片指令相关工具的开发和维护;
3、对编译器优化算法改进,提升编译器优化性能;
4、分析智能芯片性能,进行性能测试、分析和优化。
任职条件:
1、熟悉C/C++语言、操作系统和计算机系统结构;
2、熟悉编译原理、熟悉编译、链接流程,有GCC、LLVM和Open64等开源编译器相关开发经验为佳;
3、熟悉oprofile、perf等性能分析工具;
4、具有独立解决问题的能力,良好的团队合作意识和沟通能力;
5、重点院校计算机相关专业本科及以上学历。

[招聘岗位]:验证工程师(2人)
工作地点:北京/上海
岗位职责:
1、负责进行深度学习处理器的功能验证与FPGA验证。
任职条件:
1、电子工程或计算机相关专业,大学本科及以上学历;
2、有3~5年以上数字电路前端工作经验,有实际芯片流片和量产经验;
3、精通Verilog验证,熟悉任何一种验证方法学;
4、熟悉FPGA设计开发经验;
5、熟悉集成电路前端的仿真和调试工具。

[招聘岗位]:物理设计工程师(2人)
工作地点:北京/上海
岗位职责:
1、负责在深亚微米低工艺条件下的复杂处理器芯片物理设计工作,包括模块或芯片极的逻辑综合、布局布线、芯片集成、静态时序分析和sign-off等。
任职条件:
1、电子工程或微电子相关专业,大学本科及以上学历;
2、集成电路物理设计领域的2-3年以上的工作经验;
3、具有模块和芯片级的静态时序分析和时序收敛的经验;
4、具有28纳米产品芯片成功tape-out经验者优先;
5、具有DFT– ATPG,JTAG,BIST经验者优先。

【招聘岗位】:人事/行政助理(2人)
工作地点:北京/上海
岗位职责:
1. 人事: 负责员工招聘,薪酬福利,员工关系等主要模块的工作;
2. 行政:负责办公室资产管理,办公用品管理、购买和发放;负责来访人员接待,及其他日常管理工作。
任职条件:
1、 认真负责,细心周到;
2、 性格开朗热情,沟通顺畅;
3、 团队合作精神;
4、 工作勤奋踏实,守时;
5、 有很好的服务意识。

【招聘岗位】:出纳(1人)
工作地点:北京/上海
岗位职责:
1、负责现金、支票的收入保管、签发支付工作。
2、严格按照公司的财务制度报销结算公司各项费用并编制相关凭证。
3、及时准确编制记账凭证并逐笔登记总账及明细账,定期上缴各种完整的原始凭证。
4、及时与银行定期对账。
任职条件:
1、会计、财务或相关专业本,并取得会计从业资格证。
2、1年以上财务工作经验,熟悉出纳工作流程。
3、了解国家财经政策和会计、税务法规,熟悉银行结算业务。
4、熟悉会计报表的处理,熟练使用财务软件。
5、工作认真细致、善于沟通、富有责任心。
6、具有良好的职业道德,敬业精神和团队协作能力。

有意者请将中文或英文简历寄至:jiajingkai@ict.ac.cn
公司地址:北京市海淀区科学院南路6号
邮编:100190

Druid中国用户组第一次线下技术交流资料分享

Druid(http://www.druid.io)作为一个开源的大数据OLAP分析引擎,得到了越来越多的关注。在Druid co-founder Fangjin Yang的支持下,阿里,OneAPM,Hulu,小米,蚂蜂窝,滴滴,携程等公司的同学共同成立了Druid China User Group的微信群,并决定与2016年2月20日下午举办第一次线下技术交流,欢迎对大数据分析,Druid,OLAP引擎等话题感兴趣的同学参加。

PPT下载链接:http://pan.baidu.com/s/1jHFspRg

技术交流议题:
1. Druid在Hulu的应用
演讲人:张汉生,Hulu北京AdIntelligence组软件研发工程师。主要参与Hulu广告定位和广告预测等相关工作,同时负责维护Druid集群。

2. Real-time Architecture for Online Travel
演讲人:Jin Yu,蚂蜂窝技术VP兼首席架构师。蚂蜂窝是中国最大的在线旅游社区,拥有超过1亿用户。在加入蚂蜂窝之前,Jin Yu是OpenX的技术VP和首席架构师,负责公司的数据战略,移动产品线和整体架构,其中就包括由5个全球数据中心的6000多台服务器组成的数据业务。Jin Yu还是连续创业者,他联合创办过2个创业公司:移动社交大数据领域的Portaura和电商搜索引擎领域的Martsoft。

3. OneAPM的Druid分析实践
演讲人:刘麒赟,OneAPM大数据高级架构师,主要负责OneAPM大数据架构的设计和开发工作。加入OneAPM之前是IBM BigInsights的大数据架构师,是多个Apache开源大数据项目的Contributor。

 

Thank you from G.C. Guancheng Chen

Dear friends, colleagues and mentors,

Tomorrow (Jun 30th, 2015) will be my last working day at IBM Research – China. When I decided to join CRL in April 2011, I considered this adventure as a world-leading industry PhD program in the most interesting market – China. Instead of continuing my academic career as a regular PhD with my advisor Prof. Per Stenstrom, I was more interested in making real impact in real business world. Four years later, I would say I was so lucky to have enjoyed a fantastic journey with you who not only helped me, inspired me, encouraged me, mentored me, but also become life long friend with me.

Last week I visited IBM Reserach – Almaden, and I saw a saying on the lobby wall: “Science and data to extend human capability”. IBM Research was no doubt a remarkable organization for disruptive innovation in the human history. I am so proud that I could get the chance to work with you on being essential to our society. After my graduation from IBM Research, I will start a new adventure of building cool big data technology in OneAPM, a startup that has many common interest with me. Hope what I learned from CRL could help me become a person that can shape the world to come in some degree.

Please allow me to take the opportunity to thank you all for all your kind support during the years. Life is a long long journey, we will definitely have chance to meet each other again:)

Please find my contact below and wish you all the best in the future!

My wechat is threadingnow, my weibo is weibo.com/parallellabs
Linkedin: http://linkedin.com/in/guanchengchen
Personal Blog: http://www.parallellabs.com/
Email: chenguancheng # at # gmail.com

怎样做颠覆式创新?

关于怎样做颠覆式创新,普林斯顿的李凯教授给出了四个要素:

(1)找到最好的合伙人

(2)理解市场需求(例如你是卖维生素还是抗生素?)

(3)紧跟技术发展趋势(例如多核时代来临时,你的软件一定要充分利用多核并行)

(4)产生一个新的产品类别(比老产品好10倍甚至20倍,才能颠覆已有方案)。

何为颠覆式创新?你的产品需要能取代高中低端的所有已有产品,这就是颠覆式创新。例如用3个2U服务器的重复数据删除解决方案取代27个机柜的传统方案。这意味着你的产品比已有产品好10倍到20倍。

关于颠覆式创新,彼得·蒂尔也说过:“我判断一个项目一般有三个标准:人、技术、商业模式,必须三样同时具备。

首先对人来说,我觉得我们不够重视团队的结合。可能一个团队的成员背景、履历都很厉害,但这些人在一起工作时是怎样的却是另一个问题,他们也许都很有才华,认为自己比别人聪明,而风险在于有一个“很大的自我”的人也许很难在一起工作,有时你能看到几个很优秀的人组成了一个很糟糕的团队。所以我会问这些人怎么相遇的,在一起多久了,之前的关系等等。

技术方面,如果只是比别人好10%或20%是不行的,要好上10倍、20倍。

还有一个标准是商业战略。对硅谷的投资者来说有太多的牛人、太好的技术,但在商业战略上是比较缺乏的。在我的理念中,要成功,首先你要能够实现垄断,你要有一个专属于你自己的类别,不是说你很快就有一个非常大的市场,而是可以从一个较小的市场做起,在早期就有一个较高的使用频度,人们很喜欢你的产品、推荐给朋友。”

 

基于OpenStack, Docker和Spark打造SuperVessel大数据公有云

今年4月的Spark技术峰会上我做了《SuperVessel:基于OpenStack, Docker和Spark打造大数据公有云》的技术分享:

基于OpenStack和Docker打造Spark大数据服务

新浪微盘下载链接

1.首先请介绍下您自己,以及您在 Spark 技术方面所做的工作。

我是IBM中国研究院的高级研究员,大数据云方向的技术负责人,我的微博是@冠诚。我们围绕Spark主要做两方面的事情:

(1) 在IBM研究院的SuperVessel公有云(http://www.ptopenlab.com)上开发和运维Spark as a Service大数据服务。
(2) 在OpenPOWER架构的服务器上做Spark的性能分析与优化。

2.您所在的企业是如何使用 Spark 技术的?带来了哪些好处?

Spark作为新一代的大数据处理引擎主要带来了两方面的好处:
(1)相比于MapReduce在性能上得到了很大提升;
(2)在一个统一的平台上将批处理,SQL,流计算,图计算,机器学习算法等多种范式集中在一起,使得混合计算变得更加的容易。

3.您认为 Spark 技术最适用于哪些应用场景?

大规模机器学习,图计算,SQL等类型数据分析业务是非常适合使用Spark的。当然,在企业的技术选型过程中,并不是说因为Spark很火就一定要使用它。例如还有很多公司在用Impala做数据分析,一些公司在用Storm和Samaza做流计算,具体的技术选型应该根据自己的业务场景,人员技能等多方面因素来做综合考量。

4.企业在应用 Spark 技术时,需要做哪些改变吗?企业如果想快速应用 Spark 应该如何去做?

企业想要拥抱Spark技术,首先需要技术人员改变。是否有给力的Spark人才会是企业能否成功应用Spark最重要的因素。多参与Spark社区的讨论,参加Spark Meetup,给upstream贡献代码都是很好的切入方式。如果个人开发者想快速上手Spark,可以考虑使用SuperVessel免费的Spark公有云服务,它能快速创建一个Spark集群供大家使用。

5.您所在的企业在应用 Spark 技术时遇到了哪些问题?是如何解决的?

我们在对Spark进行性能调优时遇到很多问题。例如JVM GC的性能瓶颈,序列化反序列化的开销,多进程好还是多线程好等等。在遇到这些问题的时候,最好的方法是做好Profiling,准确的将性能瓶颈找到,再去调整相关的参数去优化这些性能瓶颈。
另一方面,我们发现如果将Spark部署在云环境里(例如OpenStack管理的Docker Container)时,它的性能特征和在物理机上部署又会有很大的不同,目前我们还在继续这方面的工作,希望以后能有机会跟大家继续分享。

6.作为当前流行的大数据处理技术,您认为 Spark 还有哪些方面需要改进?

在与OpenStack这样的云操作系统的集成上Spark还是有很多工作可以做的。例如与Docker Container更好的集成,对Swift对象存储的性能优化等等。

7.您在本次演讲中将分享哪些话题?

我将分享的话题是“基于OpenStack, Docker和Spark打造SuperVessel大数据公有云”:

随着Spark在2014年的蓬勃发展,Spark as a Service大数据服务正成为OpenStack生态系统中的新热点。另一方面,Docker Container因为在提升云的资源利用率和生产效率方面的优势而备受瞩目。在IBM中国研究院为高校和技术爱好者打造的SuperVessel公有云(www.ptopenlab.com)中,我们使用OpenStack, Docker和Spark三项开源技术,在OpenPOWER服务器上打造了一个大数据公有云服务。本次演讲我们会向大家介绍如何一步一步使用Spark, Docker和OpenStack打造一个大数据公有云,并分享我们在开发过程中遇到的问题和经验教训。

8.哪些听众最应该了解这些话题?您所分享的主题可以帮助听众解决哪些问题?

对如何构造一个大数据云感兴趣的同学应该会对这个话题感兴趣。对于开发SuperVessel的Spark as a Service服务过程中我们做的技术选型,架构设计,以及解决的问题应该能对大家有所帮助。

9. 您有什么需要对读者补充的吗?

Spark与云的结合将会是未来一个非常热的方向,希望有更多关注这个方向的同学与我交流,谢谢大家。

一步一步教你怎样给Apache Spark贡献代码

本文将教大家怎样用10个步骤完成给Apache Spark贡献代码这个任务:)

  1. 到 Apache Spark 的github 页面内点击 fork 按钮
  2. 你的github帐户中会出现 spark 这个项目
  3. 本地电脑上, 使用
git clone [你的 spark repository 的 github 地址]
例如:
git clone git@github.com:gchen/spark.git

本地得到一个叫 spark 的文件夹

4. 进入该文件夹,使用

git remote add upstream https://github.com/apache/spark.git

添加 Apache/spark 的远程地址

5. 使用

git pull upstream master 

得到目前的 Apache/spark 的最新代码,现在我们在 你自己fork的Spark代码仓库的master 这个分支上,以后这个分支就留作跟踪 upstream 的远程代码

6. 好了,现在你可以开始贡献自己的代码了。

按照开发惯例,我们一般不在自己代码仓库的master上提交新的代码,而是需要为每一个新增的功能或者bugfix新增一个新的branch。使用:

git checkout -b my_change

创建新的分支,现在我们可以在这个分支上更改代码

7. 添加代码,并提交代码:

* git add .

* git commit -m “message need to be added here”

8. 提交Pull Request前合并冲突

在我们提交完我们的代码更新之后,一个常见的问题是远程的upstream(即apache/spark)已经有了新的更新,从而会导致我们提交Pull Request时会导致conflict。为此我们可以在提交自己这段代码前手动先把远程其他开发者的commit与我们的commit合并。使用:

git checkout master

切换到我们自己的主分支,使用

git pull upstream master 

拉出apache spark的最新的代码。切换回 my_change 分支,使用

git checkout my_change
git rebase master

然后把自己在my_change分支中的代码更新到在自己github代码仓库的my_change分支中去:

git push origin my_change 

将代码提交到自己的仓库。

9. 提交Pull Request

这时候可以在自己的仓库页面跳转到自己的my_change分支,然后点击 new pull request。按照Spark的风格规定,我们需要在新的Pull Request的标题最前面加上JIRA代号。所以我们需要在https://issues.apache.org/jira/上创建一个新的JIRA,例如https://issues.apache.org/jira/browse/SPARK-2859。然后把SPARK-2859这个代号加到你的Pull Request的标题里面。

例如:https://github.com/apache/spark/pull/1782

Pull Rquest的描述的写法很重要。有几个要点:

(1)在Pull Request的描述中,一定记得加上你提交的JIRA的url,方便JIRA系统自动把Pull Request的链接加进去,例如https://issues.apache.org/jira/browse/SPARK-2859。

(2)PR的描述要言简意赅,讲清楚你要解决的问题是什么,你怎么解决的。大家可以多参考其他committer提交的PR。

10. 等待Spark committer审核你的PR。

如果需要进一步的代码修改,你可以继续在本地的my_change分支下commit新的代码,所有新的代码会在”git push origin my_change”之后自动被加入你之前提交的Pull Request中,方便进行问题的跟踪和讨论。

11.  如果一切顺利,具有apache/spark.git 写权限的commiter就会把你的代码merge到apache/spark.git的master里面去了!

恭喜你!相信你一定很开心吧?

Happy contributing to Spark!

ps. 你的代码被merge完之后,就可以把my_change这个分支给删掉了:)

注:本文写的比较仓促,是在@lufeihaidao的基础上直接修改而成,特此感谢:https://github.com/19wu/19wu/issues/41

参考:

How to use github pull request: https://help.github.com/articles/using-pull-requests

github的多人协作: https://gist.github.com/suziewong/4378619

How to rebase a pull request:https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request

我提交的一个JIRA例子:https://issues.apache.org/jira/browse/SPARK-2859

我提交的一个Spark PR的例子:https://github.com/apache/spark/pull/1782