SlideShare a Scribd company logo
1 of 19
拥抱开源 
黄亿华 
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

Viewers also liked

Enterprise Social Networking, the perspective of socialising the enterprise
Enterprise Social Networking, the perspective of socialising the enterpriseEnterprise Social Networking, the perspective of socialising the enterprise
Enterprise Social Networking, the perspective of socialising the enterpriseRene Jansen
 
Redes Informaticas
Redes InformaticasRedes Informaticas
Redes Informaticastania97
 
Desnutricion erlicanis
Desnutricion erlicanisDesnutricion erlicanis
Desnutricion erlicanisGabrica
 
Subaru Marketing Gone Wrong
Subaru Marketing Gone WrongSubaru Marketing Gone Wrong
Subaru Marketing Gone WrongJoke Channel
 
A terceira idade_na_multi_midia[1]
A terceira idade_na_multi_midia[1]A terceira idade_na_multi_midia[1]
A terceira idade_na_multi_midia[1]ligiaalthaus
 
2014 tidens trends, fremtidens biblioteker og de nye brugere IVA
2014 tidens trends, fremtidens biblioteker og de nye brugere  IVA2014 tidens trends, fremtidens biblioteker og de nye brugere  IVA
2014 tidens trends, fremtidens biblioteker og de nye brugere IVAMichel Steen-Hansen
 
Informe de Gestion 2013 de la Dirección General de Cooperación y Relaciones I...
Informe de Gestion 2013 de la Dirección General de Cooperación y Relaciones I...Informe de Gestion 2013 de la Dirección General de Cooperación y Relaciones I...
Informe de Gestion 2013 de la Dirección General de Cooperación y Relaciones I...Juan Carlos Rojas Chamorro
 
Believe It Or Not
Believe It Or NotBelieve It Or Not
Believe It Or Notwings
 
Carteles En Colombia
Carteles En ColombiaCarteles En Colombia
Carteles En Colombiarascallu
 
1ºS Auxilios BáSicos
1ºS Auxilios BáSicos1ºS Auxilios BáSicos
1ºS Auxilios BáSicosTabi Alonso
 
El Mecenazgo Cultural, Herramienta de Comunicación y Colaboración
El Mecenazgo Cultural, Herramienta de Comunicación y ColaboraciónEl Mecenazgo Cultural, Herramienta de Comunicación y Colaboración
El Mecenazgo Cultural, Herramienta de Comunicación y Colaboraciónjosepalcaina
 
Chapter 2 1
Chapter 2 1Chapter 2 1
Chapter 2 1kpatric
 
Aventuras na estrada real o emboaba
Aventuras na estrada real   o emboabaAventuras na estrada real   o emboaba
Aventuras na estrada real o emboababnoanjos
 
Historia De La Tecnologia
Historia De La TecnologiaHistoria De La Tecnologia
Historia De La Tecnologiatromboedwin
 

Viewers also liked (20)

Peg equipe bj
Peg equipe bjPeg equipe bj
Peg equipe bj
 
Enterprise Social Networking, the perspective of socialising the enterprise
Enterprise Social Networking, the perspective of socialising the enterpriseEnterprise Social Networking, the perspective of socialising the enterprise
Enterprise Social Networking, the perspective of socialising the enterprise
 
Firewall
FirewallFirewall
Firewall
 
Redes Informaticas
Redes InformaticasRedes Informaticas
Redes Informaticas
 
Desnutricion erlicanis
Desnutricion erlicanisDesnutricion erlicanis
Desnutricion erlicanis
 
Programa EspíA
Programa EspíAPrograma EspíA
Programa EspíA
 
Subaru Marketing Gone Wrong
Subaru Marketing Gone WrongSubaru Marketing Gone Wrong
Subaru Marketing Gone Wrong
 
A terceira idade_na_multi_midia[1]
A terceira idade_na_multi_midia[1]A terceira idade_na_multi_midia[1]
A terceira idade_na_multi_midia[1]
 
2014 tidens trends, fremtidens biblioteker og de nye brugere IVA
2014 tidens trends, fremtidens biblioteker og de nye brugere  IVA2014 tidens trends, fremtidens biblioteker og de nye brugere  IVA
2014 tidens trends, fremtidens biblioteker og de nye brugere IVA
 
Eti cid sus_16_pdf
Eti cid sus_16_pdfEti cid sus_16_pdf
Eti cid sus_16_pdf
 
Informe de Gestion 2013 de la Dirección General de Cooperación y Relaciones I...
Informe de Gestion 2013 de la Dirección General de Cooperación y Relaciones I...Informe de Gestion 2013 de la Dirección General de Cooperación y Relaciones I...
Informe de Gestion 2013 de la Dirección General de Cooperación y Relaciones I...
 
Believe It Or Not
Believe It Or NotBelieve It Or Not
Believe It Or Not
 
Carteles En Colombia
Carteles En ColombiaCarteles En Colombia
Carteles En Colombia
 
1ºS Auxilios BáSicos
1ºS Auxilios BáSicos1ºS Auxilios BáSicos
1ºS Auxilios BáSicos
 
El Mecenazgo Cultural, Herramienta de Comunicación y Colaboración
El Mecenazgo Cultural, Herramienta de Comunicación y ColaboraciónEl Mecenazgo Cultural, Herramienta de Comunicación y Colaboración
El Mecenazgo Cultural, Herramienta de Comunicación y Colaboración
 
