artisan dbコマンド
Laravelの最新バージョンは10xでもうすぐに11xがリリースされます。しかし、Laravel 9xでartisan dbコマンドにオプションが増えていることについ最近気づいたので、忘れずにここで紹介します。
Laravelの最新バージョンは10xでもうすぐに11xがリリースされます。しかし、Laravel 9xでartisan dbコマンドにオプションが増えていることについ最近気づいたので、忘れずにここで紹介します。
Googleのメルマガ配信に対する要求は、前回の「メルマガをワンクリックで登録解除」だけでなく、配信するすべてのメールは、「ドメインに SPF および DKIM メール認証を設定します。」とあります。SPFはDNSでの設定のみですが、DKIMメール認証のためには、それぞれの配信メールの内容を元にDKIM署名のヘッダーの追加が必要です。私のクライアントの環境では、postfix + opendkimとシステムレベルで対応としました。ところが、
Gmailは 2024 年 2 月以降、Gmail アカウントに 1 日あたり 5,000 件以上のメールを送信する送信者に対していくつかの義務付けを発表しました。その1つに、「受信者がメールの配信登録を容易に解除できるようにすること」とあります。毎日何十万というメルマガを送信する私のクライアントではメルマガの受信者の大半がGmailのメールアドレスを使用しています。メルマガはLaravelのプログラムから送信されます。対応しないと迷惑メールになりますよというGoogleの警告は恐ろしいですが、Laravelなら簡単に対応できます。
前回の「特定の会員にリアルタイムでお知らせ」の記事は、ブラウザー内で表示するお知らせの話でした。つまり、ブラウザーを開いていないとお知らせは伝わりません。今回はブラウザーを開いてなくてもデスクトップ上でユーザーにお知らせします。
前回で作成したOpenAIチャットのデモはいろいろと改善点が盛りだくさんです。その1つは、OpenAIからのレスはテキストなのですがMarkdownの形式で来ます。今回はこの表示をHTMLに変換します。
OpenAIとのチャットを作成します。ChatGPTのように、ログインした会員がメッセージ(質問)を送信したら、Open AIが答えるというものです。メッセージはOpen AIのAPIを使用して送信しますが、AIのレスは時間がかかる(長いときは60秒以上)ので、この部分を非同期の対応とします。非同期の対応にはいくつか方法がありますが、ここではシンプルにartisanのコマンドをバックグラウンドのプロセスとして実行します。そして、前回のNotificationを使って答えが来たらWebscoketを通して表示とします。
LaravelのNotificationはEメールやSMSなど多用なチャンネルへの情報発信に便利なものですが、その1つのチャンネルとしてbroadcastがあります。今回は、それを使用してチャットと同様にリアルタイムで情報をユーザーに発信します。
会員チャットデモに機能を追加します。今度は違う機能で、現在参加している会員リストをリアルタイムで表示します。会員がログインしたらその会員名が追加され、会員がログアウトしたら削除されます。これもグループチャットではよくある機能です。
会員チャットデモに機能を追加します。自分以外の誰かがタイプし始めたら、それをリアルタイムで知らせる機能です。チャットなら必ずある機能です。※9/23日にコード修正変更あります!!
前回に引き続いての会員チャットの解説です。少々ややこしい、クライアントとPusherのサーバー間のWebsocketのプライベートチャンネルの購読認証の仕組みを説明します。