Ruby on Rails
爆速学習のRails編です。
※下記の内容に不備がありましたら、コメント頂けると幸いです。また、下記の内容をご使用頂ける場合は自己責任でお願いします。
【目次】
Ruby on Railsとは?
Rubyで利用可能なWebアプリケーションフレームワークです。
フルスタックフレームワークとも呼ばれ、Webアプリ開発に必要な機能を一通り揃えているフレームワークです。
先人の知恵と努力の結晶です。
アプリケーションフレームワーク導入の利点
・アプリの根幹となる設計方針や基盤部分が決まっているので、開発のスピードと質がある程度担保される
・開発ルールが決まっているので、コードに一貫性がありメンテナンス性に優れる
・フレームワークの要求に従えばアプリが完成する
・最先端の技術の導入が速く、開発者の負担を軽減してくれる
→開発者の負担を軽減し、Webアプリの品質が一定以上担保される
設計哲学
DRY(Don't Repeat Yourself)
同じ記述を繰り返さない
CoC(Convention over Configuration)
設定よりも規約
Railsがあらかじめ用意している規約を優先する
MVCパターン
Model:ビジネスロジック
View:ユーザーインターフェイス
Controller:ModelとViewの制御
このModel-View-Controllerの役割を明確に分離しようという設計モデルのことです。
メリットは、
・プログラマー(バック)とデザイナー(フロント)とで平行作業を行いやすい
・デザインやロジックの修正が相互に影響しない(保守が容易)
・機能単位でテストを実施できる
が挙げられます。
開発環境設定
開発に必要なソフトフェア
・Ruby
・Webサーバ(HTTPサーバ)
・データベース
開発環境の設定(Mac/Linux)
・Homebrewをインストール
・Homebrewでrbenvとruby-buildをインストール
・bash_profileを読み込み、有効にする
・Homebrewでreadlineをインストール
・rbenvでRubyをインストール(rbenvでバージョン管理を行えるようにするため)
・HomebrewでMySQLをインストールする
・MySQLコマンドを実行できるようにする(PATHの環境設定を行う)
・bundlerをインストールする
・Ruby on Railsをインストールする
・rehashを実行する
用語
コマンドラインツール(command line tool) :
キーボードで画面を操作するためのプログラム。
Xcodeなどでインストールすることができます。
Homebrew:
Mac OS Xオペレーティングシステム上で、ソフトウェアの導入を単純化するパッケージ管理システムのひとつ。
パッケージ(ソフトウェア)同士の依存関係などを管理してくれます。
そして、ターミナルからコマンドを実行するたけで、パッケージ(ソフトウェア)のバージョン管理やインストール・アンインストールを簡単に行うことができます。
ソースディストリビューションとバイナリディストリビューションについてはこちら
rbenv(アールベンブ):
Rubyのバージョンを切り替えます。
ruby-build(ルビー・ビルド):
Rubyの様々なバージョンをインストールすることができます。
シェル:
人間が入力したコマンドラインをカーネルに伝えるプログラム。人間は直接カーネルに指示を出すことができないようになっている。
ログイン直後から動き始めます。そして、途中で別のシェルに変更することもできます。
シェルは入力内容によって使用するシェルが変わる。
ログイン時に起動するシェルをログインシェルと言います。
bash:
シェルの種類の一つで、shをパワーアップしたシェル。
sh:
最も基本的なシェル。
.bash_profile:
ログインシェルがbashの状態でログインした時に読み込まれる設定ファイル。
場所はホームディレクトリにありますが、隠しファイルなので通常は見えません。
gem:
Rubyを便利に扱うためのアプリケーションの総称。
ターミナルからそれぞれのgemが持つコマンドを実行するという形で使用する。
Linuxコマンド:
ターミナル内で使用できるコマンド。
データベースの一種。
ちなみに、Railsでは運用環境(開発・テスト・本番)毎に一つのデータベースを持っています。
今後に向けて
Active Record(詳しくはこちら)や名前付けのルールなど、他にも重要な概念はありますが、それは実践の中で知識の定着をしようと思います。
難しい内容は記事にしてみます。
あとはデータベースとサーバを学習し直すだけ!