Ad Network

あわせて読みたい

  • あわせて読みたい

« 今月のベストセラー | Main | 「SEO業者」と「電解還元水の販売員」の共通点 »

Ruby on Rails: なぜActiveRecordが必要なのか?

 Railsの勉強がしばらくストップしてしまったので、今日はビデオを見てお勉強。Rails Envyの「ActiveRecord Tutorial」は長さも25分とちょうど良いし、「ActiveRecordとはなんぞや」を具体例を交えて簡潔に教えてくれるのでとても良い勉強になる。

 英語だが、冒頭の部分を乗り越えればあとはプログラミングの話なので、日本人にもそれほど難しくないはず。念のため、オープニングの部分のみ、超訳しておいた。

ActiveRecordのアイデアは、いったいどこから来たのか?

まずは"Active Record"の意味から (ActiveRecordではない点に注意)
 "Active Record"とは、デザイン・パターンの一つ。
 どうやってデータベースにアクセスするか?
  SQLにプログラムから直接アクセスする方法もあるが...ちょっと不便
 データベースのテーブルをオブジェクトにマップすればいい
 というのが"Active Record"の考え方
 このデザイン・パターンを、
  PHPに応用したのがCakePHP
  Rubyに応用したのがActiveRecord

つまり、言い換えれば「ActiveRecordはRubyをSQLに翻訳する仕組み」。

Rubyで u = User.find(1) が、
SQLでは、 SELECT FROM users WHERE (users.`id` = 1) となる

Ruby: u.first_name = "Joe"
SQL: (まだ何もしない)
Ruby: u.save
SQL: UPDATE users SET `first_name` = 'Joe' WHERE `id` = 1

Ruby: u = User.find_by_first_name("Joe")
SQL: SELECT * FROM users WHERE (users.`first_name` = 'Joe') LIMIT 1

 しかし、こんなハイクオリティなものが、ちょっとググッただけで簡単に見つかるとは本当に良い時代になったものだ。

【追記】ちなみに、同じ人たちが「Ruby vs. PHP」の論争を「Mac vs. PC」CMのパロディにしたビデオを作っていることを発見したので、ここに貼付けておく。

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341c4f9853ef00e54f454b988833

Listed below are links to weblogs that reference Ruby on Rails: なぜActiveRecordが必要なのか?:

Comments

Post a comment

This weblog only allows comments from registered users. To comment, please Sign In.