Posts Tagged ‘ruby’

前所未有的遭遇死机

Tuesday, July 17th, 2007

Ubuntu 上用 ruby 的 REXML 去 parse 二十几万个 xml 文件,内容很简单,文件也很小。遭遇不确定性死机,甚至有一次直接重启了。昨天一边 parse 一边往 mysql 里插,在50万左右的时候再次死机!

死机之后 mysql 表损坏,进入数据库文件的保存目录(ubuntu上是 /var/lib/mysql, 郁闷的是数据库目录除了mysql用户其他人没有任何权限),用myisamchk –recover tbl_name.MYI 把表修复好。
机器,Ubuntu,ruby REXML 一定是其中之一不可信赖。今天在我那刚升到 10.4.10的 Tiger 上试试。

3 ways to invoke a method in Ruby

Thursday, July 12th, 2007

string = “Hello”

string.method(:length).call
string.send(:length)
string.length

Setup ruby and rails on my Ubuntu(feisty) box

Tuesday, June 26th, 2007

1. Install Ruby
# sudo apt-get install ruby rdoc ri irb libyaml-ruby libzlib-ruby ri ruby1.8-dev

** caution: ruby1.8-dev is must, It is the header files for compiling extension modules for the Ruby 1.8. You cannot run mongrel without this library.

2. Install ruby gems
# wget rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
# tar zxvf rubygems-0.9.0.tgz
# cd rubygems-0.9.0
# sudo ruby setup.rb
# gem update –system
# cd ..
# rm -rf rubygems-0.9.0*

3. Install rails
# sudo gem install rails –include-dependencies

4. Install ruby MySQL binding
# sudo apt-get install libmysql-ruby

5. Install mongrel
# sudo gem install mongrel –include-dependencies

appscript rb

Wednesday, March 28th, 2007

一个用 ruby 操作 applescript 的东西,可以去 rubyforge 上看看,在 Mac Dev 上面有篇教程可以看看,现在还只是 0.3.0

technorati tags:, ,

Blogged with Flock

Bayesian Classifier

Friday, March 23rd, 2007

Naive Bayesian Classifier, 朴素贝叶斯分类器,简单的说就是给出一些关键词,系统可以自我学习的对文本进行处理之后完成分类。

在Ruby Cookbook 1.20上给出了一个方法,用的是收录到gem中的Classifier::Bayes。rubyforge中的位置是http://rubyforge.org/projects/classifier,现在的版本是1.3.0

Ruby方面还有一个实现bishop,是Python上 Reverend直接port过来的,rubyforge中的位置是http://rubyforge.org/projects/bishop/,现在的版本是0.3.0,好像不活跃,ROR上面还有一个plugin,可以用act_as_classifiable

这个东西在邮件反垃圾,文章相关性分析上有不少的应用,在Google中的结果看应该是比较成熟的东西

technorati tags:, , ,

Blogged with Flock

simulate Array#join

Tuesday, March 6th, 2007

在你打算讲array中的元素全部拼接成一个字符串的时候,Array#join可以接受一个分割符作为参数,并将分割符加在array的每个元素之间,而且最后一个元素后面不会出现分割符,real for human~

举个例子:
data = ['1', '2', '3']
s = ‘ ‘
data.each { |x| s << x << ‘ and a ‘ }
s # => “1 and a 2 and a 3 and a”
data.join(’ and a ‘) # => “1 and a 2 and a 3″
我们自己也可以模拟Array#join的效果:
s = “”
data.each_with_index { |x,i| s << x; s << ” and a ” if i < data.length - 1 }
s # => “1 and a 2 and a 3″