ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

Ruby on Railsセミナー行って来ました

scaffoldとactiverecordの触り以外何も知らない状態で、どんなもんかと思って行ってみました。
http://www.web-career.com/seminar/rails_2008_0326.html
講師は「基礎Ruby on Rails」の著者で、株式会社オイアクスの代表取締役でもある黒田努氏で、テーマは「Ruby on Railsで業務システムを作る」でした。
僕的に気になったところをいくつか。

テストフィクスチャ

YAML形式でテスト用のデータベースのデータを用意しておいて、いつでもそのデータをデータベースにロードできるようにすることらしい。
データベースにアクセスするコードのテストは、データベースにあらかじめデータが必要なことが多いでしょうから、この仕組みは有用だと思いました。
JavaならDbUnit使うところでしょうかね。XMLはイマイチでしょうが、Excelが使えるのはメリットかと思います。

データベースマイグレーション

広義では、環境間のデータ移行とかいう意味になるが、ここでのデータベースマイグレーションは、テーブルを作成したり、定義変更したりすること。と説明してました。
割とDDLとかの管理はあいまいになりがちな気がするので、ここまでRailsの範囲に含めてしまったのは正解な気もします。
ただ、CREATE TABLE文もRubyの書き方になってしまうので、SQLに慣れているがRubyに慣れてない人には、ちょっと違和感があるかも知れません。

RESTフレームワーク

RESTは、ロイ・フィールディングさんという方が2000年に書かれた論文の中で表現した言葉だそうです。以外と歴史が深いんですね。
繰り返し説明されていたのは、URIはリソース、HTTPメソッドはアクションを表していて、この組み合わせでシステムを作っていくのだということでした。
それってDOAとかOOっぽいなあとか思ってたんですが、「機能志向からリソース志向へ」って説明されていたので、それって「手続き志向からデータ志向(オブジェクト指向)へ」ってのと同じじゃないかなあとやっぱり思いました。
RESTって、Webサービスに対するリクエストをURLで投げられるやつでしょ?くらいの認識しかなかったので、これを改めるよい機会となりました。

テスト駆動開発

やっているところは、やってるんだなぁと。
アジャイル開発なキーワードで「ペアプログラミング」とか「イテレーション」とかが普通に語られていたので、正直驚きました。従来型の組織じゃできないだろうなぁ。
ただ、出来るようにする組織作りや環境作りが重要とはおっしゃってました。そりゃあ、いきなりやれって言われても出来ませんもんね。
あとRailsっぽいなあって僕が思ったのは、scaffoldで作ったアプリケーションがとりあえず動かせるってところでしょうか。動く状態からイテレーションに入れるので、プログラマとしては非常に精神的に安定した状態からテスト駆動開発に入れるのではないかと思いました。


少なくとも僕が独学で学んだ範囲よりも、かなり多くのことを学べたのは良かったなと。新しい知識も入手できたし。
無料セミナーにも良質なものがあるので、今後もちょくちょく行きたいところです。


そういや、最後懇親会でお話させていただいたウェブキャリアの方は、まだ若いながら非常に向上心旺盛で、一言で言えば非常にアツかった!僕はこういうアツい人と一緒に仕事がしたいのだなあと実感。
そのためには、僕自身がもっとアツい人にならないとなあと思うこのごろでした。