Laravel

Laravelで同時ログイン禁止を実現する

2020/6/30

Laravelで同時ログイン禁止(後勝ち)処理を追加するために調査した結果、私の中でのベストプラクティスを書き留めておきます。 同時ログイン禁止(後勝ち)とは ここでは、同時ログイン禁止(後勝ち)の処理を以下のように定義します。 あるユーザーが、端末Aでログインしているとき、同じアカウントを使用して、別の端末Bでログインを試行すると、端末Bでのログインが許可され、端末Aでログインしているユーザーは強制ログアウトされる処理のこと。 実現のための方針 実装方法はいくつかあるかと思いますが、なるべくフレームワー ...

ReadMore

その他

SQL Dumpからインポートしようとしたら、Cannot create a JSON value... というエラーが出たので対応した

2020/6/29

SQL Dumpからインポートしようとしたら、Cannot create a JSON value… というエラーが出てしまいました。テーブルにJSONカラムを追加してから発生するようになったようなので、しばらく気づかず...厄介ですね。。 発生したエラー Cannot create a JSON value from a string with CHARACTER SET 'binary'. 私は、TablePlusというGUIクライアントを使用しておりましたため、以下のような画面とともにメッセージが表 ...

ReadMore

Laravel

Laravel7のメール確認時のメールを非同期で送る

2020/5/6

メール確認用に送付されるメールをスマートに非同期で送信できるようにする方法のみまとめます。ユーザー登録時にメール確認を行う方法や、ジョブやキューに関する設定については触れません。 はじめに ジョブやキューに関する設定については触れません。それらの設定は、以下を参考に事前に行ってください。 新規で通知クラスを作成します VerifyEmailクラスをオーバーライドして、拡張したクラスを作成します。 php artisan make:notification VerifyEmailQueued 自動でメソッド ...

ReadMore

Laravel

Laravel7でtymon/jwt-authによるJWT認証を実装する

2020/5/5

Laravel7.xにjwt-authを実装してAPIにはJWTガードを使用しつつ、通常のweb認証にはsessionガードを使用する方法を、自分の備忘録として残しておきます。 事前準備 Laravelに標準で準備されている認証を、事前にインストールしておきます。 composer require laravel/ui php artisan ui vue --auth tymon/jwt-authをインストール インストール時には、必ずバージョンの指定を行いましょう。 Laravel7.xにはバージョン ...

ReadMore

その他

セキュリティに強いSSH Keyの作り方を調べ直してみた

2020/3/9

SSHキーの作り方と言えば、オプションがたくさんあって何が良いのか分からない...という事で、ブログ執筆にあたり、セキュリティに強い方法を調べ直してみました。 これまで これまでは、こちらのQiitaの記事を参考にしていました。Githubが推奨しているやり方のようです。 ssh-keygen -t rsa -b 4096 -C "my_email@example.com" 調査結果 Ed25519鍵を使う Ed25519鍵は OpenSSH 6.5 で追加されたそうです。OpenSSH のバージョンは& ...

ReadMore

その他

PHPのDockerイメージにzip拡張をインストールする

2020/3/6

Laravel Dusk をインストール後、Gitlab CI が失敗するようになりました。Homestead には標準で入っている zip拡張が無かったようで、、インストールのメモです。 環境 Docker公式イメージ : php:7.3-alpine インストール方法 FROM php:7.3-alpine RUN apk add libzip-dev \ && docker-php-ext-install zip まとめ 基本的には、以下のサイトを参考にさせていただきましたが、私が使 ...

ReadMore

アプリ開発

XcodeでiMessage Extensionを削除する方法

2020/3/4

XcodeでiMessage Extensionを追加するときは、「File」 > 「New」 > 「Target...」から簡単に行えますが、、削除の手順が分からなかったため、Appleのテクニカルサポート(DTS)へ問い合わせを行なった記録です。 削除手順 以下の3手順にしたがって削除していきます。 Xcodeでターゲットを削除する ターゲットを削除するには、プロジェクトツリーからプロジェクトを選択します。 ▲ プロジェクトツリーからプロジェクトを選択する ※ すみません、背面にいたQiitaの緑色が ...

ReadMore

その他

Nginxのログが記録されなくなった

2020/3/4

AWS上に構築したNginxをしばらく経って確認したところ、ログが取れていないことが発覚。原因の調査から、取り急ぎの復旧までをまとめておきます。 背景 サーバの環境構築が終わってしばらくしてみると、Nginxのログが毎日は記録されておらず、ランダムに抜けている日がある。 パブリックに公開していたため、攻撃のようなアクセスは毎日来るはず。なんかおかしい... 環境構築が終わってからも、開発やデプロイは何度か行なっていた。 今日のログはというと、アクセスログとエラーログともに0バイトで、今日の未明(2時から4 ...

ReadMore

その他

AWSの有料サポートプランについてまとめ

2020/3/3

AWSのサポートについて、問い合わせした内容をまとめておきます。いくつかのサポートの中で得た知識をまとめただけの備忘録です。 AWSの有料サポートプランについて 1つの契約で全ての質問に対応してもらえるか 他のアカウントの件についてはサポートを受けることはできない。(当たり前ですね笑) サポートに加入しているアカウントについてのサポートのみのため、複数のアカウントを契約しており、それぞれに対してサポートが必要な場合は、それぞれのアカウントでサポート契約を結ぶ必要があります。 サポートのケース作成数に上限が ...

ReadMore

Laravel

Homestead環境にChromeをインストールする

2020/3/3

Laravel Dusk をインストールするために、開発環境に Google Chrome をインストールする必要が出てきたため、忘れないうちに手順をまとめておきます。 環境 Homestead v10.2.0 手順 sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' sudo wget -q -O - https://dl-ssl ...

ReadMore

© 2020 teckmemo