领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Mirko Stocker 译者 杨晨 发布于 2009年6月21日
Rip是一个GitHub团队开发的全新的Ruby包管理系统。它能够管理不同的安装源,例如目录、文件,Git版本库以及RubyGems等。
另外一个有趣的新特性是虚拟环境(“ripenvs”)。Ripenvs能够用于无冲突地安装和管理一个包的多个版本。Ripenvs能够使得依赖库的升级更加安全,方法很简单,只需通过创建一个新的实验环境然后在这个环境中升级即可,如果中途发生任何意外,你也能够回到之前稳定的环境。
但是为什么是一个全新的包管理器?RubyGems怎么了?我们采访了Rip开发者之一,Chris Wanstrath:
RubyGems没有任何什么问题。我很喜欢RubyGems。看起来人们认为Rip是“修正”或者是补充RubyGems。但是事实并不是这样。
Rip的目的是使得包的安装、使用和管理更加快捷方便。它的目标人群是安装者而不是分发者;是那些能够通过命令准确知道应用程序所使用的库版本的用户,而不是那些需要猜测库版本的用户;是那些希望在安装包的时候希望知道发生了依赖冲突的用户,而不是对此漠不关心的用户。
Rip是为那些希望能够主动知道运行X的版本的用户编写的。这也是在帮助你调试一个问题。希望能够保证所有计算机都运行着相同版本的相同库的用户可以使用这个工具。还有那些希望看到升级某个库的影响如何的用户也可以使用这个工具。
Rip不是寻找其他系统的缺点而是优点。
仅仅使用RubyGems是否会更加容易一些呢?
Rip和RubyGems是两个迥异的工具:所以,它们真的是不同的项目,关注于不同的东西。我不相信它将会在工作的时候(或者部分),完全改变RubyGems的目标、核心理念和基础代码。这两个系统能够和谐共处。
- Rip和你的$LOAD_PATH相关,而RubyGems则是重载了‘require’。
- Rip关注于$RUBYLIB而RubyGems需要一个‘require “rubygems”’。
- Rip能够管理多个环境,每个环境的库的版本是独立的,而RubyGems只能管理一个单独的环境,每个库可能有多个版本。
- Rip能够(理论上)安装任何包类型,而RubyGems只能安装.gem文件。
虚拟环境貌似是管理为不同版本Ruby编写的包的完美解决方案,例如JRuby。
当然,这也是Rip优点所在——也许你需要为不同版本的Ruby发布不同版本的ripenvs(可安装的Rip虚拟环境)。一个是为1.9,一个是为1.8,一个是为JRuby——使用Rip对你和你的客户来说都更加容易。
这就是Rip工作的方式。不需要任何特别的特性。
Rip现在仅仅是发布了0.0.1版,你们接下来打算做些什么呢?
我们还没有开始升级甚至是深入了解ripenvs的能力。能够使用一个命令(例如 ‘rip freeze | gist ’)来共享开发环境,合并开发环境而不用担心版本冲突。使用ripenvs部署你的应用程序仅仅是我们的目标之一。
我们也希望能够复制git的‘reflog‘思想,所以你能够轻易地检视或者撤销任何你在ripenv中所作的更改。你不需要担心任何数据或者设置的丢失。
我们也有一些比较大的想法,比如能够帮助你根据名字而不是url找到包。
当然,支持hg、svn和bzr是计划之内的事情。你需要安装它们。
我们也会在Rip 1.0中支持Windows。
更多Rip的信息,包括一个简短的教程请参见Rip website。
查看英文原文:Rip: A New Package Management System for Ruby译者 杨晨 对数据库和搜索引擎有深入了解,尤其擅长经典计算机科学理论,对历史学兴趣浓厚。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复