领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Werner Schuster 译者 郑柯 发布于 2007年8月22日
Capistrano是用来发布Ruby应用特别是Rails应用的常用部署工具,如今它面临Ruby Hit Squad开发的Vlad the Deployer的挑战。开发组的人员包括Ryan Davis、Eric Hodel、Wilson Bilkovich和Shaners Becker;在经过4天的编程之后(InfoQ提供对Ryan Davis的专访),他们就发布了这个工具。很多原因推动了他们开发Vlad,其中之一是由于Capistrano对其它软件的高度依赖。
我们与Ruby Hit Squad的部分成员探讨了他们开发Vlad the Deployer的动机。内容见下文,第一个问题是:Vlad是否比Capistrano更易于使用。
Eric Hodel(下面简称EH):复杂性更低、更容易理解和维护,就是这么简单。
Wilson Bilkovich(下面简称WB):不只是代码,而且在用户体验上也更加简洁。我曾遇到过这样的情况:在项目收尾的时候,我很难将Capistrano的配置文件直接推给客户。从经验的角度来看,Vlad就没有那么复杂。我们频繁的使用flog进行检查,并选择使用得分最低的代码。
EH:同时我们内置最常用的部署操作,来让大部分用户可以用很简单的方式来入手并开始运行应用。在最近一次的Seattle Ruby Brigade会议中,Geoff Grosenbch本来打算用整晚的时间来学习如何使用Vlad,实际上他用5分钟就完成了。
Ryan Davis(下面简称RD):没错,我们试着提供与Capistrano同样多的功能,但是复杂程度更小:
Flog(1.1)得分:
net-ssh-1.1.2.gem : 7528.3
needle-1.3.0.gem : 1685.4
capistrano-2.0.0.gem: 5609.2(几乎是Vlad的六倍)
TOTAL = 14822.9(比vlad加依赖关系的三倍还多)
vs.
open4-0.9.6.gem : 742.0(而且我们真的只用了一个方法)
rake-0.7.3.gem : 3208.9(其中包括contrib)
vlad-1.0.0.gem : 945.5
TOTAL = 4896.4
说明:Flog是一个用来检查Ruby代码优劣程度的工具,得分越高说明代码问题越多。该工具使用了Ryan Davis的ParseTree库(通过ParseTree的AST表格)来分析Ruby代码。它对代码质量的多个方面进行检查,比如:对define_method或eval的使用,对method_added之类的钩子(hook)的使用,对开放类的使用,以及其他一些会增加潜在复杂度的概念的使用等。
Ruby Hit Squad接下来提供了更多开发Vlad的原因:
RD:其他一些原因:
1)要理解Capistrano、Net::SSH和needle对我来说太难了。最近我对这些“聪明”的代码有点过敏。
2)要想把Net::SSH作为一个实际的SSH客户端来使用,问题太多了。
3)我需要花几个小时的时间来诊断Net::SSH的问题,但是得到的回应却是“(耸了耸肩)SSH有毛病”。
4)最后一个原因,应用的部署经常是在最后关头,并且是在压力下进行的,这时你肯定不希望面临太多部署上的问题。它应该就是可以工作的。
EH:Capistrano正常运行需要依赖很多软件,并且与它们仅紧紧的耦合在一起。我们需要的则是一样简单易懂的东西,于是我们选择基于rake来开发,因为它更为人所熟知,并且更容易理解。
WB:如果我对Capistrano的意见仅仅是一些bug的话,我会提交相关的补丁。但是我更希望发布工具的名字能够容纳在T恤上面。
当被问到相对Capistrano,他们是否更加推荐Vlad时,他们回答道:
RD:绝对的。我们的定位是:用20%的代码实现Capistrano 80%的功能,所以将目标放在Capistrano 80%的用户上面是很合理的。那些真正的内行用户们可能希望使用Capistrano全部功能,因此不想使用其他软件。
WB:绝对的。我们希望接纳Capistrano的绝大部分用户,以及那些不知道如何让Capistrano开始运转的人们。
EH:我们还希望Vlad不只是用来部署Web站点。在很快将要发布的1.1版本中,用户可以略过缺省的Vlad建议,而是将其用作通用的系统管理工具。
当被问到Capistrano和Vlad项目是否有可能进行合作或是发生互动时,Ruby Hit Squad看起来非常积极:
WB:我希望看到一个能够执行不同任务的、基于特定系统的命令库,这两个工具都会用到类似的东西。在搞定一些相似的细节之后,我们可以共享一个支持SCM的程序库。
RD:当然有可能啦……不过我现在不愿意做太多的预测。但是我同意Wilson的观点,存在一个能够让我们彼此都受益的合作空间。
现在,你对Capistrano的经验是什么呢?
查看英文原文:Capistrano gets competition: Vlad the Deployer译者 郑柯 InfoQ中文站总编。做过开发,当过PM,干过销售,搞过市场,最终还是回到媒体。实用的理想主义者,相信:每天改变一点点,这个世界会更好。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复