领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Dionysios G. Synodinos 译者 宋玮 发布于 2010年8月14日
Genuitec and Skyway Software的MyEclipse for Spring 8.6已经发布了。这一版本包含了 Spring Core 、Adobe Flex、Spring MVC、 GWT、Spring Web Flow 以及 iPhone Web应用程序快速开发工具。
该版本还引入了一套新的Spring开发编辑器和代码助手,帮助开发基于注解的Spring程序和JAX-WS制品。.
为进一步了解这一新版产品,InfoQ采访了产品总监Niel Eyde。
InfoQ:MyEclipse for Spring 的主要特性是什么,能够解决什么问题?
Niel: MyEclipse for Spring的一个主要特性是脚手架(scaffolding),它包括通过采用由开发者提供的标准应用程序模式的最小输入(inputs)集所产生的Spirng应用的全部或主要部件。利用各种输入(Java beans、JPA entities、关系表、WSDL/XML)你可以产生多种类型应用程序,包括:Spring MVC、Spring Web Flow、Google Web Toolkit (GWT) &Spring、Adobe Flex &Spring,以及 iPhone Web 应用程序。MyEclipse for Spring 还支持Web服务脚手架,以消费和生产JAX-WS web服务,包括契约优先(contract-first)和代码优先(code-first )开发。
脚手架的目的是加速应用程序开发。MyEclipse for Spring能够产生一个应用程序的各层代码,包括Web、service、domain、以及数据访问层。 我们来看看MyEclipse for Spring的两个常见用例:一是产生可运行的应用、上下文相关的例子、或功能原型;二是产生开发人员在项目中可利用的特定应用层或组件。
代码助手是MyEclipse for Spring的另一个主要特性,可以在日常开发过程中对开发者提供帮助。其目标是支持基于注解的开发。尽管大多数Java开发者都了解Java 注解的技术运用,但通常并不清楚对特定技术有什么注解可用,什么情况下应该用什么注解。例如,Spring框架对基于注解编程有很好的支持,但是其所支持的注解非常多,有些注解是所有Spring stereotypes(Spring构造型)都可用的,另外一些注解则仅对特定stereotype可用。为了给 开发者提供帮助,MyEclipse for Spring的代码助手支持基于注解的开发,通过在配置注解过程中提供援助,它可以帮助开发者了解哪些注解可用,以及在何种上下文中应该使用哪个注解。
有关MyEclipse for Spring特性的更多信息可以参见http://www.myeclipseide.com/me4s。
InfoQ:这一版本的新增功能中什么是最重要的?
Niel: 在该8.6版中,我们增强了已有的Spring MVC脚手架功能,并增加了对Adobe Flex、Google Web Toolkit (GWT)、Spring Web Flow、以及iPhone Web的脚手架支持。这一版包含了JAX-WS和Spring stereotypes(包括Controllers、Services、Components、以及Repositories)的新代码助手。作为这一版的一个部分,我们还努力打造出更加全面的学习资料、文档以及教程,以帮助用户并给他们提供成功使用MyEclipse for Spring的所需信息。
InfoQ:你了解正在使用你们产品做项目的客户吗?对于正在考虑使用你们解决方案的团队,怎样的开发过程才是你们所推荐的呢?
Niel: 通常,我们的客户使用MyEclipse for Spring 来加速应用开发,创建功能原型,学习新的技术,以及加速应用程序现代化。下面我来分别说明这几块。
加速应用开发
使用Eclipse的开发者拥有很多可以利用的工具,MyEclipse for Spring则增加了一个集成的代码生成功能套件。利用代码生成功能,开发者只需点几下键盘,即可精确描述其要产生什么组件。
功能原型
用MyEclipse for Spring在制作原型和产品方面没有区别,但很多客户发现从domain模型产生全套可工作应用程序的能力对制作原型特别有帮助。尤其是他们可以迭代domain模型,瞬间由domain模型重新产生应用。有一个可运行的应用,非常有助于与业务分析师推敲需求。而且,你还可以用原型作为应用程序开发的起点。
学习新技术
开发者精通一门技术有助于其学习其他新技术。开发者通常用一个简单应用或参考应用作为学习的起点,但是 MyEclipse for Spring可以让他们用自己的domain模型创建与其上下文相关的例子。比如,如果PHP开发者想学习Spring,利用已有PHP应用的数据库表,他们就可以快速产生一个Spring MVC(Spring Web Flow等等)应用。因为该应用是基于其domain模型的,因此与从网上下载的应用相比,他们对所产生的应用更加熟悉。而且,他们可以以正确的方式学习新技术,因为“与其上下文相关的例子”采用了该新技术的最佳实践。
应用程序现代化
对一个组织而言,MyEclipse for Spring对于现代化其应用非常有帮助,MyEclipse for Spring可以应用于很多场景:例如,或许某组织正从某种技术或框架向Spring迁移;或者,他们想让已有应用拥有更丰富的前端(GWT、Adobe Flex)。对这两种情况,都可以使用MyEclipse for Spring,利用他们已有应用制品来产生新应用组件的重要部分,从而跨域式实现现代化。
InfoQ:你们产品里的脚手架是非常重要的特性,与其他解决方案如Spring Roo等相比,它有什么不同?
Niel: 首先,我本身就是Spring Roo团队成果的粉丝。我们的目标是发布额外的Spring代码生成工具,给开发者提供其他SpringSource免费选项。
我们有一个网页罗列了Roo 和 MyEclipse for Spring的主要区别,但是从更高层来看,有三个主要区别。第一个区别是开发环境使用的工具不同:MyEclipse for Spring使用的是基于Eclipse的向导和编辑器,而Spring Roo使用的是脚本语言和命令行接口。Eclipse用户已经很熟悉向导和编辑器的使用,因此使用MyEclipse for Spring几乎不用怎么学习。第二个区别是产生应用程序的应用模式不同:MyEclipse for Spring产生的应用遵循传统架构模式(Controller、Service、Domain 和 DAO),而Spring Roo则采用领域驱动设计概念(Domain Driven Design concepts:Aspects & Weaving、no Services 或 DAOs)来产生应用程序。
第三个区别是产生应用程序的类型不同: MyEclipse for Spring产生Spring MVC、Spring Web Flow、GWT、Adobe Flex及iPhone Web应用,并且同时支持Spring 2.5/3.0。所有所需第三方类库均已包含,因此MyEclipse for Spring非常适合产生当今产品应用组件。Spring Roo只能产生Spring 3.0的Spring MVC应用。Spring Roo 的一些早期访问版本也能支持其他的应用类型,但是这依赖于产品里程碑以及早期访问版本的类库和框架。
再强调一下,要想了解MyEclipse for Spring 和 Roo的其他区别,请访问http://www.myeclipseide.com/me4s/faqs/faqs_tool_comparison.php。
InfoQ:你们项目的路线图是什么?未来将如何发展?
Niel: 在脚手架方面,我们将继续研究更多应用类型的脚手架。我们还想提供更细粒度的代码产生控制,包括通过提供自定义模板,让开发者更容易地自定义MyEclipse for Spring代码产生引擎。另外,几个新代码助手已经列入计划,敬请耐心等待。
MyEclipse for Spring 包含了MyEclipse Professional的所有功能,如有兴趣可以下载30天免费试用版。
查看英文原文:MyEclipse for Spring 8.6 Released with Flex, GWT and iPhone Scaffolding
译者 宋玮 有多年软件开发经验,长期担任技术管理和项目管理工作,一直关心开源软件的发展动态以及软件过程和敏捷开发的实践探索。
在实施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 条回复
关注此讨论 回复