ちょっとづつ GitHub に移行中...

Tenarai

そもそもは Ruby という言語を覚えるために、何か作ってみようと思ったのがきっかけです。

僕がその時欲しかったのが WEB のコンテンツを管理するシステムで、今でいうブログや CMS みたいなものでした。 ページのコンテンツを木構造で管理できて、ページのデザインをブラウザ上で変更できればいいなと思って作り始めました。

で、動くようになったらコレでブログ公開!と思っていたのですが、まだできません...

のんびりやってます。あまりにのんびりやっていたので、完成しなくてもいいかなんて思い始めて...いやいや、楽しみがなくなるのが嫌なのかもしれない。

クラスの使い方

とりあえず、これまで作ったクラスの使い方をメモしながら整理することにしました。

ビュー

テンプレートは HTML がゴチャゴチャするので、Ruby のブロックを使ってエレメントの構造を書いてみることにしました。おかげですべてきっちりインデントされた清々しい HTML が出来上がります。CSS も。

コントローラ

CGI を扱うついでに FastCGI もサポート。Webrick や Mongrel も同じインタフェースで動作するように書いてみました。今後 Webrick と Mongrel のクラスタサポートも追加したい。あと、Thin も。

モデル

データベースへの接続からクエリーの発行といった基本的な操作から、Ruby オブジェクトをデータベースにマッピングする ORM まで書いてみました。テーブル名やカラム名やリレーションは全て明示的に指定しなくてはなりません。なぜなら、暗黙のルールを覚えるのが面倒臭いからです。それから、同じスキーマで 200801_log、200802_log、200803_log といった感じでテーブルを扱う場合、同じクラスを使い回せて便利だろうと思ったので。今のところ MySQL しかサポートしていません。

その他


AdSense is disabled. Please check setting.

こいつはすげぇ、オラ浮気しそうだ。

Google App Engine

なんてったって GFS とか Bigtable とか使えちゃうんだもんね。すげぇー。カッチョエェー。あとオラ MapReduce もさわってみたいッス。

2008.04.11 朝 Gmail を見ると Invitation to try Google App Engine がキテタヨ!

2008.04.12 夜 Google App Engine Blog を見ると、Support for more languages にフォーカスしているようなので、Ruby がサポートされるまで様子を見るかどうするか...せっかくなので Python で Hello World! はやっといた。