小编gra*_*tur的帖子

如何将数据导入rails?

我有一个带有User类的Rails 3应用程序,以及一个我要导入的制表符分隔文件.

如何在rails控制台之外访问Active Record模型,以便我可以编写脚本来执行操作

require "???active-record???"

File.open("users.txt", "r").each do |line|
    name, age, profession = line.strip.split("\t")
    u = User.new(:name => name, :age => age, :profession => profession)
    u.save
end
Run Code Online (Sandbox Code Playgroud)

我是否使用"ar-extensions"宝石,还是有另一种方式?(我现在不特别关心速度,我只是想要一些简单的东西.)

ruby-on-rails

9
推荐指数
1
解决办法
4662
查看次数

在R中提供音频驱动程序?

我正在尝试在R中使用以下声音包:http://playitbyr.r-forge.r-project.org/gettingstarted.html

安装包及其依赖项后,当我尝试运行时

sonify(iris, sonaes(time = Petal.Length, pitch = Petal.Width))
Run Code Online (Sandbox Code Playgroud)

(根据页面上给出的示例),我收到此错误:

Error in play.default(x, rate, ...) : no audio drivers are available
Run Code Online (Sandbox Code Playgroud)

谁知道我应该怎么做?我google了一下,看起来好像我需要打电话set.audio.driver(name),但我不知道该把什么作为一个论点.

(如果重要,请在Mac OS X Snow Leopard上.)

audio r driver

9
推荐指数
1
解决办法
951
查看次数

生成k个成对独立的散列函数

我正在尝试在Scala中实现Count-Min Sketch算法,因此我需要生成k个成对独立的散列函数.

这是我之前编程的任何一个低级别,除了Algorithms类之外我对哈希函数知之甚少,所以我的问题是:如何生成这些k成对独立哈希函数?

我应该使用像MD5或MurmurHash这样的哈希函数吗?我只生成表单的k哈希函数f(x) = ax + b (mod p),其中p是素数,a和b是随机整数?(即,每个人都在算法101中学习的通用散列家族)

我看起来更简单而不是原始速度(例如,如果它更容易实现,我将采取5倍的速度).

scala hash-function cryptographic-hash-function

9
推荐指数
2
解决办法
2380
查看次数

Ruby pre-1.9和Ruby 1.9线程之间有什么实际区别吗?

我试图理解1.9之前和1.9之前的Ruby线程之间的区别(在标准MRI实现中),但似乎就你可以用它们实现的好处而言,它们实际上是相同的.它是否正确?

从我有限的理解:

  • 1.9之前的线程是"绿色线程",这意味着它们由Ruby解释器管理,而不是操作系统.这样做的一个结果是,您永远不会实现真正的并发性,因为您永远不会同时运行多个线程(即使您使用的是多核/多处理器系统).(但是,如果执行在不同线程之间切换,例如,如果某个程序运行而另一个程序在I/O上等待,则可以获得并发的外观.)
  • 1.9线程是本机线程,这意味着它们确实由操作系统管理.如果没有全局解释器锁,这将允许Ruby同时运行多个线程(在多核/多处理器系统上).但Ruby 确实有一个全局解释器锁,这意味着只有一个线程可以运行,所以你再次得不到真正的并发.(但是如果执行在不同的线程之间切换,你仍然可以看到并发的外观.)

这是正确的,还是我错过了什么?1.9线程与1.9之前的线程(在MRI中)有什么好处?

ruby multithreading

8
推荐指数
1
解决办法
467
查看次数

在sinatra + heroku应用程序中存储管理员密码的位置?

我有一个我在Heroku上运行的小型Sinatra应用程序,它使用单个管理员密码,以及一些API身份验证密钥.

哪里是存放这些东西的最佳地点?我是否将它们放在环境变量中,然后使用

heroku config:add ADMIN_PASSWORD=foobar
Run Code Online (Sandbox Code Playgroud)

?或者我使用包含它们的配置文件,我只是不提交配置文件?

