领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Alex Blewitt 译者 郭晓刚 发布于 2012年1月17日
Scala IDE赶在年底发布了2.0版。Scala IDE项目最初由Miles Sabin创立,后与Typesafe携手,造就了一个达到产品级质量的Scala开发环境。
Scala IDE 2.0版是与1.x版并行的版本,它对底层的Scala编译器做了改动以完善IDE自身的代码提示和代码展开功能。2.0版在正式发布之前,经历了2011年全年一系列beta测试,成功将Scala环境带到Eclipse 3.6平台,这个版本也可以在Eclipse 3.7上使用,但因为尚有一些小问题需要解决,暂时没有列为正式支持。
2.0版的新特性有:代码补全(包括implicits展开)、鼠标悬停显示推断类型、智能重编译项目依赖项、集成Maven等现有工具。Scala IDE将开发环境与Eclipse本身的Java调试器集成在一起,让Java开发者也能轻松地接受和运用Scala语言。
自从项目搬迁到GitHub,已经有22次fork,并且收到若干pull请求。从中可以看出,搬迁到GitHub的确收到了鼓励社区贡献的效果。
InfoQ采访了Scala IDE的项目领导人Iulian Dragos,首先请教他1.0版和2.0版有哪些重要区别:
Iulian Dragos: 从用户的角度来说,可靠性和响应能力提高了。我们从头到脚翻新了编辑器和产生语法表示的编译器之间的交互,保证编辑器绝不会因为等待操作完成而陷入无响应状态。本次发布的亮点还有代码补全、代码内超链接和边打字边报告错误的功能。
我们还完成了新的项目构建器,支持构建存在依赖关系的多个项目(基于Sbt依赖跟踪引擎)。我敢说这个版本可以让你在任何规模的项目里面运用Scala语言。这个IDE本身就是用它自己来开发的,Scala团队也用这个IDE来开发Scala编译器(项目规模超过110 kLOC)。
InfoQ:Scala IDE怎样跟自动化构建工具配合,比如SBT或者Maven?
Iulian Dragos: Sbt和Maven都有相应的插件可以导入Eclipse项目定义。你只需要在Eclipse工作空间里面导入需要的项目就可以了,没有别的额外步骤。
InfoQ:新版支持哪些重构和Quick Fix功能?
Iulian Dragos:2.0版确实在重构支持方面进步了很多,这要感谢Mirko Stocker的贡献。现在支持的重构操作有 Extract/Inline Local、Extract Method、Rename、Organize Imports。还有一项Quick Fix功能,是从classpath查找类然后补全import条目。
InfoQ:是否允许Scala项目依赖于Java项目?反过来又行不行?可不可以在一个项目里混用Java和Scala代码?
Iulian Dragos:支持以上所有组合。
InfoQ:Scala IDE未来的路线图怎么样?
Iulian Dragos:Typesafe的IDE团队正在规划这个路线图,我们希望先和社区一起讨论。所以现在我不能确切地说将来会是什么样子,要看讨论的结果而定。
我们的项目跟任何开源项目一样,大家可以自主地插一脚进来,做出优秀的特性,然后我们将之纳入项目。其实现在已经接收到一些非常优秀的贡献,例如“Implicit高亮”特性,我还知道Matt Russell正在开发语义高亮功能(即根据标识符的种类如class/trait/val/var,分别赋予不同的显示样式)。“Implicit高亮”功能已经进入了2.1版的每日构建版本。
在开发团队这边,下面有几个重点方向,一是改进Scala调试器(当前开发者只能用Java调试器来调试Scala代码),二是提供更清爽的API给其他插件的开发者在Scala代码结构上实现各种操作(例如实现测试框架的运行器),还有就是代码搜索(如用于查找引用)。我们还计划为Scala interpreter设计更好的用户界面,因为有很多用户提出了这样的要求。
InfoQ:为什么Scala IDE分成两个版本?
Iulian Dragos: Scala IDE依赖Scala编译器去完成所有的语义操作。举例来说,你输入的时候,错误的地方会被红色下划线标出来。为了让显示的结果和项目编译的结果一致,我们要在编辑器背后使用同样的编译器。所以,如果你的项目采用Scala 2.8,那就必须用对应2.8的插件。因为并不存在一个编译器开关让2.9编译器以2.8兼容模式工作,所以,我们只好在插件里分别放入2.8或者2.9的编译器,分成两个版本。
InfoQ:你们有没有一套贡献者协议书,让其他人也能向项目提交补丁?
Iulian Dragos:有的。我们用的是Scala许可,贡献者协议也和Scala项目相同。我们尽量让大家更容易参与进来,我非常乐于看到越来越多人贡献力量。在2.0版发布之前,我们花了很多时间去整理开发文档,大家可以参考开发文档里面的“能做些什么”页面,我们无任欢迎!
读者现在就可以去下载Scala IDE。因为IDE分为两个版本(各自对应一个版本的Scala),所以有两个update site。你可以可以任选一个来安装,但是不可以同时安装在一个Eclipse实例里面。
您对这次的新版Scala IDE有何看法?
查看英文原文:Scala IDE 2.0 Adds Refactoring Support
译者 郭晓刚 是InfoQ中文站架构社区编辑,创建并终结过数家软件小企业,翻译过多本技术书籍。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复