Projeto Bullying
Projeto BullyingProjeto Bullying
Projeto Bullying
 
Chapter 2 1
Chapter 2 1Chapter 2 1
Chapter 2 1
 
Vocabulário visual senac 2015
Vocabulário visual   senac 2015Vocabulário visual   senac 2015
Vocabulário visual senac 2015
 
Aventuras na estrada real o emboaba
Aventuras na estrada real   o emboabaAventuras na estrada real   o emboaba
Aventuras na estrada real o emboaba
 
Historia De La Tecnologia
Historia De La TecnologiaHistoria De La Tecnologia
Historia De La Tecnologia
 

Similar to 拥抱开源-关于程序员的自我提高

我怎么做前端分享
我怎么做前端分享我怎么做前端分享
我怎么做前端分享明 李
 
Inner source introduction
Inner source introductionInner source introduction
Inner source introductionLi Jiansheng
 
阿里开源经验分享
阿里开源经验分享阿里开源经验分享
阿里开源经验分享Joshua Zhu
 
重整工具箱-从开源软件到开放服务
重整工具箱-从开源软件到开放服务重整工具箱-从开源软件到开放服务
重整工具箱-从开源软件到开放服务LI Daobing
 
Innovative Learning
Innovative LearningInnovative Learning
Innovative LearningRyan Chung
 
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...jixuan1989
 
How to set up new scrum team in company
How to set up new scrum team in companyHow to set up new scrum team in company
How to set up new scrum team in companyMike Li
 
GitHub 开源指南深度解读
GitHub 开源指南深度解读GitHub 开源指南深度解读
GitHub 开源指南深度解读Li Jiansheng
 
書籍的親緣關係--如何有效率地大量閱讀?
書籍的親緣關係--如何有效率地大量閱讀?書籍的親緣關係--如何有效率地大量閱讀?
書籍的親緣關係--如何有效率地大量閱讀?Gene Ng
 
2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD ConferenceGuan-Rong Huang
 
提高 Code 品質心得
提高 Code 品質心得提高 Code 品質心得
提高 Code 品質心得ZongYing Lyu
 
TQC+ Java 認證研習
TQC+ Java 認證研習TQC+ Java 認證研習
TQC+ Java 認證研習Kyle Lin
 
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comdrewz lin
 
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comdrewz lin
 
Thinking In Java 第二版 侯捷译
Thinking In Java 第二版 侯捷译Thinking In Java 第二版 侯捷译
Thinking In Java 第二版 侯捷译yiditushe
 
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱84zhu
 
201604 卡片助力输出
201604 卡片助力输出201604 卡片助力输出
201604 卡片助力输出ishanshan Huang
 
Nb的敏捷
Nb的敏捷Nb的敏捷
Nb的敏捷oulan
 
renchouduoxuexi
renchouduoxuexirenchouduoxuexi
renchouduoxuexi晓峰 杜
 

Similar to 拥抱开源-关于程序员的自我提高 (20)

我怎么做前端分享
我怎么做前端分享我怎么做前端分享
我怎么做前端分享
 
Inner source introduction
Inner source introductionInner source introduction
Inner source introduction
 
阿里开源经验分享
阿里开源经验分享阿里开源经验分享
阿里开源经验分享
 
重整工具箱-从开源软件到开放服务
重整工具箱-从开源软件到开放服务重整工具箱-从开源软件到开放服务
重整工具箱-从开源软件到开放服务
 
數位學習2.0
數位學習2.0數位學習2.0
數位學習2.0
 
Innovative Learning
Innovative LearningInnovative Learning
Innovative Learning
 
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
 
How to set up new scrum team in company
How to set up new scrum team in companyHow to set up new scrum team in company
How to set up new scrum team in company
 
GitHub 开源指南深度解读
GitHub 开源指南深度解读GitHub 开源指南深度解读
GitHub 开源指南深度解读
 
書籍的親緣關係--如何有效率地大量閱讀?
書籍的親緣關係--如何有效率地大量閱讀?書籍的親緣關係--如何有效率地大量閱讀?
書籍的親緣關係--如何有效率地大量閱讀?
 
2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference2020 11-27 Taiwan DDD Conference
2020 11-27 Taiwan DDD Conference
 
提高 Code 品質心得
提高 Code 品質心得提高 Code 品質心得
提高 Code 品質心得
 
TQC+ Java 認證研習
TQC+ Java 認證研習TQC+ Java 認證研習
TQC+ Java 認證研習
 
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
 
Djt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.comDjt22 justinliu djt.qq.com
Djt22 justinliu djt.qq.com
 
Thinking In Java 第二版 侯捷译
Thinking In Java 第二版 侯捷译Thinking In Java 第二版 侯捷译
Thinking In Java 第二版 侯捷译
 
如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱如何,高效利用搜索引擎+构建网络工具箱
如何,高效利用搜索引擎+构建网络工具箱
 
201604 卡片助力输出
201604 卡片助力输出201604 卡片助力输出
201604 卡片助力输出
 
Nb的敏捷
Nb的敏捷Nb的敏捷
Nb的敏捷
 
renchouduoxuexi
renchouduoxuexirenchouduoxuexi
renchouduoxuexi
 

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