草庐IT

ios - trigger.io 不会启动 IOS 模拟器

全部标签

ruby - 启动没有前缀 "Ruby"的 Ruby

我正在使用OSX(使用bash),并且是unix的新手。我想知道是否可以修改一些文件以便运行ruby​​程序,我不需要“rubyfile.rb”,而是可以运行“ruby.rb”。有理由不这样做吗?谢谢! 最佳答案 是的,你可以做到这一点。假设ruby.rb里面有这样的东西:#!/usr/bin/envrubyputs'Helloworld'在命令行:chmod+xruby​​.rb这使其可执行。然后你可以这样执行:./ruby.rb有关详细信息,请参阅wikibooks.编辑(JörgWMittag):使用#!/usr/bin/en

ruby-on-rails - 为什么一个空的 Rails 进程每次启动时都会有不同的内存占用?

我们一直在努力找出如何通过识别内存消耗大的gem并寻找替代方案或解决方案来减少我们的Rails应用程序的启动内存占用量。但在OSX上有一种行为令我感到莫名其妙。使用全新生成的Rails应用程序(railsnewmemoryusage),没有Gemfile,没有模型,没有数据,也没有事务,启动railsc时内存每次启动时,对应的ruby​​进程的OSX显示都会有所不同,从低至60MB到高至65MB,没有明显的模式说明为什么同一个应用程序每次执行可能需要更少或更多的内存。我想这在某种程度上与Ruby分配内存的方式有关,但我不完全清楚为什么对于相同的代码且没有变量处理,它的内存分配会变化如此

ruby-on-rails - 为什么我的自引用模板会破坏控制台和 rake 中的缓存摘要计算,但不会破坏服务器中的缓存摘要计算?

我有两个部分相互引用。当我在控制台中计算嵌套依赖项时(使用一些调试代码输出正在加载哪个模板):finder=ApplicationController.new.lookup_contextActionView::Digestor.new(name:"posts/show",finder:finder).nested_dependencies或者像这样通过rake任务:rakecache_digests:nested_dependenciesTEMPLATE=posts/show我得到一个初始依赖项的简短列表,然后在无限循环中,直到ruby​​堆栈已满:...>>>>>>>users/f

ruby-on-rails - 阻塞 IO/Ruby on Rails

我正在考虑使用Rails编写Web应用程序。用户发出的每个请求都取决于调用的外部API。这个外部API可能随机地非常慢(2-3秒),因此显然这会影响单个请求。在代码等待外部API返回的这段时间里,是否会阻塞进一步的用户请求?只是为了进一步澄清,因为似乎有些困惑,这是我期待的模型:Alice向我的网络应用程序发出请求。为此,调用API服务器A。API服务器A很慢,需要3秒才能完成。在Rails应用程序调用API服务器A的这段等待时间内,Bob发出了一个请求,该请求必须向API服务器B发出请求。Ruby(1.9.3)解释器(或Rails3.x框架中的某些东西)是否会阻止Bob的请求,要求他

ruby - 如何模拟 Ruby 模块函数?

如何在我的项目中模拟自写模块的模块功能?给定模块和功能moduleModuleA::ModuleBdefself.my_function(arg)endend这叫做像ModuleA::ModuleB::my_function(with_args)当它在我正在为其编写规范的函数中使用时,我应该如何模拟它?将它加倍(obj=double("ModuleA::ModuleB"))对我来说毫无意义,因为该函数是在模块上调用的,而不是在对象上调用的。我试过对它进行stub(ModuleA::ModuleB.stub(:my_function).with(arg).and_return(somet

ruby - 为什么 10^9942066 是我可以计算而不会溢出的最大功率?

在ruby​​中,一些大数大于无穷大。通过二分查找,我发现:(1.0/0)>10**9942066.000000001#=>false(1.0/0)>10**9942066#=>trueRUBY_VERSION#=>"2.3.0"为什么是这样?109942066有什么特别之处?它似乎不是像9999999这样的任意数字,它不接近任何2的幂(它大约等于233026828.36662442)。为什么ruby的无穷大不是无穷大?109942066是怎么参与的?我现在意识到,任何大于109942066的数字都会溢出到无穷大:10**9942066.000000001#=>Infinity10**

ruby-on-rails - 启动或确保延迟作业在应用程序/服务器重新启动时运行

我们必须使用delayed_job(或其他一些后台作业处理器)在后台运行作业,但我们不允许更改服务器上的启动脚本/启动级别。这意味着如果提供程序重新启动服务器,则不能保证守护进程保持可用(因为守护进程将由每次部署仅运行一次的capistrano配方启动)。目前,我能想到的确保delayed_job守护进程始终运行的最佳方法是向我们的Rails应用程序添加一个初始化程序,以检查守护进程是否正在运行。如果它没有运行,那么初始化器会启动守护进程,否则,它就让它保持运行。因此,问题是我们如何检测Delayed_Job守护程序是否在脚本内部运行?(我们应该能够很容易地启动一个守护进程,但我不知道

ruby-on-rails - 检测应用程序是否作为 HTTP 服务器启动(rake 任务、rconsole 等)

我正在使用EventMachine和Monetarily与我的Rails应用程序一起启动eTCP服务器。这是从config/initializers/momentarily.rb开始的。我的问题是当我运行rake任务时它也会启动,比如db:migrate。我只希望它在我启动HTTP服务器时启动。环境无济于事,因为服务器启动和rake任务都在开发环境下。有没有办法知道应用程序正在运行HTTP服务器而不是其他任何东西?请注意,这不仅是rake任务,如果我运行rails控制台,EM也会启动,这对我的情况来说也是不可取的。 最佳答案 unl

ruby-on-rails - Capistrano 不会创建版本

当我运行capdeploy时,Capistrano将尝试创建一个文件夹,例如$HOME/sites/MY_APP/releases/TIMESTAMP。我可以看到命令正在尝试运行,但它实际上不会创建文件夹。我可以直接从Capistrano输出中复制命令并通过SSH运行命令,它运行良好,没有任何问题。命令看起来是这样的:cp-RPp/home/some_user/sites/my_cool_app/shared/cached-copy/home/some_user/sites/my_cool_app/releases/20111123164239&&(echo59bf115868c243

ruby - 在 RSpec 测试中模拟 ActiveRecord 关系行为

我在测试时遇到过这个问题。假设我有两个模型,User和Post,其中userhas_many:posts。我正在尝试指定包含如下内容的代码块:user=User.find(123)post=user.posts.find(456)我知道如何模拟User.find和user.posts部分。user.posts模拟返回一个Post对象数组。当它到达.find(456)部分时,一切都崩溃了,并出现noblockgiven异常。所以我的问题是:作为user.postsmock的结果我要返回什么,以便.find(456)方法对其起作用?User.first.posts.class说它是Arra