BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Ruby VM综述:MacRuby 0.2、JRuby JMX和Ruby 1.9

| 作者 Werner Schuster 关注 9 他的粉丝 ,译者 马家宽 关注 0 他的粉丝 发布于 2008年6月24日. 估计阅读时间: 5 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。
MacRuby是Objective-C运行时上Ruby 1.9的一部分(你可以阅读InfoQ对MacRuby开发者Laurent Sansonetti的访谈)。

现在一个新的版本,MacRuby 0.2已经可用。下面摘引部分它的发布说明:
在MacRuby 0.2中,所有的字符串、数组和哈希表现在都是基本的Cocoa类型,分别表示为NSString、NSArray和NSDictionary对象。
整个的String、Array和Hash接口都使用强大的CoreFoundation框架在Cocoa等效架构之上进行了重写。
[..]
开 发人员不再必须将Ruby原始类型和Cocoa之间做相互转化。例如,MacRuby中创建的一个String可以再不加转换的情况下被直接传递给一个接 收NSString参数的C或Objective-C API。类似的,Ruby String类的任何方法可以同样从一个来自Objective-C的NSString中调用。
使用Objective-C数据结构和String还会带来一些性能方面的改进。现在已经可以在MacOSforge下载MacRuby 0.2

JRuby开发团队一直在为JMX而忙碌。Charles Nutter最近向JRuby的主版本中添加一些MBean,这使得监视JRuby的中间变量成为现实。现在,开发者可以察看JRuby的优化器和JIT的工作。这使得人发人员可以对某个运行在JRuby上的应用如何与优化器交互有一个感性认识。此外,随着"--manage"命令行开关的加入,现在可以使用像JConsole这样的工具来更好的察看信息。

由JRuby团队的Tom Enebo所负责的JMX gem则沿着另一个方向在努力,即使用JMX来导出信息。它使得开发者可以连接到JMX服务器并列出导出的MBeans,最后使用属性或调用操作。另一个具有这一能力的库是jmx4r。Tom Enebo的jmx gem还包含了在JRuby定 义MBean的能力,所定义的MBean随后可以被到一个常规的MBean服务器(JMX自Java5亿来一直被包含在Java中)。有了这 些,JRuby应用现在可以将它们自己的监控信息通过JMX系统导出,这些信息当然随后可以被诸如JConsole这样的工具所浏览。

最后,Sasada Koichi注意到Ruby 1.9.0-2会及时为RubyKaigi而发布,也就是在2008年6月20日左右。等到正式发布之时,我们会得到更多关于修改的细节,不过关于Ruby 主版本修改记录的概览显示,RubyGems和RDoc 2.0都有更新。

另一个可能在这次或未来发布版中出现的变化,是将test/unit替换为了Ryan Davis的miniunit。Ryan最近发布了miniunit 1.2,并呼吁用户认识到它和test/unit的不同。Ryan解释了如何使用miniunit:
% sudo gem install miniunit
% sudo use_miniunit yes

第二条命令将会将symlinks安装到你的sitelib目录中。这发生在stdlib dir in $LOAD_PATH,所以这不会影响test/unit。你也可以通过提供"no"作为参数,将symlinks转出。这样既容易又安全。
这一发布版中加入了许多美妙的东西,主要有: 
 * 有用的新断言,如assert_includes
 * 每一句断言提供了相反的镜像语句,如refute_empty ary
 * 加入了mini/spec和mini/mock,它们可以和mini/test共同使用
对于Ruby IDE的开发者以及使用custom test-runners的人们来说,需要注意以下事项:
注意:如果在尝试将Ruby1.9.0-2集成到某个GUI IDE或像komodo这样的test-runner时遇到问题,请不要觉得这是Ruby1.9.0-2的bug。Ruby1.9.0-2并不保证与这些工具的兼容性,而只保证支持你编写的测试本身。

如果你不熟悉test/unit,那么请和我们一起回顾一下历史,原先test/unit是被分离出来做为一个gem包。

查看英文原文:Ruby VM Roundup: MacRuby 0.2, JRuby JMX, Ruby 1.9

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT