领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Werner Schuster 译者 丁雪丰 发布于 2009年10月16日
尽管Javascript无处不在,但还是很难让人喜欢它。在类似Google V8、Apple/WebKit的Nitro/SquirrelFish Extreme和Firefox的TraceMonkey这样的VM出现之前,Javascript的性能并不理想。多个浏览器间互不兼容的实现也让开发十分痛苦。jQuery和其他一些类库提供了方便好用的抽象,可以用同一种API进行编程,甚至消除不兼容性。
解决该问题的另一种方法是彻底隐藏Javascript,将其作为编译目标。Google的GWT就是一个很成熟的例子,它接受Java代码(用Java API的一个子集写的),并将它编译为针对浏览器的Javascript。现实中GWT的真实案例之一就是Google Wave客户端。最近,一些其他语言的实现也加入了这一行列。
Avi Bryant,Smalltalk Seaside Web框架的作者,开发了Clamato,这是一种能编译为常见Javascript的Smalltalk方言。Avi在FutureRuby时InfoQ对他的采访中描述了Clamato的设计原则。
Clamato的指南页面允许你在浏览器中打开一个Clamato(Smalltalk)类浏览器,查看并编辑Clamato源代码。要查找类的话,就使用类浏览器左上角的文本框。比较有意思的是那个自托管的基于PEG的Clamato解析器(在文本框中键入“PP”可以看到解析器和各种组合程序的类)。从Seaside风格的HTML构造器(Clamato浏览器中的HTMLCanvas类)中我们可以看到Seaside的影子。可视化组件能用它来构造GUI,例如,指南中的计数器组件:
renderOn: html
html h3 with: @counter.
html button
with: '+';
onClick: [@counter := @counter + 1. self reload].
html button
with: '-';
onClick: [@counter := @counter - 1. self reload].
renderOn: html这一行定义了一个新的方法,范例的其他部分是方法体,它构建了带一个页眉和两个按钮的HTML,两个按钮配置了事件处理器。无独有偶,最近还出现了另一个基于浏览器的Smalltalk——GWT Smalltalk。它的作者Peter Fisk之前创造了Vista Smalltalk,它可以基于.Net,也可以基于ActionScript。GWT Smalltalk使用了GWT来生成运行在浏览器中的Jaavscript。
GWT Smalltalk刚处于起步阶段,但发展很快。目前已经支持使用XMPP,这让它能方便地与Google Wave进行交互(XMPP是Google Wave极其重要的一部分)。你可以从Industry Misinterpretations对Peter Fisk的采访播客和GWT Smalltalk的博客上获得更多细节。
讲完了Smalltalk,再来看看Python,它也有自己的Javascript编译器——pyjamas:
pyjamas是一个独立的Python到Javascript的编译器、一个AJAX框架/类库和一种Widget集API
作为入门,最好的去处是在线pyjamas图书。
另一种能编译为Javascript的语言是Moby Scheme。让它如此引人注目的是它针对移动设备(目前是Android)的方式——将代码编译为Javascript。这一做法是可行的,因为有PhoneGap,而且Android里那个基于WebKit的浏览器自带了一个高效的Javascript VM。PhoneGap是一个允许Javascript访问本地设备功能的类库,这设备可以是加速度计、GPS、摄像头,也可以是类似通讯簿之类的东西。 PhoneGap的作者用它建起了沟通不同智能电话设备间的桥梁,它们可以有不同的编程环境,只要都有WebKit和快速的Javascript VM就可以了。通过让Javascript访问设备功能,就能为智能电话开发跨平台的应用。详见InfoQ对PhoneGap作者关于PhoneGap概览的采访。
查看英文原文:Javascript as Compiler Target: Clamato, GWT Smalltalk, Python, Scheme译者介绍:丁雪丰,网名DigitalSonic,满江红开放技术研究组织核心成员,Spring Framework 2.0 & 2.5文档翻译项目负责人,也参与了Hibernate、Seam等多份文档的翻译及校对工作。平时积极投身开源项目,是著名SFTP/SCP软件WinSCP的简体中文汉化者。参与翻译及编著的书籍有《Spring攻略》、《JRuby实战》等。InfoQ中文站内容团队,尤其是架构、SOA和Ruby社区需要您的参与,有意者请邮件至editors【AT】cn.infoq.com。
译者 丁雪丰 是InfoQ中文站编辑,满江红翻译组核心成员,出版过《Spring攻略》、《JRuby实战》等多部译著。主要关注领域:企业级应用、海量数据计算、动态语言应用等。
Scala的Web框架Liftweb也有将Scala代码和JS代码相互转换的功能。
projects.nikhilk.net/ScriptSharp
可微软就是不发展。
其实F#也有个Web Tools,里面可以写同步的代码,生成异步调用的JS:www.codeplex.com/fswebtools
更有意义的是JavaScript能运行在服务器端,像Smalltalk,Python,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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
3 条回复
关注此讨论 回复