领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Werner Schuster 译者 霍泰稳 发布于 2007年6月15日
Gardens Point Ruby.NET编译器是一个在CLR上运行Ruby代码的支持平台,最近发布了0.8版本。最新的版本使得用Ruby访问用其他语言写的代码成为可能,反之亦然。因为对所有针对CLR或者JVM的Ruby运行时而言,互操作性都是一个重要的话题,因此我们就此采访了Ruby.NET团队成员John Gough。
首先,John与我们分享了一些关于Ruby.NET如何处理Ruby和.NET对象的一些实现细节:
互操作性依赖已存在的Ruby.NET中对象继承的选择。大多数在Ruby中定义的对象都是源自Ruby.Object的CLR类型。这些对象都有一个指向“类”对象的字段(Field),而“类”对象属于对象类型字典里某种类型。但是,对一些内嵌类的对象,比如FixNum、True、False等,是被一个封装有Raw值的空CLR对象所继承。方法调度通过把对象作为参数,来调用一个名为“ClassOf”的静态方法予以实现。对于源于Ruby.Object的对象,这会返回一个Ruby类的类对象引用(Reference),而对于FixNum,运行时则返回一个FixNum类型的已知类描述的引用。
现在,请注意这一点:ClassOf不期望互操作对象被封装,所以如果有对象不是继承自Ruby.Object,且不是一个内建类型,它就必须是一个互操作对象。全局缓存中保留着从CLR类到Ruby类的映射关系,以支持从CLR类到封装互操作类上方法调用的Ruby类对象。
所以,当一个CLR类的对象首次出现时,对象不会被封装,但会创建一个Ruby类描述符完成这项工作。已有的方法使用反射按需被发现。还有一些事情,如重载方法,依然有很多未决的问题,尽管对一些小子集的调用,声明类型能处理绑定。
还有一些功能没有得到很好的处理,比如引用参数。John解释说:
0.8版本的另一个局限性是无法处理有引用参数的CLR方法。这不会让我们的进度停滞(译者注:show-stopper 一般指在Issue Tracking中,某个Issue过于严重而让项目不得不停滞)。这是Wayne Kelly的调用,但是我期望引用参数能通过复制传递而终止。要完成这些工作需要有许多管道代码(Plumbing Code),因为对于CLR而言,byref声明需要有确切的类型……而不是Ruby的一个外来概念。
注意:Wayne Kelly也是Gardens Point Ruby.NET团队成员。
兼容性和性能也是将来考虑的一部分。John说:
正如在发布声明中所说的一样,尽管在遇到严重的性能问题时我们试图避免任何不当的设计,在优化方面我们还没有任何作为。我们已经很接近要达到的目标了,一旦达到我们就可以加快进度。需要提出的是,我们没有做任何方法绑定的调用缓存,要知道它可能是在整个动态语言实现领域唯一最大的性能增强点。
在未来,Ruby.NET会考虑依靠社区贡献来进行完善。John解释了未来的发展规划:
我们会继续在这个项目上努力,这一过程至少要持续到年底。然后到1.0版本的时候,我们期望能将这个项目向社区公开。这只是我和Wayne Kelly所参与的几个项目中的一个而已。我们还负责Microsoft-QUT eResearch中心,网址为https://www.mquter.qut.edu.au,还为其他一些语言工具努力,请浏览http://plas.fit.qut.edu.au/projects,另外还要更新“Compiling for the .NET Common Language Runtime”这本书等。
关于Gardens Point Ruby.NET编译器的更多信息,请浏览Channel 9最近发布的对Wayne Kelly的采访。
查看英文原文:Gardens Point Ruby.NET internals interview译者 霍泰稳 霍泰稳是InfoQ中文站的联合创始人兼CEO,有多年的软件开发经验和媒体从业经历。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复