Laravelバリデーションカスタマイズ/css命名規則「BEM」/Amazon EBS の種類/Codeシリーズのおさらい/2020-03-20【コミット会報告】

コミット会

この記事は、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バリデーションの基本流れ

  1. Routing
  2. 指定のパスにPostする
  3. 指定のコントローラのメソッドを実行する
  4. コントローラ、またはミドルウェアでバリデーションを実行する
  5. 制限に引っかかったら、トップページフォームに遷移させる5. 指定のビューファイルを返す6. ビューファイルが表示される

Laravelバリデーションカスタマイズ

  1. Routing
  2. 指定のパスにPostする
  3. 指定のコントローラのメソッドを実行する
  4. Requestに、リクエスト情報が全て含まれている
  5. キーにフォームのname属性値、バリューにバリデーションの項目名を書く
  6. Validateインスタンスのmakeメソッドで、リクエスト情報にバリデーションを適用させる
  7. 指定のビューファイルを返す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が増加しているのがわかるかと思います。

参照:https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ebs-volume-types.html


実は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を走らせた時点でデプロイまでを自動的に処理することができる。

この記事を書いた人

元専業アフィリエイター。
2019年にプログラマーに転向し、受託開発企業からキャリアをスタート。
使用言語は主にPHP。SwiftやFlutterにも興味有。

Yuukiをフォローする
コミット会
Yuukiをフォローする
技術ブログ東京

コメント

タイトルとURLをコピーしました