草庐IT

ruby-on-rails - JRuby 是 Rails 开发中 MRI 的可行替代品吗?

我是一名从初学者到中级的Rails开发人员,正在努力提高我的技能。我对JRuby的状态有点困惑,不知道它是否是从MRI切换到的可行替代方案。目前我在家里运行Mac并使用textedit(Ruby的MRI,rails命令的终端等)进行编辑。在工作中,我在Windows上使用NetBeans,但不在那里进行任何Ruby工作。出于与本次对话无关的原因,我正在认真考虑放弃Mac,但我担心一旦我使用Windows,对Ruby的支持将不尽如人意(我对此可能是错误的)。我真的很喜欢在工作中使用Netbeans,我可以看到在Windows上使用JRuby和Netbeans并允许JRuby管理我的gem

ruby - 当前 MRI Ruby 和 JRuby 版本的生命周期结束日期是什么?

Closed.Thisquestionisnotreproducibleorwascausedbytypos。它目前不接受答案。想改善这个问题吗?更新问题,使其成为StackOverflow的on-topic。7年前关闭。Improvethisquestion我知道对MRIRuby1.8.7的支持将在今年6月停止。1.9.2和1.9.3以及JRuby1.6.0怎么样?这还知道吗?我一直无法找到这些信息。 最佳答案 JRuby1.6.8是最后一个JRuby1.6.x。它支持Ruby1.9.2和Ruby1.8.7。鼓励每个人更新到JRu

ruby-on-rails - rails : How can my app tell if it is running in MRI or JRuby?

在previousquestion中,我询问了如何告诉我的Gemfile是采用与JRuby相关的gem还是与MRI相关的gem。我得到的答案是在Gemfile中执行以下操作:platforms:jrubydogem"activerecord-jdbcsqlite3-adapter"endplatforms:mridogem"sqlite3"end显然,Bundler中的platforms()方法知道如何判断我运行的是MRI还是JRuby。如果我正在运行JRuby或MRI,是否有其他方法可以在我的程序中判断? 最佳答案 你能像这样区分

ruby - Ruby MRI 是什么样的解释器?

是语言翻译吗?还是字节码解释器/JIT编译器?我在哪里可以了解有关实现的更多信息(除了浏览源代码)? 最佳答案 这是一个名为YARV的字节码解释器,由SasadaKoichi编写。下面是它的外观示例:putsRubyVM::InstructionSequence.compile("1+1").disasm==disasm:#@>================================0000trace1(1)0002putobject_OP_INT2FIX_O_1_C_0003putobject_OP_INT2FIX_O_1

Ruby MRI 1.8.7 - 文件写入线程安全

在我看来,用RubyMRI1.8.7编写文件是完全线程安全的。示例1-完美结果:File.open("test.txt","a"){|f|threads=[]1_000_000.timesdo|n|threads示例2-完美的结果(但速度较慢):threads=[]100_000.timesdo|n|threads所以,我无法重建我面临并发问题的场景,你可以吗?如果有人能向我解释为什么我仍然应该在这里使用Mutex,我将不胜感激。编辑:这是另一个更复杂的例子,它工作得很好并且没有显示并发问题:defcomplicated(n)n.to_s(36).to_a.pack("m").stri

ruby - Thread#raise 在 MRI Ruby 1.9/2.0 中安全吗?

所以有一篇关于Thread#raise、Thread#kill和扩展超时(http://headius.blogspot.com/2008/02/rubys-threadraise-threadkill-timeoutrb.html)的不安全性的旧博客文章。出于大致相同的原因(http://docs.oracle.com/javase/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html),Java很久以前就弃用了它的等效方法。博文很老了。Thread.raise的现代实现是否安全?如果是这样,是否有文件/promise来证明/证明

ruby-on-rails - Rails 3(Ruby 1.9.2 vs 1.8.6)和(MRI vs REE vs JVM)——评论/建议?

希望构建Rails3堆栈并尝试整理Ruby版本。我对JVM的概念很感兴趣,但不能100%确定它是否与Rails3相关;这意味着如果需要,为什么不只为JVM进行部署。然后是herokusayingRuby1.9.1中有一个错误,但他们没有说明错误是什么,如果Ruby1.9.2解决了这个错误——或者在Ruby1.8.6上运行Rails3会发生什么。更新:发现heroku间接链接到的错误:“请注意,Ruby1.8.7p248和p249存在导致Rails3.0崩溃的编码错误。自1.8.7版以来,Ruby企业版已修复这些错误-2010.02虽然。在1.9方面,Ruby1.9.1不可用,因为它在R

ruby - MRI ruby​​ 线程和性能

我关于SO的第一个问题,但我已经潜伏了很长时间,所以如果我违反了任何规则或发布了垃圾问题,你必须原谅我。我试图更好地理解线程,因此我决定测试MRI并了解它的总体性能。给定以下代码(和输出),为什么线程操作比非线程变体慢得多?代码classBenchmarkerdefself.goputs'----------BenchmarkStart----------'start_t=Time.nowyieldend_t=Time.nowputs"OperationTook:#{end_t-start_t}seconds"puts'----------BenchmarkEnd-----------

ruby - MRI Ruby 的版本号是如何工作的?

最近的一个问题“WhathappenedwithRuby1.9.2?”让我想知道MRIRuby的版本号是什么意思。MRIRuby使用的方案不同于semver.org.MRIRuby中的版本控制是如何工作的?major(1)、minor(9)、teeny(3)和patchlevel(448)值在ruby1.9.3p448中意味着什么?比如patchlevel的增加允许什么样的变化,teeny的增加允许什么样的变化? 最佳答案 (这里的术语与经典的semver.org不同,其中2.0.0由MAJOR.MINOR.PATCH组成:如ver

ruby - ruby 中的 ffi 和 mri c 扩展之间的权衡是什么?

ruby中的ffi和mric扩展之间的权衡是什么? 最佳答案 一个明显的权衡是MRIC扩展仅适用于MRI,而FFI扩展目前适用于MRI、YARV、Rubinius和JRuby,将来可能也适用于IronRuby、MagLev、MacRuby、SmallRuby、tinyrb和RubyGoLightly。 关于ruby-ruby中的ffi和mric扩展之间的权衡是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverfl