この記事は、03月20日都内某所で行われた、IT学習の継続を目的とした勉強会
(通称:コミット会)のレポートです。
参加者と発表内容
- YUUKI
- Laravelバリデーション
- Kudoo
- css命名規則「BEM」について
- Takuto
- Amazon EBS の種類
- yasuto
- Codeシリーズのおさらい
YUUKI 発表内容の目次
- ミドルウェアおさらい
- バリデーションとは
- phpのバリデーション
- Laravelバリデーションの基本
- Laravelバリデーションカスタマイズ
Laravelバリデーションカスタマイズ
バリデーションとは
値に制限を掛けること
例:5文字以内というバリデーションを掛けた入力フォームで、以下を入力する
abcdef
↑6文字で、5文字以内ではないので入力に失敗する
phpのバリデーション
コードの例
# フォーム入力で、もくもく会名が空文字の場合、バリデーションメッセージを出力する。「ここの〇〇の場合」の〇〇が制約 if ($_POST['mokumokuname'] == ''){ $mokumokuname = null; header("location: ../../"); die('もくもく会名を入力してください'); } else { $mokumokuname = $_POST['mokumokuname']; }
Laravelバリデーション
Laravelバリデーションの基本流れ
- Routing
- 指定のパスにPostする
- 指定のコントローラのメソッドを実行する
- コントローラ、またはミドルウェアでバリデーションを実行する
- 制限に引っかかったら、トップページフォームに遷移させる5. 指定のビューファイルを返す6. ビューファイルが表示される
Laravelバリデーションカスタマイズ
- Routing
- 指定のパスにPostする
- 指定のコントローラのメソッドを実行する
- Requestに、リクエスト情報が全て含まれている
- キーにフォームのname属性値、バリューにバリデーションの項目名を書く
- Validateインスタンスのmakeメソッドで、リクエスト情報にバリデーションを適用させる
- 指定のビューファイルを返す8. ビューファイルが表示される。
↑4〜6がカスタマイズ
Kudooの発表内容について
css命名規則「BEM」について
BEMとはcssで最もメジャーな命名規則である
Block Element Modifierの頭文字を取ってBEMと呼ばれている
Block・・・一つの独立したかたまり、親要素
Element・・・Blockに属する子要素を指す。Blockの後ろにアンダースコアを2つ付けて表す
Modifier・・・BlockやElementが変化した状態、ダッシュを2つ付けて表す
例)
<div class=”block”>
<div> class=”block__element”></div>
<div> class=”block__element–modifier”></div>
</div>
BEMを使うと例えばこんなメリットが
・ネストが少なく読みやすい
・多くの人が知っている書き方
Takutoの発表内容について
今日はEBSの2つのSSD、汎用SSDのIOPSについてお話ししました。
汎用 SSD (gp2)のIOPS
汎用SSDはEBSのうち最もバランスの取れたストレージと言っても過言ではないです。
汎用SSDのIOPSの計算方法を把握することでより適切なストレージを選択することができると思います。
仕組み
こちらの図はEBSのボリュームサイズと最大IOPSの関係を示したグラフです。
オレンジ色の線に着目してください。ボリュームサイズに比例して最大IOPSが増加しているのがわかるかと思います。

実はAWSのIOPSの概念にはI/Oクレジットという考え方があります。
I/Oクレジットはボリュームサイズの 1 GiB あたり 3 IOPSを毎秒もらえます。
ですので、上のグラフのオレンジ色の線のようにIOPSが増加します。
またEBSは初期に5,400,000 I/Oクレジットを持っています。これは30 分間で 3,000 IOPS という最大バーストパフォーマンスを持続するには十分な数のクレジットです。上記のグラフでいう青色の線を示しています。
IOPSが空になったらどうなるの?
上記のようにIOPSが増加していくとはいえ、増加する量より消費する量の方が多い場合、どうなるのか?が気になるところですよね。このような場合、性能が増加するIOPSの量まで劣化します。ですので、もしもアプリケーションの性能が低下する場合はIOPSをあげるようにしましょう。汎用SSDにIOPSをあげる方法は上記で説明させていただいた通り、ボリュームを大きくすることです。またその他にもプロビジョンドIOPS SSDの購入するのも1つの選択肢といえます。
yasutoの発表内容について
今日はおさらいという形でCodeシリーズについて発表しました。
Codeシリーズのおさらい
主なCodeシリーズとして、以下の4つがあります。
・Code Commit
・Code Build
・Code Deploy
・Code Pipeline
Code Commit
AWSが提供しているGitリポジトリをホストできるサービス。
Code build
既存のコードを簡単にコンパイル、ビルドできるサービス。
コードを実行できる内部の環境を簡単に用意することができる。
Code Deploy
用意したコードを外部に簡単にデプロイできるサービス。
※Elastic Beanstalkとの違いについて
Elastic Beanstalkと類似しているが、とにかくコードを簡単な環境でデプロイしたいといった場合はElastic Beans Talkがオススメ。一部OSをカスタマイズしてそのサーバにデプロイしたいといった場合はCode Deployがオススメ。
Code Pipeline
先ほど紹介したCode Commit, Code build, Code Deplyをパイプラインで繋いで、一連の流れを自動化してくれるサービス。Code Commitを走らせた時点でデプロイまでを自動的に処理することができる。
コメント