ruby

sinatraアプリなどをapache/passenger/mod_railsで動かす

passengerをインストールして、使うためのコマンド実行。 % sudo gem install passenger % sudo passenger-install-apache2-module最後にこんなメッセージ。 Please edit your Apache configuration file, and add these lines: LoadModule passenger_module…

rubyでMarshalとBase64を使ってシリアライズ

rubyのデータ構造をDBに保存しようの巻。 シリアライズにMarshalを、DBへの保存の際にBase64を使用。 他にシリアライズの形式としてYAML形式があるけど、Marshalより遅い気がする。多分。 Marshalがデータをバイナリで扱うのに対して、YAMLは平文なので。 セ…

sinatra0.9.2でファイルの自動再読み込みが効かないのでshotgunを使おう

WEBrickが起動しなくなったりしてアレなsinatra。でももっと痛いのがファイルを編集しても自動で再読み込みされなくなったこと。 catalystやrailsで言えば、ファイル編集する度に毎回server.plやserverを手動で停止>実行してるに等しい。発狂するわ。 CHANG…

migrationのadd_columnでafterオプションを付加する

追記 こっちどーぞ http://d.hatena.ne.jp/foosin/20090531/1243765471 何かマイグレーションのadd_columnでafterを付けたがってる人の気配を感じたのでやってみる。 ActiveRecordのソースを書き換えれば3秒で出来る。 [/usr/lib/ruby/gems/1.8/gems/activer…

rubyでFizzBuzz

まあアルゴリズムはperlでFizzBuzz - だるろぐ跡地なわけだが。 ary3 = ['fizz', '', ''] ary5 = ['buzz', '', '', '', ''] (1..100).each do |i| v1 = i % 3 v2 = i % 5 #res = ary3[v1] << ary5[v2] res = ary3[v1] + ary5[v2] if res.length == 0 print i…

perlとrubyのオブジェクト指向の比較

perl Parent.pm package Parent; use strict; use warnings; use base qw/Class::Accessor::Fast Class::Data::Inheritable/; use Data::Dumper; __PACKAGE__->mk_accessors(qw/name/); __PACKAGE__->mk_ro_accessors(qw/for_read/); __PACKAGE__->mk_wo_acc…

pluralizeとsingularizeの実装

childとかfishとかどーしてんのかなと、ふとソースを見てみた % vi /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/inflections.rb・・・うん、仕方ないよね。 perlではLingua::EN::Inflectが似たような事をやっている。 この辺、言語…

script/console使おうとしたらエラーになるときの対処

全然わからねーながらrubyとrailsに悪戦苦闘。 ./script/consoleしたらイミフなエラーで死ぬ。 /usr/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError)ググったら、rubyをmakeるときにオプションをつけねばい…

1.8.6とgemとrails入れるだけで1時間は使ったという 頭悪くて悲しい