security heroku sinatra

7
推荐指数
1
解决办法
1651
查看次数

Hive中的字数统计程序

我正在努力学习Hive.令人惊讶的是,我找不到如何编写简单的字数统计工作的示例.以下是否正确?

假设我有一个输入文件input.tsv:

hello, world
this is an example input file
Run Code Online (Sandbox Code Playgroud)

我在Python中创建了一个拆分器,将每行转换为单词:

import sys

for line in sys.stdin:
 for word in line.split():
   print word
Run Code Online (Sandbox Code Playgroud)

然后我的Hive脚本中有以下内容:

CREATE TABLE input (line STRING);
LOAD DATA LOCAL INPATH 'input.tsv' OVERWRITE INTO TABLE input;

-- temporary table to hold words...
CREATE TABLE words (word STRING);

add file splitter.py;

INSERT OVERWRITE TABLE words 
  SELECT TRANSFORM(text) 
    USING 'python splitter.py' 
    AS word
  FROM input;

SELECT word, count(*) AS count FROM words GROUP BY word;
Run Code Online (Sandbox Code Playgroud)

我不确定我是否遗漏了某些东西,或者它是否真的很复杂.(特别是,我是否需要临时words表,是否需要编写外部分离器功能?)

hive mapreduce

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

删除旧版本的Ruby(在Windows上)

我刚刚下载了Ruby 1.9.2,我希望它能完全取代我已安装的旧版Ruby(1.8.7).(主要是因为我在安装不同版本的东西时会感到困惑.)

最好的方法是什么?我是否要卸载旧版本?(如果是这样,怎么样?)我可以用新的ruby1.9.2/bin/{ruby,irb}替换旧的ruby1.8.7/bin/{ruby,irb}吗?

我在Windows 7机器上.

ruby windows

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

从命令行启动R gui并将工作目录设置为当前文件夹

在Mac上,有没有办法从命令行启动默认的R gui,工作目录设置为当前文件夹?

r

6
推荐指数
1
解决办法
1103
查看次数

获得序列的长度是一个恒定时间操作?

我有一个序列,我想得到的长度:

val x = (1 to 1000000)
x.length
Run Code Online (Sandbox Code Playgroud)

这是O(1)操作吗?(看起来像这样,在repl中尝试了几行.)为什么?什么是序列存储,使其成为O(1)操作,如果它是一个?(它只是将序列的长度存储为元数据吗?)

scala

6
推荐指数
2
解决办法
1162
查看次数

错误的参数类型String(期望的数组)

我正试图在我的新Macbook上使用Octopress(Jekyll上的博客引擎),当我运行时出现这个错误bundle exec jekyll --server:

(缩短路径)

/path/to/markdown.rb:118:in `to_html': wrong argument type String (expected Array) (TypeError)
from /path/to/markdown.rb:118:in `convert'
...
Run Code Online (Sandbox Code Playgroud)

(完整路径)

/usr/local/rvm/gems/ruby-1.9.2-p290/gems/jekyll-0.11.0/lib/jekyll/converters/markdown.rb:118:in `to_html': wrong argument type String (expected Array) (TypeError)
from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/jekyll-0.11.0/lib/jekyll/converters/markdown.rb:118:in `convert'
...
Run Code Online (Sandbox Code Playgroud)

看看第118行,我看到:

RDiscount.new(content, *@rdiscount_extensions).to_html
Run Code Online (Sandbox Code Playgroud)

如果我用"hello"这样的字符串替换这一行,服务器就可以正常启动了.但如果我用类似的东西替换它RDiscount.new("hello").to_html,我会得到同样的错误.但是,启动irb和运行RDiscount.new("hello").to_html工作正常.

有什么想法有什么不对吗?我能够在我拥有的另一台计算机上启动服务器,但我不知道如何弄清楚这两台计算机正在做什么之间的区别(某个库的某个版本不同?).

ruby sinatra jekyll jekyll-extensions

6
推荐指数
1
解决办法
1536
查看次数