Agile Web Development With Rails: A Pragmatic Guide (The Facets Of Ruby Series) Chapter 1. Introduction

はい、テストからの現実逃避前回でお送りします。思いついたときに、AWDwRの反芻をかねて内容を書いてゆく、かもしれない。

IntroductionはRailsが他のフレームワークと何が違うの?というところから始まります。その質問に対する答えが

その例として、Railsのコードが載っております。

[]class[] Project < []ActiveRecord[]::Base
  belongs_to               :portfolio
  has_one                  :project_manager
  has_many                 :milestones
  has_and_belongs_to_many  :categories
  validates_presence_of    :name, :description
  validates_acceptance_of  :non_disclosure_agreement
  validates_uniqueness_of  []:key[]
end

正直、この仕組みを考えたやつは天才だと思った。

  • Railsの哲学。DRY(Don't Repeat Yourself)とConvention over Configuration。ある機能の実装のためのコードは、プログラムのなかで1ヵ所であるべき(DRY)。Javaなんかのフレームワークでは、XMLファイルで設定(Configuration)をずらずらかかなきゃいけないけど、Railsの場合は規約(Convention)にしたがってコードを書くことで設定ファイルを書く煩わしらから解放される(Convention over Configuration)。
  • デフォルトでAJAXや、単体テスト機能みたいなcoolな機能がついている。
  • 豊富なコードジェネレーターでスケルトンは自動生成してくれるから、ロジック作成に専念できる。
  • Railsは実際に使われてる、商用アプリから飛び出たものだってこと。実際に使われてるアプリの本質的な部分を集めてきて、アプリの基盤となるようなコードにまとめあげるのが一番。

DaveがRails萌えな理由を10個*5

(一部割愛)

  • 顧客に"Yes"って言うことが多くなった。

ということで、今回は1.1 Rails is Agileの手前まで終了。ぐお、英単語は極力減らそうとしたけど結構使ってしまったな。

では英語の勉強でもちょっくらしますかね。

*1:パーツがデータとかをやり取りするイメージ。相互作用する、という日本語が一番はまるのかもしれないけど、なんかぴったりくる日本語がうかばない。

*2:日本語では骨組みかなぁ。アプリケーションの基本的な部分。

*3:as if you start with =だから、the skeleton of applicationを実際は使わないようなニュアンスっぽいけど、実際にskeletonをつかうよね。

*4:原著では but we just call it useful.と続く。

*5:原文は Dave's Top 10 Reasons To Like Rails です。萌えとかそんな意味はない、と思う。

*6:うまい訳語が思いつかない。参照http://e-words.jp/a/agile.html

*7:原文 not feeding the framework , feedには(ボケに)つっこむ、という意味があるようで。意図的な誤訳。