领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Mark Little 译者 王恒涛 发布于 2011年7月1日
最近George Reese正在把他和Adrian Cole共有的一些在云端使用各种SOAP和REST API的经验写出来,对此我们早先也做了报道。现在George的原作在twitter和各类博客中激起了大量的辩论。例如,William Vambenepe同意他大部分的言论,但有一小部分持不同意见,比如说对JSON和XML的支持:
我不赞成:有两个版本的协议就说明有一个是多余的(这个链接后的帖子并不是特别在讨论JSON/XML的对立性,但它的逻辑可以适用,就像Tim Bray在评论中所指出的一样)。
而William也不同意George声称REST比SOAP要好:
未必对所有集成项目来说都是正确的,但在云API的背景下,我同意这一点。只要它是“实用的REST”,而没有为了取悦REST警察而做些很傻的扭曲。
有意思的是,有一个看法引起了William的注意...
提供优秀的API文档减少了我对你帮助的需求:这是不言而喻的(要是想找找笑点,看看George博客文章里这位评论者,他写道“如果你给一个API写文档,你的API马上就跟REST没关系了”,我情愿相信这只是玩笑,不过看起来好像写得很认真)。
......这是来自于Jan Algermissen,他很严肃地回答了William的评论:
关于“提供优秀的API文档减少了我对你帮助的需求”。如果你给一个API写文档,你的API马上就跟REST没关系了。在RESTful系统中真正的约定是媒体类型,而不是API文档。我建议你把那部分放到“缺点”!请看:http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
然而,Stu Charlton引起了可能是最热烈的讨论,并在他的关于API的麻烦的文章中总结成了5点。
- REST API是一个好心办坏事的例子。REST的目的就是消除特定的API,而不是滋生它们。
- 如果谁告诉你不应该为REST API写文档,他们实际是在说你不该写API,而不是说你不该写文档。
- 话说回来,说你不该写API的REST的拥趸也有点傻,因为他们也没有提出什么好的选择。定制的媒体类型算不上一个。
- 这样说来,以我的观点,在我们有一两个可利用的普遍媒体类型之前,对80%的REST API来说,我们只是自寻烦恼。
- 我已经差不多放弃拥护REST了,因为现在来看不太可能。人们只是想发布一些只能用6个月的API,而不是构建可以进化10年以上的系统。
特别地,关于Jan早前的评论,Stu在下面表示了支持:
Jan Algermissen的关于如果你做API文档你就不是在做REST的看法实际上基本说到了点子上,但却被人冷嘲热讽。我完全理解,如果你只想在眼下发布一个API,如果短期行为是有意为之,或者以架构式风格玩弄新潮名词,这个评论听起来有多傻。但是如果我们真的想要利用这个风格的优点,我们就会着手解决核心的问题,为这些用例设计一两个通用媒体类型。
就像在REST社区中最常见那样,Stu的文章也引来了来自正反双方许多有趣的评论。进而,可以说这个争论是与我们前面一篇文章密切相关,这篇文章是关于REST是否可以被认为是在企业内成功的,而且同样也可能与Jean-Jacques相信我们现在正处在一个后REST/SOAP世界的原因密切相关。
REST 所制造的问题(……)在于,现在随便一个API设计者都自认为称得上是分布式计算的大师,像个艺术家般决定把版本和凭证之类的东西放在什么样的地方,凭自己喜好把操作和查询编码到一堆报文头、符号、查询参数、报文体等等之中。要是你问我的话,我得说REST制造了软件工业中前所未有的暴政。
Stu最后以他认为应用REST导致的一些规则变化作为总结:
他提出的最后一点规则的改变值得单独提出来因为它多年来都是很多争论的主题:
我们所能希望的最好的情形是有人或组织能承担这个责任提出一两个通用媒体类型以及指南,来帮助描述和文档化一个数据WEB的接口给程序员使用。如果你愿意可以称之为描述语言。一些REST的拥趸不喜欢描述语言这个想法,而我认为这实际是80/20的比例,如果开发者真的打算用它原本的用法去使用这个架构。
那么你是怎么想的?我们是光缺少良好定义的设计好的REST API的规则,还是像JJ暗示的那样这是一个失败的运动?
查看英文原文: Yet More Trouble with REST APIs?
译者 王恒涛 从事软件行业开发近10年,多有涉猎,并无精通,晓英、日语。愿为知识的分享与流通尽点薄力。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
1 条回复
关注此讨论 回复