只今Ruby勉強中

プログラミングRuby―達人プログラマーガイド

うさぎさんと一緒にRubyの勉強をしているオレの記録。

間違ってる所とかいっぱいあると思いますけど、誰でもコメント出来るので気軽に教えて下さい。

普段は 鷹の島 って所で書いてます。

現在のハマリポイント - yield, succ?, Proc & 後で

2007-05-08 (Tue)

Rails Cookbook 11:29  Rails Cookbook - 只今Ruby勉強中 を含むブックマーク

いまこれ読んでます。

Rails Cookbook (Cookbooks (O'Reilly))

Rails Cookbook (Cookbooks (O'Reilly))

洋書ですけど、英語の勉強もかねて。 趣味と実益をナントやら…。

Rails で出来そうな事が一通り網羅されてるようで、なかなか参考になります。

Mongrel 11:29  Mongrel - 只今Ruby勉強中 を含むブックマーク

この前 疑問に思った Mongrel の紹介が Cookbook に載ってました。

やっぱり開発スピードアップがメインなようで。 あとは Windows 環境でサービス化出来る事についても書いてあ…、るようでした :-) (ちゃんと理解出来てない)

トラックバック - http://rubyist.g.hatena.ne.jp/gaba/20070508

2007-05-05 (Sat)

Mongrel 16:39  Mongrel - 只今Ruby勉強中 を含むブックマーク

Rails を動かすのに Mongrel っていうのがあるらしくて試していたんだけど、開発用なら別に Webrick でもいいんじゃないかなぁ。手元だと起動スピードも変わらないし、積極的に使う理由がないような…。公開までを視野に入れて、開発:Mongrel、公開:Mongrel、だとするなら良いかもしれないけど、他にも何かあるんだろうか。

Mongrel は仕様に忠実じゃない みたいな話しも見つけたんだけど、どうなんでしょう。どんな所に利点があるのかいまいち良くわからないので、誰か教えてください。

トラックバック - http://rubyist.g.hatena.ne.jp/gaba/20070505

2007-04-24 (Tue)

Rails を Apache + fcgi で動かす 19:25  Rails を Apache + fcgi で動かす - 只今Ruby勉強中 を含むブックマーク

まず Apache の設定。 モジュール導入と有効化。 Debian/etch です。

$ sudo aptitude install libapache2-mod-fastcgi
$ sudo a2enmod fastcgi
$ sudo /etc/init.d/apache2 force-reload

これらのファイルの ruby のパスとか環境設定とかを行なう。

./public/.htaccess
./public/dispatch.fcgi

.htaccess は結構面倒くさいかも。 RewriteBase をうまく書かないと、ブラウザでアクセスしても Not Found になる。

例えば、http://localhost/~takayama/hogefuga/rails/project/ に RAILS_ROOT があるとすると、RewriteBase は /~takayama/hogefuga/rails/project/public/ になる。

あと、fcgi プロセスがウェブサーバの権限で動くようなので、ファイルのパーミッションにも注意。 具体的には、log tmp ディレクトリに書き込み権限が必要。 sqlite を使っている場合は、さらに db ディレクトリにも書き込み権限が必要。 この辺は、まだあんまわかってないんだけど。

とりあえず、これだけで Apache+fcgi で動かせるようになった。

ユーザ権限で動かす事は出来ないんだろうか。 後で調べる。

トラックバック - http://rubyist.g.hatena.ne.jp/gaba/20070424

2007-04-23 (Mon)

RSpec on Rails 10:59  RSpec on Rails - 只今Ruby勉強中 を含むブックマーク

これが何なのかいまいちわけってないけど、ちょっとメモ。

RSpec のインストール。

$ gem install rspec

RSpec のバージョンにあったプラグインのインストール。

$ gem list | grep rspec
rspec (0.8.2)
    RSpec-0.8.2 (r1560) - BDD for Ruby http://rspec.rubyforge.org/

$ ./script/plugin install svn://rubyforge.org/var/svn/rspec/tags/REL_0_8_2/rspec_on_rails/vendor/plugins/rspec_on_rails/

spec ファイルを作る。

$ ./script/generate rspec

この辺から結構曖昧。 まだあんまりわかってない。

適当なモデルの spec ファイルを作る。

$ ./script/generate rspec_model user

サーバを起動。

$ ./script/rails_spec_server 

DRB 経由で実行。

$ spec spec/models/user_spec.rb --drb

time コマンドの結果。10倍くらいの速度になったか?

spec spec/models/user_spec.rb  1.32s user 0.13s system 76% cpu 1.882 total
spec spec/models/user_spec.rb  1.32s user 0.13s system 84% cpu 1.719 total
spec spec/models/user_spec.rb --drb  0.10s user 0.02s system 36% cpu 0.347 total
spec spec/models/user_spec.rb --drb  0.12s user 0.02s system 37% cpu 0.360 total

unit test の実効速度をあげる方法が知りたい。

spec.opts

spec/spec.opts ファイルに --drb とか書いておくと、rake spec の実行時にも DRB が使われて、当社比二倍の性能が確認できました。

トラックバック - http://rubyist.g.hatena.ne.jp/gaba/20070423

2007-04-16 (Mon)

Rails’ Wiki - Rails勉強会@東京第17回 に行ってきました 10:14  [http://wiki.fdiary.net/rails/?RailsMeetingTokyo-0017:title] に行ってきました - 只今Ruby勉強中 を含むブックマーク

こういう会に参加するのは始めてだったんで緊張していましたが、参考になるお話が沢山聞けて、とても楽しかったです。

  • とりあえず、空気読まずに twitter の宣伝とかしてきました。
  • 帰ってから、取りまとめをしていたもろはしさんと名前が一緒だったって事を知りました。 なんてこった! 先に知ってれば絶対ネタになったのに!

以下セッションのメモ

入門 Rails

自分が希望した入門セッションです。

Rails についての基本と関連情報の雑談とか。 kanta さんにしゃべらせっ放しでした。 本当にありがとうございました。 お疲れさまでした。

自己紹介から抜粋
  • Rad rails いいよ
    • 人に見せる時にインパクトあるし説明しやすい
  • sqlite がおすすめ
    • 最初は環境を作って消してを繰り返すから MySQL とかだといちいち面倒臭い
    • sqlite はファイルベースだから気にしなくていい
    • migrate 使えばどれ使おうがあんまり変わらないよね
ディレクトリ構成とか
  • public/dispatch.cgi がコントローラ読んだり色々の始まり
gem
  • gem_server 使うとローカルのドキュメント読んだり出来る
    • secondlife さんのグリモンスクリプト使うと幸せになれる
instantrails
test
  • test メンドクサイ
  • -dev と -test の違いがわからない
開発環境
  • colinux 使ってるひと〜?
    • いないらしい…
    • 他は VMware だったりリモートの Linux 環境だったり
    • でも colinux は速度面で優位だよ

プラグイン雑談会

便利なプラグインをお薦めしあうとかそんな感じのセッションです。

みなさん、既に現場で Rails を活用してらっしゃるようで、そういう面での雑談が色々聞けました。 実際の現場の声ってのは凄く参考になりますね。 早く自分も情報提供出来るようにならないと!

自己紹介から抜粋
  • ER図つくるプラグイン作った
    • でも railroad っていうもっとよさげなのがあった
  • Railscasts って所がおもしろくておすすめ
    • 英語の勉強にもなる
    • ニコニコ動画とかで共有出来たらおもしろそう
      • タイポの指摘とか
定番プラグイン
  • ActiveHeart
  • AR_Fixtures
    • fixtures を自動生成する
    • test に便利
  • yaml_waml
    • to_yaml の日本語の問題回避プラグイン
  • ActiveForm
    • DB に保持しないフォームでもバリデーションする
徐々に雑談に
  • どこからプラグインにするか plugin? or lib?
    • 他のプロジェクトでも使うようならプラグインだよね
    • でもあんまりおおげさにならないように
  • piston っていうプラグインを管理するプラグインがある
  • タキウチさんが script/generate コマンドの補完@zsh を公開してたよ
  • 他にも zsh の補完関数書いてて凄い
参考になるプロジェクト
  • Rails でオープンなプロジェクトって見掛けないね
  • ソースとか見てみたい
  • Overview - Redmine が最近も更新されてる、日本語もあるじゃん
    • 結構いいかも
トラックバック - http://rubyist.g.hatena.ne.jp/gaba/20070416