会員チャットの解説(1)Websocket
前回作成したWebsocketを使用した会員チャット。Laravelのお陰でプログラムはシンプルなのですが、裏で何か起こっているかいまひとつ。ということで、仕組みに関して私なりの理解で説明します。
前回作成したWebsocketを使用した会員チャット。Laravelのお陰でプログラムはシンプルなのですが、裏で何か起こっているかいまひとつ。ということで、仕組みに関して私なりの理解で説明します。
WebSocketを使用したリアルタイムのアプリケーションを作りたいのだけれど、WebSocketのサーバーの設定や管理は面倒、という方にお勧めが、Pusherのサービスです。無料プランで、1日200Kまでのメッセージ、100人までの同時接続が可能という寛大さ。ちょっとした小さいサイトなら無料プランで十分かもしれません。今回はそのサービスの紹介とともに、会員チャットをLaravel 10xとVue 3で作成します。
コレクションの空をチェックする関数は、isEmpty()、しかし現実では「~が空でないとき」という条件文も良く使います。 もちろん、! で if (! $collection->isEmpty()) とすることでも十分なのですが、なぜか if ($collection->isNotEmpty()) の方が私にはわかりやすい。
プログラムの中のどこからでもカスタムログを作成できるようにしたのは前回の話。今回はそのログを例えば3ヶ月ごとにローテーションしてみます。
プログラムの中で必要なときにちょろっとある情報をログに残したい、しかもlaravel.logではなくカスタム(ここが大事)のログファイルを作成して残したい、というのが私の願いです。さて、どうプログラムするか?
タイトルを見てv2とは古いんじゃないと言われそうです。しかし「私はロボットでありません」というのが好きなお客さんも要るのです。今回はGoogle reCaptchaを簡単に取り付けできるパッケージを紹介します。もちろん、v3あるいはさらにエンタープライズバージョンも将来に紹介する予定です。
自営業の私は、いつも勉強姿勢。自分でAWSのアカウントを持ち、EC2マシンを立ち上げ、自分でDBサーバーやウェブサーバーを設定して、さらにワードプレスを使いこなしてブログ書く、という面倒なことをしています。みな自分の勉強のためと思って(実際は非常にケチ)。しかし、このワードプレス、とにかく攻撃がひどい!ついこの間までは1週間に必ず1度はすべてのサービスを落として再スタートしなければ、CPUがほとんど100%近い状態。このサイトに来てくれる人に申し訳ない。ということでワードプレスから脱却して静的ページに移行しました。さて、どう移行したか? ヒント:実はまだ裏ではワードプレスを使っています。
バリデーションの話は尽きないです。過去にもいくつか取り上げました。今回もちょっと頭をひねった話です。
1年と言っても必ずしも365日とはならないです。4年に1回のうるう年は366日となります。さて、この1年というあいまいな定義をデータベースのSQLあるいはプログラムで計算するとどういう結果になるかという話です。
<input>のHTMLタグにおける文字列の入力(type=”text,emailなど”)と違ってチェックボックス(type=”checkbox”)は、値をそのまま表示しません。オン・オフのチェックマークとしてUIで表示する必要あります。また、フォームの投稿の際には、チェックボックスがオフの状態つまりチェックされていない状態だと値もフォームのリクエストに入ってきません。今回は、チェックボックスのコンポーネントの作成の話です。