久しぶりに(前回の記事)RoR(Ruby on Rails)の勉強をしました。今回は、再度RoRを勉強直してまとめた備忘録です。
●Railsのコンポーネント
・Active Record―モデル(M)
・Action View―ビュー(V)
・Action Controller―コントローラ(C)
・Active Support―共有ライブラリ集
・Action Mailer―電子メールの送受信
・Action Web Service―ウェブサービス
Action ViewとAction Controllerをまとめて「Action Pack」とも呼ばれている。
●Railsの設計哲学
・DRY(Don't Repeat Yourself:繰り返しを避けよ)
DRY原則とも呼ばれ、繰り返しの記述を避けることで、無駄を省き、バグを減らし、効率を高める。
・設定より規約(Convention over Configuration)
たとえば、モデルには命名規則があり、テーブル名がusersのように複数形ならクラス名は単数形のuserであり、クラスのファイル名は、user.rbとなる。DHH(David Heinemeier Hansson)氏は、「制約は事由をもたらす」と語っています。
●気になる事
・エンコード
Ruby―「Shift-JIS」
RoR―「UTF-8」。
・シンボル
シンボルは、どこでも同一のオブジェクトを表わすことができるようにしたRubyの機能です。名前に「:」を付けるとシンボルになります。
例えば、
「
hoge = "test1"
piyo = "test1"
」
と記述した場合、"test1"のオブジェクトIDは、それぞれ違いますが、
「
hoge = :test2
piyo = :test2
」
と記述した場合、:test2のオブジェクトIDは、全て同じです。主に、ハッシュ(連想配列)のキーに使用されています。RoRでは、セッションの記憶に使うハッシュで特に使われています。
・YAML(ヤムル)
YAMLは「YAML Ain't Markup Language」(YAMLはマークアップ言語ではない)の略とされています。正式名からわかるようにマークアップ言語で、複雑であるXMLとは違うことを意味していて、扱いやすく設定されているのが特徴です。Rubyでは、バージョン1.8からライブラリを利用する事により簡単に扱うことが出来ます。
例:info.yml
「
-
company: 日本シー・エー・ディー
section: IT事業部
team: WEB-DBチーム
」
例:info.rb
「
require 'yaml'
data = YAML.load(File.new('info.yml'))
data.each do |item|
puts item['company']
puts item['section']
puts item['team']
end
」
出力結果:
「
日本シー・エー・ディー
IT事業部
WEB-DBチーム
」
・Rake(レイク)
Rubyで書かれたビルドツール。