こんにちは。まっつんです。3 ヶ月ぶりのまっつんチャレンジシリーズとなる今回は Ruby on Rails を取り上げます。

Ruby on Rails (以下、Rails) は今や世界で最も有名な Web アプリケーションフレームワークといっても過言ではないでしょう。今回は今までのマイナー路線から一転して、超メジャーフレームワークへのチャレンジとなります:-)

MATSUFUJI Hideharu

Rails の哲学

Getting Started with Rails」の「2 What is Rails?」には、以下の 3 つの Rails の哲学が記述されています。

* DRY - "Don't Repeat Yourself" - suggests that writing the same code over and over again is a bad thing.

* Convention Over Configuration - means that Rails makes assumptions about what you want to do and how you're going to do it, rather than letting you tweak every little thing through endless configuration files.

* REST is the best pattern for web applications - organizing your application around resources and standard HTTP verbs is the fastest way to go.

DRY は重複を防ぐ考え方です。同じコードをいくつも書かないようにすることで生産性やメンテナンス性を高めようというものです。

Convention Over Configuration (CoC) は「設定よりも規約」あるいは「設定に勝る規約」と訳されています。 開発者が望むと思われる動作を Rails が規約として仮定し、それに従ってプログラムを動作させることで設定のための作業コストを削減しようというものです。

そして最後に挙げられているのが REST です。今回はこの REST に焦点を合わせて話を進めていきたいと思います。

Rails における REST

REST (Representational State Transfer) とは何か?書籍「RESTful Webサービス」の監訳者である山本陽平氏はブログで以下のように書かれています。

yohei-y:weblog: REST 入門(その1) はじめに

REST は Apache 創始者のひとりであるロイ・フィールディングさんが、彼の博士論文で提唱したネットワーク分散システム、特に WWW のアーキテクチャスタイルです。WWW 技術はなぜ成功したのか、その特徴は何なのか、ということについてソフトウェアアーキテクチャの観点から見直し、そのあるべき姿について論じるための基礎的な資料となるものです。

これによると、REST はシステムのアーキテクチャパターンであることがわかります。次に Rails における REST の考え方を見てみましょう。

REST, an acronym for Representational State Transfer, boils down to two main principles for our purposes:

* Using resource identifiers (which, for the purposes of discussion, you can think of as URLs) to represent resources

* Transferring representations of the state of that resource between system components.

REST にはいくつかの原則がありますが、Rails ではリソースの特定と状態遷移の表現方法に重点を置いているようです。

今回筆者が一番注目しているのが、前者のリソースを特定するための URI マッピングです。Rails では、どのようにリソースを定義し、リソースと URI をマッピングするのでしょうか?

Rails のインストール

それでは「Getting Started with Rails」を参考に Rails をインストールしましょう。

Rails をインストールする前に Ruby およびパッケージ管理システム RubyGems をインストールします。

sudo aptitude install ruby
sudo aptitude install rubygems

続いて、RubyGems を使用して、Rails をインストールします。

gem install rails

筆者は、ホームディレクトリの .gem ディレクトリ以下にパッケージが展開されるように RubyGems を構成しています。このような環境の場合は gem を実行する際の sudo は不要になります。また、Rails のプロジェクトやデータベースの生成するためのコマンドが .gem/ruby/1.8/bin ディレクトリに配置されるので、このディレクトリを環境変数 PATH に追加しておくと便利です。

続いて、いつでもソースコードを参照できるように Rails のリポジトリを手元にコピーしておくことにします。

git clone git://github.com/rails/rails.git

以上で Rails で Web アプリケーションを構築する環境が整いました。次回からポテトバーガー注文アプリケーションを実装していきます。

使用したソフトウェアのバージョン

Ruby1.8.7
RubyGems1.3.1
Ruby on Rails2.3.2

参考文献

トラックバック(0)
  • このブログ記事のトラックバックURL:
コメント