ジャズボーカル 松田オリビア圭子

ジャズボーカル 松田オリビア圭子のブログです。主にスケジュールのご案内を掲載します。

@niftyのRuby on Rails プラグインがよさげ!

2008/9/11、ウェブキャリアのRuby on Railsセミナーを聴講しました。
タイトルは"Ruby,Railsによる「ふつう」なポータルサイトのつくり方!"。@nifty timelineをRuby on Railsで開発した、ニフティの成田智也氏、濱中慶氏、おふたかたによるセミナーでした。

そのセミナー後半に紹介された、公開したて(9月10日公開)のRuby on Rails プラグインが便利そう!


現在は3つのプラグインが提供されてます。

  • ActiveRecordBrowser: データベースの内容をすっきりしたGUIで管理できる。たとえばユーザが入力したコメントの承認や削除などをコミュニティ管理者が行うのにぴったり。
  • FilePublisher: 静的コンテンツの内容を管理する機能。ある規模になればロジック部分を書く人と、静的コンテンツを管理する人が別になるのが自然ですが、そのときに双方が互いの処理に負担をかけずに変更を行えるしくみ。これはすぐ使いたい!
  • acts_as_struct: DBのテーブルスキーマを変更せずにカラムを追加したいという要望に応えるプラグイン。migrateがあるからRailsではスキーマ変更は比較的楽にできるけれど、さらに柔軟に扱えないかという社内要望に応えて生まれたものだそうです。


これらのプラグインオープンソース、MITライセンス(商用もOK)。
対応しているRailsのバージョンは2.0以降。
@nifty社内での利用に耐える設計と実装で、すでに使われているものがオープンソースになっているのはとても心強い(詳細部分では社内仕様と変えていますがとのこと)。
ソース読むか…!


ほか、セミナー内で記憶に残った話を書いておきます。


@niftyの歴史から主なサービスなどざざっと紹介があって、その中で@nifty timelineをはじめとする5つの比較的新しいサービスをRuby on Railsで構築したという話。


timelineを発想したときの考え方も勉強になった。時間情報を扱うサービスとして、扱う時間の長さが
ブログ < カレンダー < (まだないもの)
と考えて、そこを扱えるのがタイムラインだねということ。(もっと短い時間なのがチャットやtwitterかな)
そこにソーシャル要素を入れるには?共有して編集しあえるようにする?というように発展しながら開発したのだそうで、そのアジャイルな方針にRoRが最適だったとのこと。
たしかに、わがチームでもそうです。考えながら作る、作って動かしてまたアイディアを追加したり調整したり…というやり方を高速に進めるのに、Ruby on Railsはとても役立ってくれてます。


インフラもについても具体的に説明が聞けた。
timelineは MySQL4, Rails1.1.6, FastCGI, apache2.0, mod_proxy, LoadBalancer
という具合。今から公開であればFastCGIじゃなくmongrelを使うのが主流ですかねということでした。ポータルの中の、多数のユーザが楽しむサービスを安定供給できるRoRインフラの実例を知れたという意味でも勉強になりました。