開発

Udemyアプリ版の講座ダウンロードができない

Udemyアプリ版を使うと、動画をストレージにダウンロードできるので、外出先でネットワークが遅かったりオフラインでも見ることができます。 ですが、出かける前にダウンロードしておいて、電車の中で聞こうとおもってみてみたらダウンロードされてなか...
Windows

マザーボード交換時の再ライセンス認証

マザーボード交換時の再ライセンス認証にはまりました。 以前は電話したら何とかなったのですが、電話での認証は現在ないらしい。 いろいろ試行錯誤しているうちにできちゃった感じで画面キャプチャーもしていないのだが、ライセンス認証画面でトラブルシュ...
Laravel

[Laravel]queryのSQLを得る方法

Queryオブジェクトの発行予定のSQLを得る方法です。 $sqlDump = preg_replace_array('/\?/', array_map(function($n) { return "'".$n"'"; }, $query-...
Git

リモートにないローカルブランチを削除

gitを使っていると、ローカルに大量のブランチができて鬱陶しい。 mainにマージ後削除することが多いと思いますが、リモートにない&マージされていないローカルブランチを削除するコマンドです。 git fetch -p && git bran...
CakePHP

[CekePHP5]Tableクラスのメソッド存在チェック

こちらの記事でコントローラーのメソッドの存在チェック方法について書きましたが、Tableクラスでメソッドが存在するか調べる方法についてはまた事情が違うようでした。 Tableクラスに実装したメソッドに関してはmethod_exists()で...
CakePHP

[CakePHP5]Modelイベントがなくなってる?

レコードの保存時などのイベント取得でCakePHP4以前ではafterSave()とかbeforeFind()とか、そいういうメソッドをTableクラスに定義するとそこでイベントを受け取ることができました。 ですが、CakePHP5でやって...
CakePHP

[CakePHP]メール送信で”Could not send email: unknown”

CekePHP5でメール送信したら "Could not send email: unknown" という謎のメッセージが出る。 原因 EmailTransportのclassNameの設定を確認する。 app.php(もしくはapp_lo...
Linux

sedコマンドでエスケープなしで置換したい

sedコマンドでURLなどエスケープ文字を含む文字列を置換したい場合 sed -e "s/URL/http:¥/¥/www.codelab.co.jp¥//g" in.txt > out.txt みたいな感じにしないといけません。 ですが、...
CakePHP

CakePHPがひどすぎる件

久々にCakePHP触ったんだけど、5になってリファレンスのインチキ度が増していますので、全く信用できません。 CakePHP4とかのときに削除された機能がそのまましれっと書いてある。 とにかく、名前が変わっただけとか無意味な変更がおおくて...
CakePHP

[CakePHP5]CSRF無効化

CakePHP5でCSRFを無効化する方法がハマったのでメモ。 結論 先に結論だけ述べると、FormProtectionComponentを使え ダウトな情報その1 SecurityComponent はCakePHP4.2ぐらいのころにな...
CakePHP

オブジェクト内のプロパティー存在チェックに引っかからない場合

CakePHP5/PHP8.1でコンポーネントがロードされているかどうか調べるために if(isset($this->Auth)){ } というようなコードを書いたが、なぜかfalseになる。 その他のmethod_exists()などの類...
開発

[CakePHP5]Since 5.0.0: Using options array for the `find()` call is deprecated. Use named arguments instead.

CakePHP5ではTable::find()の書き方がかわったようです。 Since 5.0.0: Using options array for the `find()` call is deprecated. Use named ar...
CakePHP

CakePHP5でコードをきれいに保つ

コードのスタイルを統一しておくことは、品質の良いコードを保つのに必須要件です。 ですが、コーディング規約をいちいち気にしながらコードを書くのは非常にストレスになります。 ということで、できるところは機械に任せちゃいましょう。 CakePHP...
docker-compose

Composer で処理中にタイムアウトになるのを防ぐ

docker-compose系のコマンドが長くてめんどくさいのでcomposer.jsonにscriptを書いたのですが、いつの間にか強制終了されてしまいます。 composerで長い時間の処理をさせようとすると、300秒でタイムアウトして...
開発

[CakePHP]Warning: Cannot modify header information – headers already sent ..がどうしても解決できない時

他人が作った古ーいシステムをメンテナンスする時に、 Warning: Cannot modify header information - headers already sent .. がでてRedirectが動かなかったり、画面が真っ白...
Docker

Dockerコンテナの起動、終了時にネットワーク系のエラーが出る

DockerのContainer(コンテナ)を終了させようとした時に「ERROR: error while removing network: network HOGE id FUGA has active endpoints.」とか、開始...
雑談

K855(Logicoolキーボード)+macでキー入力がおかしいとき

LogiCoolのK855というキーボードを1年ほど愛用しています。 無線のメカニカルキーボード。打ち心地もいいし、ゲーミングじゃないけど新方式の無線なので遅延も特に感じないからゲームもできる。BTにも対応で3台まで切り替え可能。ゲーミング...
開発

docker内でcomposerをインストールする

docker内でcomposerを使えるようにしたい場合。 インストールコマンドをRUNにかいてもいいんですが、もっと簡単にDockerFile内で以下のように書けばOK。 COPY --from=composer /usr/bin/com...
Laravel

LaravelでEloquentのSQLを確認する

Queryビルダーで作ったSQL文を確認したいときにはtoSQL()メソッドを使います。 プレースホルダーの値も取得したい場合はgetBindings()メソッドを使います。 $query = User::where('id',1); va...
Laravel

Laravelで複数レコードを一括で更新する

Laravelで1度のQueryで複数のレコードを一括で更新したい時は,upserts()メソッドを使います。 Flight::upsert([ , ], , ); 第1引数に配列 第2引数に検索キー 第3引数に変更したいカラム を指定しま...