草庐IT

操作系统版本

全部标签

ruby - 为什么这个 Ruby 程序不将堆内存返回给操作系统?

我试图了解从Ruby堆分配的内存何时返回给操作系统。我知道Ruby永远不会返回分配给它的堆内存,但我仍然不确定堆外内存的行为。即那些不适合40字节RVALUE的对象。考虑以下分配一些大字符串然后强制进行主要GC的程序。require'objspace'STRING_SIZE=250defprint_stats(msg)puts'-------------------'putsmsgputs'-------------------'puts"RSS:#{`ps-eorss,pid|grep#{Process.pid}|grep-vgrep|awk'{print$1,"KB";}'`}"p

ruby-on-rails - CarrierWave:为所有版本化文件创建相同、唯一的文件名

在详细介绍之前,我先开门见山:有没有人想出一种方法让Carrierwave将文件的名称保存为时间戳或每个文件唯一的任意字符串?默认情况下,Carrierwave将每个文件及其替代版本保存在自己的目录中(以型号ID号命名)。我不喜欢这个,因为不是一个目录有1,000个,为了使用大的整数,文件(在我的例子中是图片),我们得到一个目录有1,000个子目录,每个子目录有一个或两个文件。呸。现在,当您将uploader的store_dir方法重写为如下内容时:defstore_dir"uploads/#{model.class.to_s.underscore}/#{mounted_as}"end

ruby - 这些 rvm ruby​​ 版本是什么意思

如果我运行这个命令rvmlistknown我得到以下信息(只显示了一些条目)-[ruby-]1.9.3[-p194][ruby-]1.9.3-headruby-head我想安装ruby​​1.9.3。在网上的博客条目中,我看到人们只是提到rvminstall1.9.3实际安装的是-p194版本。那么ruby​​-head与1.9.3-head和1.9.3-p194有何不同?是否应该安装其中之一而不是-p194? 最佳答案 在版本控制中,您通常有一个主开发分支以及某些版本化分支。主分支是future,版本分支有一些围绕它们的策略。因此

ruby - 在 OSX 上使用 RVM 安装任何 ruby​​ 版本时出错

伙计们,我要用这个自杀了!我在安装多个Ruby版本的RVM时遇到了一些问题,在关注Stackoverflow上的一个线程后,我决定将其完全删除。重新安装RVM后,我根本无法安装任何Ruby版本。Mac操作系统RVM1.20.10稳定自制软件0.9.4这是一些日志:rvminstall2.0.0-p0或:rvminstall2.0.0-p195--autolibs=enabledSearchingforbinaryrubies,thismighttakesometime.Nobinaryrubiesavailablefor:osx/10.8/x86_64/ruby-2.0.0-p0.Co

ruby - 我可以在使用 Devise 成功登录后执行自定义操作吗?

我有一个具有基本Devise身份验证的应用程序。登录后,我想查找用户帐户(用户belongs_to帐户,帐户has_many用户),并将其存储在session中,以便它像@current_user一样可用。rails将session存储成这样的方式是什么?是否有一个钩子(Hook)可以与Devise一起使用,以便在成功登录后执行代码? 最佳答案 实际上,在Devise中组合使用Omniauth和数据库登录模块的情况下,接受的答案无法正常工作。在Devise中每次成功登录操作后执行的nativeHook(忽略用户身份验证channel

ruby-on-rails - 用于构建成就系统的 Ruby/Rails 现代工具

我有兴趣为我的RubyonRails应用程序构建一个强大的成就系统。成就可以通过多种方式实现。通常,我们会有一些标准可以适用于多个模型,一些是必需的,一些是可选的(混合和匹配)触发成就。我会说这类似于此处的成就系统或Foursquare徽章。理想情况下,如果有一个现代工具可以帮助抽象出某些DSL中的大量工作,那就太棒了。我很想知道其他人是如何使用Ruby或RubyonRails解决这个问题的。从头开始构建这个听起来不合理,因为我确信它已经被反复解决了很多次。 最佳答案 成就系统乍一看似乎很简单,但很快就会变得相当复杂。首先,您必须确

ruby-on-rails - 用于组织多文件 Ruby 程序的系统?

是否有用于组织多文件Ruby程序的标准或常规系统?我已经开始了我在Ruby中的第一个大型“项目”,这是一个按逻辑组织成多个文件和目录的搜索程序。我在下面概述了我的潜在结构:主文件。该文件实现了搜索类和通用搜索协议(protocol)。算法分析文件。该文件实现了解释搜索结果的功能。协议(protocol)目录每个协议(protocol)包含一个文件以供搜索。Feed目录该程序的部分目的是搜索存档的新闻提要。此功能的文件位于此文件夹中。但是,代码目前有一个类(我们称它为Searcher),每个协议(protocol)的搜索类都继承自(GoogleSearcher除了我的具体示例,我想知道是

ruby-on-rails - Ruby on Rails内容管理系统?

有没有一个可行的开源rubyonrails内容管理系统?我需要一个CMS能够管理结构化内容,内容关系,分类(结构化分类法和自由标记)和简单的发布工作流。我希望内容最终以xml形式持久化。同时,内容需要从发布的页面中抽象出来。谢谢,迈克 最佳答案 你可以试试RadiantCMS。 关于ruby-on-rails-RubyonRails内容管理系统?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que

ruby - 使用 rbenv 安装最新稳定版本的 Ruby

我想安装可用的最新稳定版Rubyrbenv.此功能won'tbehappening在rbenv本身。当我在我的shell中运行命令rbenvinstall-l时,我得到了一长串可用版本。该列表包含所有类型的条目。以下是展示格式和多样性的部分列表:$rbenvinstall-lAvailableversions:2.0.0-p6432.0.0-p6452.1.0-dev2.1.0-preview12.1.0-preview22.1.0-rc12.1.42.1.52.1.62.2.0-dev2.2.0-preview12.2.0-preview22.2.0-rc12.2.02.2.12.2

ruby 超时和系统命令

我有一个像这样调用系统(bash)命令的ruby​​超时..Timeout::timeout(10){`my_bash_command-c12-otext.txt`}但我认为即使ruby​​线程被中断,实际命令仍在后台运行..这正常吗?我怎样才能杀死它? 最佳答案 我认为你必须手动kill它:require'timeout'puts'startingprocess'pid=Process.spawn('sleep20')beginTimeout.timeout(5)doputs'waitingfortheprocesstoend'P