领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Werner Schuster 译者 李明(nasi) 发布于 2008年2月27日
过去的两年里,在可选Ruby实现方面进展很大:在官方MRI及后续的Ruby 1.9之后,许多其他Ruby实现的项目被启动:基于JVM的JRuby和XRuby、.NET平台的Ruby.NET和IronRuby以及一个自托管的虚拟机Rubinius。现在看来一些合并已经发生了:XRuby的开发已经慢了下来——因为JRuby更大的动力和更广泛的使用,还因为它不能够像JRuby的扩展那样在Java中支持原生Ruby函数(例如:OpenSSL、Oniguruma正则表达式引擎等等)。
Ruby.NET的维护者Wayne Kelly博士现在看来已经在Ruby.NET和IronRuby之间做出了个人的决定。他在Ruby.NET的邮件列表中宣布:
上周在Lang.NET讨论会上,我展示了我们在Ruby.NET项目上的工作,同时也有机会了解到IronRuby项目的进展以及DLR的内部运作(Charles Nutter也展示了JRuby项目)。
我的结论是DLR无疑会一直走下去,它甚至已经成为微软平台的一个非常重要的部分。我也深信如果想达到产品级别的质量和性能, Ruby.NET必须要重新发明(或者采用)某种相当于DLR的东西。如果今天我们启动这个项目的话,我们没有理由不用DLR。尽管Ruby.NET起初 比起IronRuby项目来有一个很好的开端;在引入Ruby.NET的解析器和扫描器以及对充分利用DLR以后,我此时相信IronRuby作为. NET平台上的一个产品级别的Ruby实现将会更有可能取得成功。我认为在.NET上没有必要最终存在两个不同的Ruby实现。所以,如果Ruby.NET不可能是这个最终实现的话,那么我们就没有必要再浪费开发者的努力去徒劳地追求这个目标。
动态语言运行时(DLR)协助创建(动态)语言运行时的库。例如,它禁止开发者直接创建MS IL指令,而是通过DLR将开发者创建的DLR树转换成MS IL。
最近这种方法正逐渐被关注,因为它为语言制订人简化了许多工作。来自Ruby In Steel团队的Dermot Hogan描述了如何通过Antrl树语法来生成DLR树:
现在,在Antlr方面我时常碰到的问题是,已经得到AST后接下来该做什么?通过Antlr得到一个简单的语法很容易,但是要 通过它做点儿什么可就得需要些神迹了,因为CLR代码并不简单。但是,通过树语法将Antlr的AST和DLR连接起来就方面多了——看看上面的代码。就 是编写DLR的“适配器”类而已。
部分对Kelly博士消息的反应集中在IronRuby是否真的是.NET平台唯一可行的Ruby实现。例如,JRuby团队的Ola Bini说道:
我一点儿也不喜欢这些新闻。在很多时候拥有一个强劲的竞争者将会促进生态系统中的每一个人。现在IronRuby即将变成这个领 域唯一的玩家,除非其他人(比如Ted Neward和David Peterson)决定接手Ruby.NET。我希望有人这样做。这会让.NET的世界变得更好。关键问题并不在于我们是否相信John Lam关于IronRuby的想法,而是在于我们是否相信微软在做正确的事情。我们相信吗?
这里提到了重要的一点:因为Ruby.NET是一个开源项目,一个开发者的离开并不意味着项目的结束——其他开发者们可以接手并继续开发。
同时,IronRuby的John Lam就此事说道:
我们将会热烈欢迎Wayne,并邀请任何希望从事IronRuby的朋友加入我们的开源项目。微软研究院资助了部分Ruby.NET的开发,他们的解析器同时也应用于IronRuby。感谢Wayne在制作Gardens Point Parser Generator上杰出的工作。[...]
在CLR只有一个单一的实现在.NET社区是可以理解的。Ruby不仅仅是语言,还有运行在其上的程序。我们项目中最难的部分并不是如何让语言正确 工作(尽管这也不容易),而是使得IronRuby可以运行Ruby的程序。不管Rails的反对者们过去都说了什么,Rails依然是一个重要的程序。
这和之前的帖子相印证,在其中John提到当前IronRuby的开发策略:
最终,我们谈到了如何才能到达1.0。当前我们正在向全局驱动开发过程转换。我们的下一个目标是让“gem install hoe”工作起来。Rakefile中包含一个叫做“gap”的任务,可以让你针对目标应用程序通过set_trace_proc解释器钩子来进行gap 分析。
这和Kelly博士支持Rails的目标看上去很相似:
我依然觉得我们还有未完成的工作——我们将目标设定为可以在.NET上运行Rails,但是我们还没有达到。如果我们能贡献出我们的经验用来帮助IronRuby实现它的话,至少我个人对于可以帮助这个任务完成而感到非常满足。
注意:无论Rails对于.NET开发者来说有多么重要——其代码涉及到了Ruby的大部分特性,尤其是元编程特性。不凡的Rails应用在IronRuby上工作正常意味着Ruby特性的一大部分已经被正确的实现了。通过在IronRuby上运行Rubinius项目定义的可执行Ruby规格,将会客观地反映IronRuby的兼容性究竟如何。
查看英文原文:Ruby.NET future uncertain
译者 李明(nasi) 毕业于东北大学,曾供职于百度网页搜索部,从事分布式网络爬虫及其国际化的研发工作。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复