Bash

【Ubuntu】BashからZshへの切り替え

今更ですが、BashからZshへの切り替えをしました。で、プロンプトをあのよく見る矢印のやつ(語彙力。。)にしました。今後のためにメモしておきます。
LLM

Open WebUI をUbuntuで使えるようにする

前回はUbuntuでOllamaを使えるようにしました。今回はUbuntuでOpen WebUIを使えるようにして、ChatGPTのようにWEB UIでLLMを利用できるようにしていきます。
LLM

OllamaをUbuntuで使えるようにする

今更ですが、ローカルでLLMを実行できるようにするために、無料で使えるOllamaをローカルのUbuntuにインストールしていきます。
PHP

【PHPUnit】TestRunner拡張で前処理と後処理を追加

PHPUnit12 / 11 のTestRunnerを拡張して、テスト実行時の全体の前処理と後処理を追加していきます。(制作協力:ChatGPT-4o)※PHPUnitの公式ドキュメントだけでは判りにくかったため、ChatGPTに手伝ってもらいました。が、ハルシネーションとの闘いですよね。。嘘ついたり汚いコード提示してきたり、コーディング規約無視したり。その辺は人間と同じだなあと思ったり。。
PHP

【PHPUnit】HTTPテストのTestCaseを作ってみる

フレームワークや外部ライブラリ禁止でもPHPUnitはOKというプロジェクト用に、LaravelのようなHTTPテストができるTestCaseクラスを作ってみます。
PHP

【PHPUnit】カバレッジの除外設定

PHPUnit12/11でカバレッジの対象から特定のファイルやディレクトリを除外する設定のメモです。
PHP

【PHP】PDOを使ってPaginatorを作ってみる

フレームワークや外部ライブラリ禁止のプロジェクトで、Laravelのページネーション paginate(5) のような機能を作ってみるという案件です。
PHP

【PHP】動的プロパティをエラーが出ないように扱ってみる

PHP8.2.0以降で動的プロパティは非推奨となり、error_reporting(E_ALL) とすると、存在しないクラスプロパティへの値代入は実行されますが、エラー出力されます。意図しないプロパティへの値代入はバグの温床になるので、クラスプロパティは明示的に宣言してくださいとうことでしょう。しかしながら、この動的プロパティを敢えて使いたい場面もあったります。例えば、ModelBaseで取得結果をDTOで返したい場合などは、当然テーブル毎にカラム定義が異なるので、いちいちテーブル毎のDTOを事前に宣言しておくというのは現実的ではありません(いや、やりたくありません)。PDOStatementで fetch したレコードのカラム名をプロパティ名として、動的プロパティとして値を代入したいものです。というわけで、 error_reporting(E_ALL) でもエラーが出ないように動的プロパティを扱っていきます。
PHP

【PHP】DateTimeオブジェクトをもっと使いやすくしてみる

フレームワークや外部ライブラリ使用禁止のプロジェクトでは、日付計算でCarbonのような超絶便利なものが使えず、PHP組込のDateTimeオブジェクトを使うことになります。これがまた使いにくいので、もう少し使いやすくしてみましょう。
PHP

【PHP】CLIでの標準入力マスキング

パスワードや暗証番号などの機密情報をターミナルの標準入力でタイプする際に、画面上では見えないように別の文字でマスキングする方法のメモです。(制作協力:ChatGPT-4o)