狠狠撸

狠狠撸Share a Scribd company logo
拥抱开源 
黄亿华 
2014-9-10
提纲 
? why 
? 对于自我提高 
? 对于工作 
? 对于理想 
? how 
从阅读源码开始
对于自我提高 
? 源码的不可替代性 
? 源码—更容易理解的语言 
? 站在实地上 
? 一万小时理论
对于自我提高 
? 学习的过程: 
? 输入(书籍、文章)=>理解=>输出(文章、代码) 
? 输出的越多,学习效果越好 
? 开源是一个自我激励的过程
对于自我提高—我的一些经历 
? 2012年底,开始玩开源 
? 阅读十来个项目-struts/spring/netty/jsoup/httpclient/kafka/freemarker 
? 阅读=>记录=>分享 
? 建立的项目: 
? WebMagic 
? 开源=>有了用户=>完善=>更多用户
对于工作 
? 探索精神 
? Java开发构筑于开源项目之上 
? 不再做“黑盒开发” 
? 遇到问题,直面问题=>回馈社区=> 乐于发现问题
对于工作 
? 更有信心 
? 掌握工具原理 
? 掌握设计思想
对于工作—之前团队的一些实践 
? 对日常使用的开源项目进行分享 
? 良好的反馈 
? 回馈社区 
? struts2 https://issues.apache.org/jira/browse/WW-4302
对于理想 
? 更牛逼的技术 
? 技术要有产出 
? 让你的代码运行在更多的地方
how
从阅读源码开始 
? https://docs.google.com/a/dianping.com/presentation/d/1IO 
WngvxRI-Mu29OFpF09qZzYgLLRlA0GJZnZrY4TyA8/ 
edit#slide=id.g2 
614740a1_2_38 
? 步骤 
? step1:了解功能和领域 
? step2: 理清结构或主流程 
? step2: 适当修改
提交PATCH 
? 如何提交 
? github—Issue&Pull Request 
? Apache—JIRA SVN/Git patch
拥有自己的项目 
? 从小需求开始 
? 好的开源项目都是挠到了自己的痒处—《大教堂与集 
市》 
? 提高要求,逐步抽象
拥有自己的项目 
? 对于重复造轮子 
? 不要闭门造车,需要调研行业解决方案 
? 了解自己的场景,必要时大胆造轮子 
? A world without diversity is unpleasant. —Matz
拥有自己的项目 
? 从不完美起步 
? 总会有遇到同样问题的人 
? 拥有早期用户,才能保持项目跟进的动力
拥有自己的项目 
? 适当宣传 
? 接地气的:oschina 
? 高大上:hacker news 
? 文档和测试 
? 文档和测试的质量直接决定项目的质量
拥有自己的项目—对于webmagic 
? github 495 star ,326 fork 
? 好像有很多公司在用(包括 点评)
拥有自己的项目—得到了什么 
? 需要持续付出精力 
? 对领域有深入挖掘的机会=>专家 
? 开源项目带来的用户量,可以充分覆盖领域应用场景
Q.A. 
? Thanks!

More Related Content

拥抱开源-对于程序员的自我提高