只今Ruby勉強中

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

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

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

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

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

2007-07-27 (Fri)

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

瀧内さんのRailsの高速化に出ました。 午後は予定があったので、これだけ。

参考サイト: http://d.hatena.ne.jp/rubricks/20070626/1182851149

箇条書き。

get_text が遅い

  • fragment

IE の DOM 操作重い

  • firebug の動作重い
  • リクエスト数が多くなると遅くなる
    • サブドメインを使ったファイルの配信(画像とか)
    • capistrano を使うとうまくやってくれる
  • safari の戻る機能
    • 二重投稿しないような便利機能がついてて邪魔

evalscripts が重い

デバッグ方法

IE
  • javascript debugger
    • 「スクリプトのデバッグを使用しない」をオフ
  • そのほか → Microsoft script debugger
  • firebug lite
opera
  • 内蔵?
    • DOM インスペクタはある
トラックバック - http://rubyist.g.hatena.ne.jp/gaba/20070727

2007-07-12 (Thu)

一周年 00:26  一周年 - 只今Ruby勉強中 を含むブックマーク

Ruby の勉強を始めてからもう一年か。 懐かしい。 あの時勉強を始めて、本当に良かった。

Rails 勉強会の感想も書かなくっちゃ。

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

2007-07-10 (Tue)

net/netrc 17:19  net/netrc - 只今Ruby勉強中 を含むブックマーク

「.netrc対応は必須だよねー」ということでこんな感じに:

Twitterのアカウントを取った(2) - ただのにっき

なるほど、設定値はこれを使えば良かったのか。後で試す。

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

2007-07-02 (Mon)

Comet 09:48  Comet - 只今Ruby勉強中 を含むブックマーク

「5分で作るチャット」を実際にやってみた をやってみたいんだけど、3日前くらいからアクセス出来なくて試せない…。 復活するんだろうか。

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

2007-06-18 (Mon)

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

2回目。今回も参考になる話が沢山聞けた。セッションのネタがなかったから悩んだけど、参加して良かった。

  • 自己紹介でしゃべる事がなくて、つまんねえ人になってる予感。 なんか考えないと。
  • もろはしさんに名前の紹介ができた!!
  • 何人か年齢を言ってたけど、年下ばかりだとは…。この前28になったけど、もう平均より上の位置なのか。

以下セッションのメモ

入門 Rails

テストのやり方とかについて、Agile Web Development with Rails の PDF とオフィシャルの API リファレンス(actionpack)を見ながら進める。

主に、インテグレーションテストについて。インテグレーションテストは、ブラウザで操作する一連の流れみたいなものをテスト出来る。例えば、システムにログインして、そのステータスをチェック、ログイン後のリダイレクト先の URL をチェック、最終的な出力された DOM の内容をチェック、と言ったテストが一辺に書ける。

DOM をチェックするのは CSS のセレクタを使うのが楽。assert_select を使ってチェック出来る。

以下、body 要素以下の h1 要素の内容が「Online Cookbook」であるかどうかのテスト。

assert_select "body h1", "Online Cookbook"

RSpec

DRB が気になって、以前試した RSpec のセッション。

標準のテスト機構と違って、テストの雛型が出来ないと思っていたので使っていませんでしたが、generate コマンドでプレフィックスに rspec_ を指定すれば良かっただけのようです。ちとショック。

script/generate rspec_model
script/generate rspec_controller

これで spec ファイルを作ってくれるらしい。

コマンドラインは、spec -fs -c hogehoge_spec.rb みたいな感じで実行し、オプションの意味は

  • fs : -f がフォーマットの指示子で、フォーマットsを指定みたいな。sってなんだっけ?
  • c : カラー。結果をカラフルに表示してくれる。

fixture も test::unit と同じに使える。

view と controller のテストを分けられるし、controller と model のテストも分けられる。それぞれ進めて行く事が可能。ユニットテストの場合は view 単体でのテストとか出来ない。

view のテストをする場合は、インスタンス変数は assigns で指示出来る。こんな感じで @shop が使えるようになる。

assigns[:shop] = Shop.new(:name => "My Shop")
...
render 'shops/show'

view の中に @hogehoge が沢山あると、assigns が増えてきて汚くなる。これはつまり、controller の仕事量が多いんじゃないの?って事が言えるわけで、assigns は五個くらいに抑えましょうと言う事。都道府県や年齢とか、controller の動きと直接関係ないようなものは、view 側で処理しちゃえばいいじゃないか、と。最初は気持ち悪いけど、その方が本質的。

あとは、タグクラウドの実装は重くなるからみんな使わないでね。

rspec.vim 10:38  rspec.vim - 只今Ruby勉強中 を含むブックマーク

もろはしさんが、:Rspec で spec を実行していたのが気になったので調べてみた。

なるほど。rails.vim と連携出来そうなの作ってみようかな。あと、rails.vim の補完候補に rspec_model とか出したいんだけど、こっちは rails.vim の内容を書き換えないと無理そう。

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