はじめに
前回プログラミングの学習を始めるにあたり学ぶ言語の大枠をまとめました。
今回はこれからRailsを始めるため、Railsについてさらに調べたことをまとめます。
Ruby on Railsの基本哲学
DRY:Don't Rpeat Yourself(同じことを繰り返さない)
プログラミングをしていくうえで守るべき原則ひとつ、DRYの原則。
重複を避ける=複数の場所に同じ(似たような)情報を置かない
重複して記述されているとどうなるか…
- 記述量が多く複雑になりコードを読むのが難しくなる
- 修正箇所が複数発生し、修正漏れなどがおこる可能性がある
DRYの原則を守ることで、プログラムの可読性・保守性が高くなる。
CoC:Convention over Configuration(設定より規約)
Ruby on Railsにはファイル名の規約やテーブル定義の規約など様々な規約があり、この規約に則って記述することで記述量を大幅に減らすことができる。
規約から外れる場合だけ開発者自身でそのコードを書く必要が生じる。
余計な記述を省けることで開発のスピードが上がる。
MVC(:Model・View・Controller)とルーティング
Ruby on RailsはMVCアーキテクチャ※に基づいて3つの部分で構成されている。
※アーキテクチャ=基本設計や設計思想
M:Model
データベースを操作する仕組み
Controllerからデータの追加や変更・削除の指示を受け実行する。
データベースのテーブルごとにModelが用意されている。
データベースのテーブルはモデルクラスとモデルクラスから生成されたインスタンスによって作られている。
V:View
ユーザに見せるインターフェイスのデザイン
Viewは通常複数用意されており、おのおのHTMLのテンプレートのような形になっている。
テンプレートの中にはRubyのコードが埋め込んであり、要求されたアクションに応じて該当のテンプレートにControllerがModelから受け取ったデータを反映し、HTMLを生成する。
C:Controller
ユーザーリクエストをModelやViewと連携させる仕組み
ユーザーからのリクエストを受けModelから必要な情報を受け取り、Viewによって生成されたHTMLを画面に反映させる。
ModelとViewに指示を出す司令塔のような役割。
Viewと同じく複数用意されており、さらに1つのControllerの中に複数のアクションが用意されている。
アクション=アクションメソッド
ユーザーからのリクエストに対して具体的な処理を実行するためのメソッド。
ルーティング
URLとアプリケーションを結びつける仕組み
ユーザーがブラウザを経由してアクセスしたURLとコントローラーのアクションを結びつける(=処理を割り振ってい る)役割。
コントローラーの一部のようなもの。
MVCとルーティングの関係を図にしたもの
これまでの情報をまとめて図にしてみました。
まとめ
勉強を始める前にまとめましたので理解し切れてない部分があるかと思いますが、ここでまとめたことを意識しながら勉強を進めて行きたいと思います。