Rails勉強会@東京第28回に行ってきました。


大森で行われたRails勉強会@東京第28回に参加してきました。

大森ベルポートは大きな建物ですごかったです。
1時間目はSmalltalkのお話をみんなで聞いて、2時間目はライトニングトーク、3時間目はいつものように3つの部屋に分かれてのセッションという感じで進みました。


梅澤さんによる Smalltalk の話

Smalltalk梅澤さんの基調講演。
Smalltalkの文法がいかに変態的であるかを、面白く説明していただきました。

|num| "← 変数宣言"
num := 1. " ← 代入"
num _ 1. " ← これも代入"
^num. " ← return (戻り値)"
num factorial. " ← スペース区切りでメッセージ送る(メソッド呼び出し)"
1 / 3. " ← 分数が返る(三分の一?)"
$a         " ← 文字は「$」"
'文字列'   " ← 文字列はシングルフォート"
"コメント" " ← コメントはダブルクォート"


メソッドを呼び出すときの引数区切り(他の言語では「,」)が、「何を書いてもよい」っていうのが衝撃でした。

assert(100, num)

っていうのが、smalltalkでは

assert理想: 100 現実: num

みたいにかけるのだそうです。


文法の話が一通り終わった後で、Webアプリのフレームワークである「Seaside」の話に移りました。
オープンソースカンファレンス2008でも聞いてきたのですが、改めて「なんだかスゴそうだ…」という印象を受けました。


気軽に試せるレンタルサーバーがあればいいなぁと思ったのですが、現状ではあんまりないそうです。そりゃそうか。
ヨーロッパの方で何やら動きがあるそうなのですが、フランス語とかを解さないといけないのかな…

ライトニングトーク

1人5分で行うプチプレゼンのようなものでした。短い時間で次々と話題が変わるので面白いです。

Vim Script はRubyでも書けるよ。バージョン管理のmercurialかわいいよ

Gauche」というScheme処理系でRuby on Rails のようなものを作ったよ。かわいいよ。

  • RSpec-Fixtureについて

RSpec というものについて知らなかったのであまりよく分かりませんでした。JDaveみたいなものかな。「assert から specify へ」みたいな。

Facebookで使えるアプリケーションをRailsで書く」というお話。

  • railsコマンドの起動機序とオプション(Windows)

railsの起動オプションに「--database=postgresql」って毎回書くのは大変。忘れる。DRYじゃない。
rails.batの中身から始まり、railsのジェネレーターとかのソースを色々と見て回った後「やっぱりrails.batに書くしかない」という結論になりました。

  • partty.org

http://www.partty.org/
端末を共有して録画してブログに貼り付けたりとかもできるサービス。面白そう。

scaffoldから生成されるコードを読んでみよう。


自己紹介のときに、Scalaに興味を示してる人を見つけたのでちょっと嬉しかった。


rspec scaffold というプラグインがあるらしく、RSpec的なテストがscaffoldと一緒に自動生成されるのだそうです。
自動生成されるコードは、なかなか勉強になる部分が多いので、じっくり読んでみよう。というセッション。

「rake routes」ってやると、URLとコントローラーの対応が見られる。
Rails2.0系のscaffoldは、使い勝手が良くなった。
RSpecっていうのは、「should 〜〜」みたいに、「ここはこういう動きをするべきだ」っていうのを事前に定義しておいて、それから実際のテストを実行することができるみたい。

モデル名_path
モデル名_url

っていう便利メソッドがあって、それぞれ

/models
http://localhost:3000/models

っていうパスとかURLを返してくれる。
RSpecはモデルがなくてもコントローラーのテストができたり、テストを個別にできるので便利(モックオブジェクトを使う)。

まとめ

LTが面白かった。時間は短いけど色んな話が聞ける。
シーサイドが面白そう。
Scalaの文法は変態だと思ってたけど、今日聞いた Smalltalk に比べたら全然ノーマルなので、挫けずにがんばろうと思いました。