标签: ruby

ruby/ruby​​ on rails内存泄漏检测

我在rails上使用ruby编写了一个小型Web应用程序,其主要目的是上传,存储和显示xml(文件最多可达几MB)文件的结果.运行了大约2个月后,我注意到mongrel进程使用了​​大约4GB的内存.我做了一些关于调试ruby内存泄漏的研究,并且找不到多少.所以我有两个问题.

  • 有没有什么好的工具可以用来查找Ruby/rails中的内存泄漏?
  • 什么类型的编码模式导致ruby中的内存泄漏?

ruby memory memory-leaks coding-style ruby-on-rails

45
推荐指数
4
解决办法
3万
查看次数

如何从Ruby检查具有特定pid的进程是否正在运行?

如果有多种方式,请列出.我只知道一个,但我想知道是否有一个更干净的Ruby内部方式.

ruby pid process

45
推荐指数
6
解决办法
3万
查看次数

您建议使用哪些工具来配置Rails应用程序?

我一直在寻找Rails的分析工具.我正在玩和测试ruby-prof和railsbench,但是我对使用然后工作所需的调整和修改量感到沮丧.

虽然我不介意(很多)调整,但我想知道是否还有其他更直接易用的工具来分析Rails应用程序?你推荐哪些工具?

ruby profiling ruby-on-rails

45
推荐指数
3
解决办法
2万
查看次数

如何创建ruby Hello世界?

我知道在PHP中你必须代表像index.php这样的页面,但是在Ruby中它是如何工作的?我不知道什么是Ruby扩展,如index.php for PHP.你可以帮帮我吗?

ruby ruby-on-rails

45
推荐指数
4
解决办法
8万
查看次数

如何在rake任务中强制执行RAILS_ENV?

我有这个小耙任务:

namespace :db do 
  namespace :test do 
    task :reset do 
      ENV['RAILS_ENV'] = "test" 
      Rake::Task['db:drop'].invoke
      Rake::Task['db:create'].invoke
      Rake::Task['db:migrate'].invoke
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

现在,当我执行时,它将忽略我试图硬编码的RAILS_ENV.如何使此任务按预期工作

ruby rake ruby-on-rails

45
推荐指数
4
解决办法
4万
查看次数

使用命令行中的bundler将gem添加到gemfile

使用节点包管理器时,您可以指定npm install --save mynodemodule自动弹出模块的位置package.json

我想知道是否有一个Bundler命令允许你从命令行添加gem和版本到gemfile?

例如 bundle install --save nokogiri

ruby gem bundler

45
推荐指数
4
解决办法
3万
查看次数

如何设置方法测试中使用的私有实例变量?

给定一个带有几个实例变量和一些方法的类.一些实例变量可通过attr_reader和设置访问attr_accessor.因此其他人是私人的.
某些私有实例变量在其中一个实例方法中设置,并在另一个方法中读取/使用.

为了测试我正在使用RSpec.由于我还是Ruby的新手,并且想要把所有事情都搞定,我将我的测试定义得相当精细.因此,我describe为每个实例方法都有一个块,它们本身被划分为contexts和its 的子集.一般环境先决条件定义为before.

但是,当测试其中一个方法,即使用但未设置其中一个私有变量时,我需要调用另一个方法,即设置此变量.这似乎相当超重,对我来说不是模块化的.

有没有办法强制私有实例变量到某个值.类似于" 剥离 "私有实例变量的值Object::instance_eval(:var).

ruby testing rspec access-specifier

45
推荐指数
2
解决办法
4万
查看次数

从json到ruby哈希?

我可以单程使用

require 'json'

def saveUserLib(user_lib)
    File.open("/Users/name/Documents/user_lib.json","w") do |f|
    f.write($user_lib.to_json)
    end
end

uname = gets.chomp
$user_lib["_uname"] = uname
saveUserLib($user_lib)
Run Code Online (Sandbox Code Playgroud)

但是我如何将它作为我的user_lib重新获得呢?

ruby json

45
推荐指数
1
解决办法
4万
查看次数

Ruby运算符优先级表

向我展示一个权威的,经过同行评审/维护的Ruby优先级表(运算符,非运算符修饰符).

多年来,我不得不依赖以下来源获取此信息:

1. http://phrogz.net/programmingruby/language.html#table_18.4 - 文档Ruby 的Pickaxe书,1.6于2000年9月发布,包含格式错误或拼写错误({列为赋值运算符) .

2. http://www.techotopia.com/index.php/Ruby_Operator_Precedence - 上述Pickaxe表的近似副本,包括错误的{,并且意外地描述||逻辑"AND".

3. http://www.tutorialspoint.com/ruby/ruby_operators.htm - 也是Pickaxe表的近似副本,虽然它修复了||Logical'OR'的描述,但它仍然{列为赋值运算符.同样,它列出::并错误地描述为一个恒定的分辨率操作者(::不是操作者).

4. http://my.safaribooksonline.com/book/web-development/ruby/9780596516178/expressions-and-operators/operators - Ruby编程语言的书,其中记录的Ruby 1.81.9,这是在2003年发布2007年8月和十二月, 分别.本书由David Flanagan和Yukihiro Matsumoto(又名"Matz",Ruby的发明者)于2008年出版.它似乎是最新,最准确的运营商,非运营商,修改器和支持信息列表.顺便说一句,在2005年左右,对Ruby的兴趣与2004年7月发布的Rails同步增长.

5. http://romhack.wikia.com/wiki/Ruby_operators - 还记录Ruby中1.9的运算符,并在其表中包含非运算符和修饰符.

Ruby 2.0于2013年2月发布,旨在与Ruby完全向后兼容1.9.3.在少数已知的不兼容性中,没有一个与运营商有关.

Ruby …

ruby

45
推荐指数
1
解决办法
1万
查看次数

为什么最好将电话号码存储为字符串与整数?

正如问题所述,为什么在电话号码栏中将电话号码存储为字符串而不是整数是最佳做法?

我不确定我理解这个的理由.请帮忙澄清一下!

谢谢!

ruby postgresql ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

45
推荐指数
4
解决办法
2万
查看次数