领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Alex Blewitt 译者 张龙 发布于 2009年9月2日
在过去的一个月中,人们对Java Modularity工作组(JSR 294)的当前状况争论不休。尽管该JSR使劲浑身解数来探求不同模块系统之间的共性(尤其是Sun的Jigsaw项目以及OSGi),然而目前的这些提 议都太过于复杂并且首次引入了元模块(meta-module)系统的概念。
大多数争论的焦点都聚集在语言规范及其实现的差别上。当前的情况是JSR 294草案(大多数专家组成员都很讨厌该草案)定义了一个元模块系统,该系统会将模块、版本、约束以及依赖的概念代理给一个“可插拔”的外部模块提供者上。但遗憾的是,这意味着版本号以及依赖之间将失去共同点,最终导致为不同模块系统所开发的模块之间很可能不兼容。
这对于Java社区没有任何帮助,因为人们急需一个既能与OpenJDK jigsaw搭配使用,同时又支持OSGi的模块系统。很多人都在问为什么OpenJDK无法重用OSGi,答案很简单:OSGi不仅仅只是个模块系统,尽管其核心规范(定义了模块层)内容不多,但协议问题依然阻挠着OpenJDK对其的重用。
相比于开发一个元模块系统(对语义以及外部提供者的概念定义都很模糊),有人在邮件列表中提出了简单模块系统的概念,建议趁早摆脱元模块系统的束缚而将精力放在这两个模块系统(Jigsaw以及OSGi)都能支持的共同点上。这就需要大家对模块版本的表示方式达成一致(不管怎么说,这对于Java开发者都是件好事),同时定义模块依赖(类似于Maven的模块依赖),这样在一个模块公开自己所定义的所有包时就会隐式导入所需的包。
凭借这一点,Java开发者就能构建兼容于Jigsaw与OSGi的模块,尽管这二者都具备强大的扩展能力,但对于那些只是构建Java程序库并提供模块的大多数开发者来说,暂时还用不上这一点。这样提供者就无需为使用哪种格式费心了,而可以将精力集中在Java程序库的静态模块上。我们还可以在动态模块系统中充分体验到更加强大的动态模块;但对于绝大多数情况来说,静态模块足矣。
简单模块系统的提议主要包括如下几点:
由于JSR进程工作方式的原因,一个或几个人负责编写规范,而专家组则在那儿讨论、指出问题所在或是批准草案。曾几何时,元模块系统没有通过专家组成员的批准,很多专家组成员(包括Sun的雇员)感觉有必要编写自己的提议以突出当前草案中存在的问题。这就像是为得到针对Java的标准模块系统所作的最后挣扎,大家都期望简单模块系统(整个都定义在了语言规范中,无需外部实现的支持)既能满足OpenJDK Jigsaw的需要,也能符合OSGi的需求。
或许最大的胜利就是各方在版本号的表示上达成了一致。OSGi早就定义了major.minor.micro.qualifier格式,它对于所有的Java程序库都足够了,但唯独Sun是个例外(Sun使用了1.major.minor.micro.qualifier格式)。然而还有一个重大的差别:在OSGi中空的qualifier代表了最低的版本号,而在大多数Java开发者的潜意识和Jigsaw中,空的qualifier却代表了最高的版本号(换句话说,在Jigsaw中,1.0.0要大于1.0.0.beta,而OSGi则恰恰相反)。寻找一个共性来解决这个问题(将其作为一个特例)可以看作是模块系统版本号需求的一个巨大进步,哪怕是再给版本号增加一部分。OSGi的未来版本可能会支持这一点。
对于Java来说,用简单模块系统替换掉元数据系统,你有什么想法呢?
查看英文原文:Can the Simple Module System save JSR294?
译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。
大众点评网诚聘:Java、架构/性能优化、Hadoop等职位
百度开发者大会巡讲进行时,与大牛近距离交流移动•云技术(广州/武汉/西安/上海 免费报名!)
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
1 条回复
关注此讨论 回复