运用Ruby纤程进行异步I/O:NeverBlock和Revactor
Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。
作者 Charles Humble译者 李剑 发布于 2008年2月25日 上午4时46分
ZeroTurnaround的JSPWeaver是一个实时JSP解释器,它旨在消除因为服务器从JSP标记中创建和编译后台servlet而造成的“一回生(译者注:即第一个访问Web应用的JSP页面的人,响应时间会比别人长)”。
这个产品的配置很简洁。把jspweaver.jar放到你的Web应用的\WEB-INF\lib目录下,在web.xml文件中添加几行基本的配置信息,表明将使用这个解释器来处理*.jsp这样的URL:
<servlet>
<servlet-name>weaverServlet</servlet-name>
<servlet-class>com.zeroturnaround.jspweaver.JspInterpretingServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>weaverServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
当应用服务器重启后,JSP页面就会在重启的过程中被解释。
这个解释器目前支持JSP 1.2-2.0。它的1.0版本支持完整的JSP标准,包括通用语法、XML语法和Java scriplets等。 它与容器无关,应该可以和任何JSP容器都能协同工作,不过目前经过测试的容器为:
下一个版本中计划将会支持JSP2.1,来自ZeroTurnaround的Jevgeni Kabanov告诉InfoQ,他期待下个版本在这个月里就会发布。他还提供给我们一些产品如何工作的更多细节:
它可以很好地解析JSP(无论是XML风格的语法还是标准语法,我们有两个解析器),然后在内存中再现页面,这个结果会被用来渲染实际输出的页面。因为解析非常快,而且没有任何翻译过程,所以这种做法比史上任何编译方式都要快得多。我们同时还用了一个打过补丁的BeanShell版本来解析内嵌的Java scriplets。
ZeroTurnaround提供了免费试用版。许可的价格是每席位49美元。
查看英文原文:JSPWeaver removes the first-person penalty from JSP development
Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。
InfoQ中文站有幸与Google中国的产品经理杨巍先生在一起探讨了OpenSocial的相关话题,包括OpenSocial的初衷、构成要素、实现方式、以及要实现它的技术储备等等。
Ryan Cooper对Amr Elssamadisy的新书发表了评价,并认为书中提供了一种为实施敏捷量身定做的框架。本书并没有给出一种人人可用的敏捷方法,而是为读者提供一些模式和工具,用以找出哪些敏捷实践可以最有效地达到该组织机构的特定目标。
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。
Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。
在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。
ClickOnce让WinForms应用程序的部署轻而易举。David Cooksey演示了如何在ASP.NET中编写一个HttpHandler来实现对ClickOnce部署的版本细分。
3 条回复
回复