GTB: Web アプリフレームワーク入門/REST API 入門 ## 1日目(座学) 5h (4h) * プロトコルの話 * REST : 1h * CRUDについて * HTTPについて * リクエストについて * レスポンスについて * HTTPステータスコードについて * 認証 * OAuthの名前と仕組みをさらっと挙げるくらい * JSON : 0.5h * フォーマットについて * 利用範囲について * 環境構築の話 * Dockerの用意 : 1.5h * 構築 * 動作確認 * 環境変数の話(.env) * サーバーサイドの話 * MVC : 1h * デザインパターンについて * プログラムを作る上で、ベストプラクティスを共有することの意義 * なぜ役割を分けるのか * モデルとは * コントローラとは * ビューとは * MVCは何が美味しいのか * なぜwebアプリケーションで使われるのか ## 2日目(実践) 8h (6h) * Laravel についてさっくりと話す 1h * カンファレンスっぽく話す * LaravelはPHPを使ったフルスタックフレームワークということを話す * フレームワークはノウハウの塊だよ * 簡単かつ安全に、短く書くことができる * マイグレーション * MySQLに直接入ってSQLを叩かなくても、簡単にテーブルを定義できます。 * artisanコマンドについて * 便利コマンド紹介 * ディレクトリ構成(どこがMVCに対応しているのか) * Modelの作り方とか、Controllerの作り方 * サーバーサイドの話(ハンズオン) 作るアプリケーションは「name」と「body」だけの掲示板のイメージです。 * ルーティング 1h * LaravelでのCRUDをルーティングの書き方と読み方の紹介 * 処理の流れについて * バリデーション 2h * バリデーションについて説明 * Laravelで備わっているバリデーションの紹介 * 講義で使う内容をピックアップしてバリデーションのルールを紹介する * Laravelでの指定方法について(どこで書くのか) * ORM 2h * ORMについて説明 * Eloquentについて説明 * Model * テーブルの指定方法 * 実際にModelを使ったの値の取得方法について エクストラステージ(もっと面白くできる部分) * 復習ステージ(メールアドレスのカラムを追加するタスク) * フロンティアステージ(認証機能を追加する) * Passportを使ってOAuth認証実装する 動作確認 リクエストしたら、DBにデータが入っていることが確認できる。 レスポンスは200 OKか確認する。