##やったこと
###・Railsチュートリアルでのわからなかった単語の理解、深掘り
###・MVCについてを詳しく
##学んだこと
###・gemとは
→Ruby用のパッケージ管理ツールで、ruby用のライブラリを使うときに必要なソフトウェア。これにより、ruby用のライブラリのインストール、アンインストール、バージョン管理を簡単に実行できる。
gem自体はruby用に付属されていて、誰でも無料で使える。
###・そもそもライブラリとは?
汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたもの。
###Restとは
簡単に言えば、webに運用したソフトウェア設計様式のこと。
URLに対してHTTPメソッドである、『GET(取得)、POST(作成)、PATCH(PUT)(更新)、DELETE(削除)』
これを利用することで統一感のある意味が掴み安いURLを設計することができる。
つまり、 http://localhost:3000/test というURLがあったとする これにRESTを適用すると1つのURLに対してHTTPメソッドのGETでアクセスすればデータを取得。POSTでアクセスすればでデータの作成を行えるということ。
###・ジェネレータとは
Railsの開発において雛形になるソースコードを自動生成するためのコマンド。
<ジェネレータの用途と種類>
よく使われるのが scaffold、controller、 model、 migration。
scaffold を使うと、モデル・ビュー・ルーティング・マイグレーション・コントローラーまで、テスト込みで一括でファイルを作成される。 (rails generate scaffold NAME )
例えば、rails g scaffold User を実行すると、ルーティングに resources :users が追加され、アプリケーションにおける基本的な機能である一覧(index)、詳細(show)、新規作成(new/create)、編集(edit/update)、削除(destroy) を実現するために必要なファイルが追加される。
<コントローラーを追加したい場合>
Rails g controller / Rails g scaffold_controller の二種類あり、
Rails における一般的な RESTful コントローラーを定義したい場合は scaffold_controllerを、そうでない場合は controller を使うのが良い。
<モデルだけを追加したい場合>
rails g model
<マイグレーションのみを追加したい場合>
rails g migration
###マイグレーションとは
→Railsからデータベースのテーブルを管理するためのファイル
###ERBとは
→rubyのコードを埋め込むことができる。(HTMLなど)
###APIとは
アプリケーションプログラミングインターフェースの略。
・サーバーで用意している関数(機能)をhttpで通信して利用する事。
・利用するには決め事を守ってリクエストを出す。
・決まり事とはURLとか渡すデータの名前とかデータの形式とか。
・レスポンスは大体何かしらのデータ。時々画像も。
・データの形式は最近はJSON。一昔前はXMLが主流だった。
・ajax形式で利用される事が多い
###MVC
<ルーティングとコントローラー>
利用者がRailsアプリケーションにリクエストを送信すると、まずwebサーバーでリクエストを受け取る。
リクエストがRailsアプリケーションに関することである場合、webサーバーからRailsアプリケーションに送られる。
利用者のリクエストはURLとして届き、どのコントローラーに含まれるアクションを実行すればいいのか判断する時に使われるのが「routes.rb」ファイル。このファイルにはどんなURLだった時は、どんなアクションをすればいいのが記憶されている。Railsアプリケションは各コントローラーの中に、複数のアクションが定義されている。
<モデル>
リクエストが登録済みのデータが見たかったり、新しいデータを格納して欲しいといったものの場合、データベースとのやり取りが発生する。
ex 例えば、Railsアプリケーションでは、使用しているデータベース毎にテーブルが用意されていて、利用者からリクエストされたアクションは、モデルを介してデータベースとやりとりされ、データの取得、新しいデータを格納したりする、
<ビュー>
モデルの状態を参照し、視覚表現するもの。
取得したデータをビューへ受け渡す役目を担っている。
###課題
SQL文のことについて学ぶ。
Rails active recordbaseについて学ぶ。(継承)