N_OR’s diary

無職が何か言ってる

開発備忘

Laravelでphpunitを利用したテスト

phpunitでテストを書いてみる。 テストの自動化というか、DevOpsというか、システム作りもシステム化していくべきで、こういう対応は大事だと思う。 ただ、テストを自動化することの是非について、仕事としての判断が入ってくると喧嘩する人たちが出てくるの…

laravelでのvalidation処理4(ルールの自作)

色々なValidationの実装を試してみる。 今回は自分でRuleクラスを作成してValidationの内容を実装する。 例としてユーザIDがユニークであるかをチェックするルールを作成。 ルールクラスを作成 ターミナルからルールクラスを作成するコマンド。 php artisan …

laravelでのvalidation処理3

laravelで色んなvalidationを試す。 リクエストクラスを自作してvalidationを設定する方法。 これまでの処理1や処理2に比べると一番現実的な気がする。 今後、絶対にlaravelで用意されている方法以外のエラーチェック(ruleの自作)が必要になるので、Valida…

laravelでのvalidation処理2

laravelのvalidationの色んなやり方を試す。 今回はコントローラ側でValidatorを作ってチェックする。 エラー後の動作は自分でハンドリングする。 use Illuminate\Support\Facades\Validator; /** * ユーザ情報更新 */ public function postEditUser(Request…

laravelでのvalidation処理1

いろいろやり方はあるみたい。 以下はコントローラ中に処理を書くやり方。 Requestクラスで用意されているvalidateメソッドを使う。 参考 /** * ユーザ情報更新 */ public function postEditUser(Request $request) { $request->validate( // チェック内容 […

ブラウザでビデオ通話

ビデを通話を実現するのにSkyWayというサービスが使える。 apiがライブラリとして提供されているのでそれを利用して組み込むことができる。 使い方は公式をコピペして動かせば何となくわかるかと。 最初にユーザ登録など必要だが基本無料。 無料枠は通信回数…

videoタグの動画をキャプチャする

ブラウザでvideoタグを利用して再生されている動画のキャプチャをとる。 事前にvideoタグを使って動画が出力される仕掛けを作っているイメージ。 例) ※laravelのbladeを利用しているためtemplateタグから開始。 <template> <input type="button" class="btn-check" id="camera-image-save" autocomplete="off"> <label class="btn btn-outline-primary" for="camera-image-save">撮影</label> </template>

ブラウザからPCに接続したカメラ・マイクを接続する

scriptで以下。 <template> <div> <video id="my-video" width="400px" height="300px" autoplay muted playsinline></video> </div> </template> <script> // カメラ映像取得 navigator.mediaDevices.getUserMedia({ video: true, audio: true }) .then(stream => { // 成功時にvideo要素にカメラ映像をセットし、再生 const videoElm = document.getEleme…

Vueでコントロールとデータのバインド

画面の入力用コントロールにvueが提供するv-model属性で、dataの中身を指定する。 例ではuserinfo.idがコントロールとバインドされる。 バインドすると、画面が変わればuserinfo.idの中身が変わるし、userinfo.idを書き換えれば画面の値が変わる。 <template> <input type="text" id="id" class="form-control" v-model="userinfo.id" /> </template> <script> expo…

LaravelでVueファイルを使う

Bladeに直接Vueを使用した記述をするのはよろしくなさそうなので、.vueファイルをつくって,vueを利用する部分を外に分離しました。 (bladeファイルのhtml部に@clickやv-on:click等のイベントを記載しても効かなかった...ただしv-ifや、script部にvueを使っ…

Laravelのテンプレート(blade)とVue

これらを組み合わせてフロントエンドを作るときに注意することの備忘 vueを使ったhtmlやscriptを記述をする場合はかならずvueファイルを作成すること どちらもhtmlを書けるので忘れてしまいがち。 (当たり前とか言わないでください。。。) .blade.phpはphp…

自宅のサーバ公開

勉強がてらlaravelで作ったwebアプリを外部に公開するため、AWSのアカウント作って遊んでみようと思ったものの、なぜか支払用カードの認証が通らずAWSが使えない。。 とりあえず遊ぶだけなのでサーバは自宅内に置いて、外のネットワーク(WAN)からアクセス…

Laravelでログイン機能

Laravelのコマンド(artisan)コマンドでテンプレ的なログイン機能が実装できるらしいです。 Laravel5以前では artisan make:auth コマンドで作成できたらしいが、違うやり方になっている様子。 laravel/uiのインストール laravel/uiはフロントエンド用のラ…

Laradock環境のhttps化

https通信をするのは暗号化したかったからです。 httpのままだと情報が盗聴されたりするだけでなく、SEOで不利になったり、ブラウザ(javascript)からカメラやマイクにアクセスできなかったり面倒事が多いです。 もうでフォルトでhttpsでもいいのでは? 今…

Laradockのダウンロード 、Laravel起動

Laradockのダウンロード。 使用するOSはubuntu1.8。 git、dockerはインストール済み。 gitからlaradock取得 (ホスト側) cd 任意のフォルダ git clone https://github.com/Laradock/laradock.git .env(ホスト側の環境変数設定ファイル)の作成 (ホスト側) cd…

Laradockを使ってみる

10年近く前にLAPP環境(物理)を利用して以降WEB系の知識が止まっているので、とりあえず手を動かしてみたくなった。 php系の環境を用意しようとしたとき、laradockを使った構築が簡単そうに見えたのでこれを選択。 http://laradock.io/ laradockはdockerで…