领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 Werner Schuster 译者 杨晨 发布于 2010年11月13日
除了Smalltalkers之外,动态语言程序员使用的工具和IDE等都是用底层语言编写的。但是是对于用户(例如开发者)来说,使用原生开发工具是大有裨益的。例如如果编辑器和IDE是原生的话,这就意味着开发者能够即时扩展他们的工具,而不需要在另外一种语言和平台上浪费时间。Java开发者现在有一大批Java原生IDE可供选择,而且均可以编写一些Java代码进行扩展。不过这种情况对于JavaScript和Ruby来说并不适用。 但是,两个新发布的IDE改变了这种现状:JavaScript原生IDECloud9和JRuby原生IDE RedCar。
使用JavaScript和HTML编写编辑器和IDE在五年前还是一件很难想象的事情。但是在接下来的数年内,JavaScript VM变得更快,HTML的组件也有足够的能力构建复杂的编辑器。Mozilla程序员的编辑器Skywriter(前身是Bespin)就是使用Canvas元素和API来绘制的。
项目最初的时候,Cloud9仅仅是重新组织了一下Eclipse的视觉元素,而且它也同样使用了Eclipse的插件思想。所有的功能都是由插件来完成的,包括编辑器,视图,行为等。JavaScript插件的一个好处是可以轻松处理JSON格式的元数据描述字符,让插件开发者省心不少。
从功能上来说,现在讨论Cloud9还是太早了 - 至少和成熟的IDE相比。不过现在它已经有很多很方便的功能了。JavaScript Debugging已经支持GUI、Node.js脚本调试的连接器以及Chrome runtimes,并且在GUI中能够挂起,恢复和设置断点。这个特性的关键在于使用了JavaScript VM的内建调试器。
Cloud9使用ACE作为编辑器组件。Skywriter使用Canvas和ACE来绘制编辑器以及操作DOM。编辑器的窗格是DIV元素;ACE能够决定在编辑器中哪些能够显示,把这些内容作为DIV元素渲染然后加入到编辑器的DIV中。ACE使用多层DIV来渲染编辑器中不同的元素,尤其是光标和选择高亮的实现。
看起来现在的HTML渲染器和DOM已经足够强大,能够让ACE高速运行,给用户感觉是像一个原生的编辑器组件。
对编辑器组件大有裨益的一个HTML5 API是Web Worker API,这个组件允许JavaScript代码能够新建JavaScript进程,而不是所谓的无共享的进程,它们之间的通信是使用JSON格式的数据。在程序员的编辑器中,在后台运行任务是非常重要的;每次敲击键盘或者操作都会产生大量的工作。使用正则表达式的语法高亮就是其中之一,但是,现代编辑器需要解析源代码来做语义高亮,例如,用不同颜色表示局部变量和全局变量,静态方法和虚拟方法等。其他的特性还包括代码折叠支持等。可以聪明地通过使用setTimeout来在前台线程中运行这些任务。Web工程师从而不需要破解内部结构,而能够直接在后台运行额外的任务,充分利用多核结构。
虽然名字中带有云的概念,但是Cloud9还可以默认在本地安装和运行,并且可以访问本地文件系统。它在后端使用JavaScript编写的Node.js文件来通过socket进行通信。Node.js将文件内容封装成jsdav库所支持的WebDAV格式。
Skywriter和Cloud9团队最近声称将兴趣放在协作和开发插件共享,特定语言功能等特性。要是这是真的的话,那就又避免了一场IDE战争。
Cloud9 IDE博客提供了新版本的更新信息。GitHub是代码托管的好地方。Cloud9 IDE可以能够通过代码下载安装,在后端服务器运行Node.js和在浏览器中直接安装。
RedCar是一个可扩展的编辑器,以发展成为IDE为目标。它是使用Ruby,更准确的说是JRuby编写的。RedCar使用SWT作为GUI框架,这样使其能够跨平台使用。
内建的REPL使得程序员能够通过API来探索和发现更多的功能,现存的插件能够帮助程序员更加简单地扩展系统。实际上,RedCar也能够使用HTML/JavaScript进行扩展,而不是仅仅只使用SWT组件或者绘图API。
TextMate用户听到RedCar能够支持TextMate插件将会非常高兴,因为这将使得迁移工作更加轻松。
对RedCar的深入介绍以及如何扩展之类的信息都可以在InfoQ对RedCar创建者Dan Lucraft的采访记录中找到。RedCar Twitter账户或者博客都是获取这些信息的好场所。RedCar还可以和Ruby Gem共存。
译者 杨晨 对数据库和搜索引擎有深入了解,尤其擅长经典计算机科学理论,对历史学兴趣浓厚。
在实施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 条回复
关注此讨论 回复