laravel エラーハンドリング

config/app.php設定ファイルのdebug設定オプションで決定

これか?

'debug' => env('APP_DEBUG', false),

実働環境でこの値をtrueにしてしまうと、アプリケーションのエンドユーザーへ、セキュリティリスクになりえる設定情報を表示する

例えば、falseでcontroller未設定のページのリクエストをすると、

404が表示されます。

trueにします。
あれ、404のままだ。ん?404は404か。

システムエラー時は500のページ
存在しないURLにアクセスされた時は404のページ

laravelのキャッシュクリアコマンド

まず、サーバーを起動します。
[vagrant@localhost laravel]$ php artisan serve –host=192.168.35.10 –port=8000
Laravel development server started:
[Wed Oct 10 22:07:11 2018] 192.168.35.1:56161 [200]: /js/main.js
[Wed Oct 10 22:07:11 2018] 192.168.35.1:56160 [200]: /css/styles.css
[Wed Oct 10 22:07:14 2018] 192.168.35.1:56166 [200]: /favicon.ico
[Wed Oct 10 22:07:17 2018] 192.168.35.1:56168 [200]: /css/styles.css
[Wed Oct 10 22:07:17 2018] 192.168.35.1:56172 [200]: /favicon.ico

[vagrant@localhost laravel]$ php artisan cache:clear
Failed to clear cache. Make sure you have the appropriate permissions.

あれ?
git hub issueに上がってますね。
https://github.com/laravel/framework/issues/25451#issuecomment-424743418

ディレクトリを作成します。

Wow! すげ!
[vagrant@localhost laravel]$ php artisan cache:clear
Application cache cleared!

application以外でも、configuration, route, compiled viewもclearできます。
[vagrant@localhost laravel]$ php artisan config:clear
Configuration cache cleared!
[vagrant@localhost laravel]$ php artisan route:clear
Route cache cleared!
[vagrant@localhost laravel]$ php artisan view:clear
Compiled views cleared!

ドキュメントも読んでおきましょう。
https://readouble.com/laravel/5.6/ja/cache.html
redis, memcacheにも対応しているようです。

RDS マルチ AZ 配置

Multi-AZ DB インスタンスをプロビジョニングすると、Amazon RDS はプライマリ DB インスタンスを自動的に作成するのと同時に、異なるアベイラビリティーゾーン (AZ) にあるスタンバイインスタンスにデータを複製

インフラストラクチャ障害の場合、Amazon RDS はスタンバイ (Amazon Aurora の場合はリードレプリカ) に自動的にフェイルオーバーするので、フェイルオーバーが完了するとすぐにデータベースの動作を再開できる

なるほど、そういう意味か。

同一リージョン内の独立したロケーション
障害発生時は自動でフェイルオーバーが行われ、1,2分で完了します。つまり、サービスが止まる時間はこのフェイルオーバーが行われている間だけなのでとても短い時間で済む。

Amazon ElastiCacheを使おう

create an Amazon ElastiCache Redis node and connect to it from an Amazon EC2 instance

serviceからelasticacheを選ぶ

クラスターエンジン
redis
データベース、キャッシュ、メッセージブローカーとして使用されるインメモリデータ構造ストア

Memcached
動的なウェブアプリケーションの高速化に使用される高パフォーマンスの分散メモリオブジェクトキャッシュシステム。

redisを選択する。

node typeはcache.t2.micro
リプリケーションはnone

ほう

セキュリティグループ
nodeを6379にする

ec2 リモートデスクトップ接続

すげー

s3を画像のcdnとして使おう

まずs3のバケットに画像をuploadして、パブリックのアクセス権を付与します。

できました。

取得した画像を別のドメインから接続します。

<img src="https://s3-ap-northeast-1.amazonaws.com/capital-technology/20181010114846.gif">

OK!

AWSには、ElastiCacheがあるようですね。
elastiCacheとは?
>ElastiCache は、クラウド内の分散型インメモリデータストア環境またはインメモリキャッシュ環境のセットアップ、管理、およびスケーリングが簡単になるウェブサービス
redisみたいなものか?

キャッシュとは?

キャッシュとは?
-> パソコンやスマホに一時的にウェブページのデータを保存しておいて、次に同じページを開いたときに素早く表示させる仕組み

メタデータでキャッシュされないように指定することができる。

<head>
	<meta http-equiv="Pragma" content="no-cache">
	<meta http-equiv="Cache-Control" content="no-cache">
</head>
<body>
hello
</body>

では、続いて、s3を使ってみましょう。

ER図を書いていこう

VARBINARY型:
可変長バイナリバイト文字列
0x00が末尾に付けられることはありません。空白と0x00は異なりますのでデータの末尾に空白が合った場合も特別扱いされることはなく、空白に該当するコードはそのままバイナリデータとして格納されます。

mstはマスターの略
rclはrecruite?

mediumtext
文字型ラージオブジェクトカラム、最大長は 16777215 (2^24 – 1) 文字。