领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Jeevak Kasarkod 译者 杨晨 发布于 2011年8月7日
Google Chrome团队近期发布了Web Intents,这是一个API,它允许Web应用集成第三方服务而不需要使用每一个第三方服务自有的API。Web Intents等于是Android intents的Web版,它的实现原理是使用了后期运行时绑定机制,这就使得应用程序和服务之间的关系式松耦合。Web Intents还提供了十分用户友好的机制来控制服务集成以及简化开发过程,这样就将用户置于主导位置。
在Intents系统中,服务将会显式地注册为使用intents,后者只是一些泛型动作,例如编辑,查看,分享等,以及使用这些动作的数据。在运行过程中,用户需要在注册为同一个动作的多个服务中进行选择。这样被选择的应用以后就会专门负责这个动作。在现实世界中类似的情况便是使用自己的Web应用来发布照片,开发者与其自己编写一个集成各种各样的照片分享服务(例如Flickr或者Picasa)的API,还不如引入Web Intents系统,让自己的Web应用在几行代码便能完全使用浏览器的功能,这样可以将Flickr或者Picasa注册为分享服务,并且可以在之后询问用户选择默认的分享服务。不过现在没有任何一个浏览器能够完全支持这个特性,于是Web Intents项目使用了一个JavaScript插件来让Web Intents应用能够在IE 8和9、Firefox 3以及更高版本,Chrome 5及更高版本和Safari浏览器上运行。
Google软件工程师James Hawkins在Chromium博客上提供了一个详细的JavaScript例子来阐述API功能。
想象一下这样一个创业项目,开发者们要做一个在线照片存储站点,但是却资金不足:开发者不会有足够的资源向它们的应用中加入照片编辑能力,但是他们认为如果不加入这个功能的话,站点就毫无竞争力可言。Web Intents系统仅仅以很小的代价就能够帮助他们做到这些。
var intent = new Intent(Intent.EDIT, ‘image/png’, getImageDataURI());
window.navigator.startActivity(intent, loadEditedImage);
// 这个回调函数将会在服务返回编辑好的照片数据时候调用。
function loadEditedImage(data) {
var image = document.getElementById(‘image’);
setImageData(image, data);
}
当用户访问了她最喜欢的memegen服务,这个站点将会使用这样的声明请求注册对”image/*”类型文件的编辑意图:
<intent
action=”http://webintents.org/edit”
type=”image/*”
/>
当用户初始化编辑动作的时候,这个服务将会调用已注册的图片编辑器。一旦用户选择了Meme Generator,引用的站点将会在新的运行时环境中打开,并且能够加载图片数据:
var intent = window.intent;
memeImg.src = intent.data;
memegenForm.onsubmit = function() {
// 转换图片
addMemeTaglines(memeImg, memeTopText, memeBottomText);
// 将生成完毕的图片返回给客户端
intent.postResult(getImageData(memeImg));
};
一旦postResult()被调用,Meme Generator运行时环境将会关闭,输出的数据会使用传递给startActicity()的回调函数返回给客户端。
一些默认的意图(intent)已经写入了文档:
发现:发现意图是设计为让开发者能够寻找外部服务中的API或者服务。
分享:分享意图是设计为让应用能够提供一个简单的机制能够分享当前页面的数据。用户可以注册任何分享的动作,包括且不限于社交网络和Email服务。“分享”协议可以作为一个轻量级的分享工具。
编辑:编辑意图是为了让应用能够提供一个简单的机制编辑当前页面的数据。用户可以注册任何编辑的动作,包括且不限于图片操作工具和文本编辑器。“编辑”协议可以作为一个轻量级的编辑工具。
查看:查看意图是为了让应用能够提供一个简单的机制查看应用程序中的数据。用户可以注册任何查看的动作,包括且不限于特殊的图片工具或者音频播放器。“查看”协议可以作为一个轻量级的查看工具。
挑选:挑选意图是为了让服务能够允许用户从中选出文件以供客户端应用使用。用户可以注册任何挑选的动作,包括且不限于图片画廊例如Picasa或者Flickr。客户端应用可以是任何一个Email客户端,例如Gmail或者Email。“挑选”协议可以作为一个轻量级的云文件挑选工具。
Google正在和Mozilla协作以统一解决方案。Mozilla也对这个问题非常感兴趣,并且在上个月早些时候通过它们的Open Web App Addon 0.3引入了Web Activities。Open Web App生态系统包括应用程序机器的可读表单,用户的应用存储库,加载的应用程序的表盘以及支持的交互行为。这里面的表单很类似于Web Intents系统里面的意图。
现在还不清楚用户能否广泛的采用,但是看起来它的确是一个不错的应用程序集成以及服务提供者,你怎么想呢?
查看英文原文:Web Intents: Google's Mechanism for Inter WebApp Linking
译者 杨晨 对数据库和搜索引擎有深入了解,尤其擅长经典计算机科学理论,对历史学兴趣浓厚。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
2 条回复
关注此讨论 回复