GreeLabsのオープンソーステクノロジー勉強会 第3回に参加してきました。

内容はRails,PHP,Ethnaについてでした。実際に私がRailsおよび、PHPについて触っているので、知らない部分についていろいろ知識が広がりました。
勉強会というのに参加するのは何回目かだけど初めて勉強になったと感じられました。今までは、馴れ合いという感じがとてもしたんですけどね。。。やはり、すでに確立されているものに関しては勉強会を開くよりも自分で書籍等のまとまったもので勉強するのが効率良いと思います。

さて内容です。podcastで公開はされるのかな?とりあえず、自分のメモ用に。

稼働環境についての考察

安定性にかける。Lighttpd(通称Lighty)のFastCGIの方が安定している。
たまにLightyが落ちることがあるので、それは監視して再起動をかけてやるように設定する。
また、メモリを多く使用してしまうため、FastCGIのオプションにGCの設定を施す必要がある。
Pure RubyでかかれているWebrick。速度的に難がある。
初めて聞いた。C言語 + Rubyで書かれているMongrelなどを使う方法もある。
gemでインストールするがWindows版についてはコンパイル済みのバイナリが
用意されているので使用することができる

速度の面でFastCGIを使用するのが良い。自分が使うときはLighty + FastCGI
使おうかなと。開発はもちろんWebrickを使おうと考えています。

日本語化について

Viewで表示する文言と、モデルのセーブ時にRailsが自動設定する
エラーメッセージを日本語化する必要がある。
  • ActiveHeart
プラグイン形式で、モデルが生成する文字列に含まれる項目名を
日本語化できます。
  • スペジェネ
スペシャルな情熱を持ったジェネレータ?だっけかな?と紹介されてました。
Scaffoldの高機能版。モデルの生成時や更新時に確認画面をはさんだりする。
どこに使うのかはわからないけど、Ajaxも使用するらしい。has_manyにも対応。
  • Get-text package
GNU get textのRuby版。現在はメッセージのみ対応。
モデルの項目名にも対応しているらしい。_(ID)で簡単に多言語化する。
エンコードを変更するときはフィルタを使用する。NKFやiconvを使用する。
Rails自体がi18nに対応しないほうが良いという話もあった。


ActiveHeartがライトな感じだし、使いやすいです。というかほかには
使ったこと無いんですけどね。ただ、本格的に多言語対応するならGet-textが
良い気がします。スペジェネもうまく要件が合う部分に使うと
かなり楽になるかもしれない。

PHPについて

卑下するほど悪くない。導入が容易だし、サーバにすでに入っている場合が多い。
だから、実際の案件で環境を変えず構築できるので使える箇所は多い。
コントローラの実装が言語使用的にページコントローラになっているので、
無理やりフロントコントローラのフレームワークに合わせるのはいかがな物かという話。