领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 张凯峰 发布于 2010年11月5日
Maven是Java世界中一款历久弥新的构建工具,很多耳熟能详的开源项目都是基于Maven来构建的。Maven 3刚推出不久,InfoQ有幸采访到国内唯一的Sonotype(Maven背后的公司)员工许晓斌先生,请他谈谈关于Maven 3以及他即将出版的新书《Maven实战》。
1. 首先,请您介绍你自己,从什么时候开始你从事Maven的推广工作,以及你现在在做些有什么有趣的事情呢?
我从07年开始接触Maven,慢慢学习并在实际项目中推广使用,然后慢慢喜欢上了这个技术。1年之后我开始编写Maven中文博客并翻译《Maven权威指南》,并且维护了一个Google Group,我想这些事情对于Maven在国内的推广起到了一定的作用。也正是由于这些工作的关系,我有机会熟悉Maven的方方面面,并加入了Sonatype —— Maven之父Jason Van Zyl创建的公司。
目前我主要做两方面的工作,其一是维护Maven中央库和Sonatype OSS仓库托管服务,该服务为开源项目提供免费的Maven仓库并帮助他们同步自己的构件至中央仓库。目前有超过600个项目在使用该服务,包括知名的JUnit、TestNG、Ehcache等等。除此之外我也参与Nexus的开发,开源的、商业的都有。
2. Maven 3刚刚推出不久,据说这个新版本在性能上有很大的提高。相比较以前的版本,你觉得最大的变化、最重要的新特性是哪些呢?
Maven 3发布的第一时间我就写了篇博客进行介绍,其实从性能上来说,抛开并行构建不谈,用户不会感受到很明显的提高,这是因为Maven本质上是将构建工作给其他工具来做的,例如编译用javac,测试用JUnit,因此给Maven的改进余地不多。使用Guice代替Plexus从一定程度上能改进性能,但不是很明显。我个人认为Maven 3最重要的改进是清理,包括代码清理和不良特性的清理,例如在Maven 3中,你使用插件不声明版本不会引入快照,而Maven 2就因为快照插件的问题被很多人诟病。此外,Maven 3的并行构建特性也让人眼前一亮,只要模块组织合理,多个模块能够得以同时构建,充分利用多核资源。
3. 在今年2月份,InfoQ有篇新闻是关于Maven 3即将采用Guice来作为新的DI层,请问这在Maven 3里面实现的如何?这对那些采用Maven的开发者来说,有着什么样的好处呢?
采用Guice作为DI容器最大好处在于标准化,Maven之前使用的Plexus历史也很久,但发展得很差,文档也很缺乏,转到Guice后,由于大家更熟悉,就可以吸引更多的贡献者。Maven团队也不再需要花时间去维护,有了问题,可以得到Guice社区的帮助。
Maven 3在采用Guice的同时还必须支持Plexus风格DI标注或XML配置,以兼容现有的数以百计的Maven插件。为此Maven团队基于Guice 2.0所支持的自定义注入器,开发了一个中间层模块,该模块包含一个匹配器来识别你的标注配置是Plexus风格还是Guice支持的JSR300风格,如果是Plexus风格则再应用额外的集成逻辑。实现的细节在这两篇博客中有介绍:The Guice/Plexus Bridge and Custom Bean Injection,Create a Guice Bean Extension Layer。
4. 在InfoQ的这篇关于Maven 3的新闻里,出现了很多开发者对于Maven的评价,可谓毁誉参半。作为Maven的推广者,你怎么来评价这样争论的存在呢?
关于Maven的争论从来没有休止过,类似的争论还可以找到很多。但有目共睹的是,越来越多的开源项目在使用Maven作为他们的构建工具。我想那些人反对Maven主要是以下三个个因素:
- Maven提倡约定优于配置,例如目录结构的约定,很多习惯高度自定义的用户受不了,于是当然就排斥。其实约定有很多好处,例如当你从一个项目转到另外一个项目的时候,你不需要学习另外一套结构。
- Maven的学习曲线陡峭,一些人花了时间去学习,但没体验到快乐就学不下去了,因此完善的文档很重要。
- 与IDE的集成,这方面m2eclipse的质量确实比不过其他集成如Ant,问题也有一些,但这些都在改善。IDEA对Maven的集成就相当不错。
争论还会继续,只要反对者能提出合理的需求,那就是Maven改进的空间。
5. 谈一谈你编写的即将出版的那本新书吧,名字叫《Maven实战》?为什么我需要这样一本新的Maven书呢?
由于种种原因,我翻译的《Maven权威指南》没有能够在国内出版,这是一个遗憾,很多人告诉我他们自己打印了那本书看,这让我很感动。我很希望国内能有一本印刷上市的关于Maven的书,这是我写《Maven实战》的最原始动机,后来我发现借助这个机会,我能将书写得更接近国人,包括语言的组织,以及内容的安排。例如在《Maven实战》一书中,我介绍了使用Maven进行自动化部署,以及结合Hudson进行持续集成等内容,这些内容都是我实际体会到大家迫切需要的。前面说过,Maven的学习曲线比较陡峭,这是他的天生问题,弥补的办法就是提供完善的文档,对于初学者来说,这样一本书无疑能帮他们少走弯路,节省时间。
6. 请您给那些不甚熟悉Maven的开发者们一点建议,怎样才能又快又好的掌握Maven呢?
首先不要排斥它,很多人因为Maven有很多约定而受不了,其实Maven这样做能帮助你更规范的管理项目。其次,如果不要太依赖于IDE,IDE能做很多事,但在自动化构建以及持续集成这些方面他不擅长,试着多用用命令行,熟悉Maven命令的同时,也能更深刻地体会一些Maven的概念。还有要耐下心来读读文档,你买我的书看当然最好,想省点可以看《Maven权威指南》。最后就是实践啦,可以看看开源项目怎么用Maven的,然后在实际的项目中尝试,并使用Nexus建立自己的Maven私服。
张凯峰 InfoQ中文站编辑,有多年软件开发和测试经验,热衷参与技术社区与技术传播。
RT
Juven算是国内Maven领路人了,期待Juven的新书发布。
Maven很久以前就有人用了,应该算是推广者吧。
Maven很久以前就有人用了,应该算是推广者吧。
是的,应该是推广者!
Juven的书一定要支持,看了目录,好像还不错,期待迷你书,期待书正式上市。
感谢Juven 将我们领到了Maven 的世界。
人家老许夏天就写完的书,居然等出版还要3个月?现在的出版社的工作效率越来越低了。没人买的书急着出,好书却还要慢慢来。真是的。
哎呀,可能是大家对出版的环节还不太了解,如果以敏捷的方式来做,可能会更慢,而且出错的几率会大大增加。
谢谢各位朋友的支持,《Maven实战》上市一天就冲到互动网畅销排行榜第6名了,热泪盈眶啊!
希望这本书对大家有帮助,同时也希望大家多给我们和Juven Xu提意见,我们一定会把这本书维护好,随着Maven的发展而不断地完善下去。
www.china-pub.com/197177
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
9 条回复
关注此讨论 回复