Rails勉強会に参加してきた。今回の会場は、虎ノ門近くの伊藤忠テクノソリューションズさんのオフィスにて。ここに来るのは2度目。この前はRuby検定のときでした。あ、そうそう、検定は落ちましたorz。という話はさておき、会場提供ありがとうございます > CTCのみなさま。
- Scaffoldの半歩先へ
- GITの話
- Passengerの話
- rake taskの話
- Railsアプリケーションの運用周りの話
まず、Rails本家で採用になって注目を集めるGITの話ですが。とりあえず話を聞かせてもらおうかと気軽に参加してみたは良いけど、説明ができるぐらいに詳しい人はいないようなので、人柱に手を上げてみる。PCを部屋にあった大型モニターに繋いで、全員が同じ画面を見ながらインストールから簡単に使ってみるまでを試してみようということに。そうそう。気になるGITの発音は「ぎっと」が正解だそうです。「じっと」じゃないらしい。
インストール自体は、本家からソース取ってきて configure & make で特に問題なく片付ける。インストール先に夥しい数の git-xxx コマンドが置かれている(しかも大半がハードリンクしてる)のが気になる人が多い模様(笑)。各コマンドの使い方とかは僕自身も全然詳しくないので、Git - SVN Crash Courseあたりの解説を眺めながらローカルでレポジトリ作ってみたり、cloneしてみたりブランチ作ってみたりしながら何が起きるのかを確かめていく感じ。簡単に使ってみた感想としては、一人で自分用ファイルの履歴管理とかするのには手軽に使えて便利だけど、複数メンバーで共同作業するときは作業手順を予め合意しておかないと収集がつかなくなりそうだな、と。Railsの中の人とか、どんなルールにしてるんだろう?
後半セッションは、瀧内さんによる rake task の話。Rails trunkに入っている新しいタスクを覗いてみようという趣旨で。どうやら migrate 周りの方針が少し変わったようで、db/migrate/配下に自動生成されるファイルのプリフィックスが日時情報っぽい名前になっているという予想外の展開が。今までだったら 001_create_xxx.rb みたいな名前だったのが、20080420070446_foo.rb なんて感じのファイルが生成されるようになっております。確かに時系列に並ぶようにはなるけど、ちょっと気持ち悪いかも。で、おそらくこの変更と関連して、time:zones:*タスクが新設されている模様。きっと、タイムゾーンが違うところにいる人同士での作業に配慮したんではないかと思われますが、敢えて単純な通し番号方式をやめて日時情報形式にしなければならなかったのかは、まだよく解りません。謎。
gems:*タスクが増えていて、ちょっと気になるところだったので掘り下げてみることに。どうやら、config/environment.rbに例えば、
Rails::Initializer.run do |config|
config.gems = [
Rails::GemDependency.new('oauth'),
]
# 以下略
みたいに書いておいて rake gems:install とすると自動的に必要なgem(上の例だと oauth)をインストールしてくれたりするみたい。詳しくは瀧内さんが書いてくれるはず:)
という感じで、いろいろと勉強になりました。GITはちゃんと理解して使えるようになっておきたいな。早めにベストプラクティスを探っておきたいところ。近々にまたエントリー書きます。