技術ブログだがね

名古屋出身ソフトウェアエンジニアのブログ

PHP の include_once は何をもって同じファイルと判断するのか

PHP の include_once と require_once は、実行プロセス内で同じファイルの 2 回目以降の取り込みをスキップするための仕組みですが、何をもって「同じファイル」と判定するのかふと気になりました。この点はドキュメントにははっきりと記載はありません。 結論から言うと、ローカルファイルでは、基本的に正規化された絶対パスが判定基準になっています。 …

発明提案書の書き方(特許出願業務)

前回記事では、ソフトウェアエンジニアに特許出願業務が降ってきたときの、出願までの全体の流れをまとめました。 今回はその最初の関門である発明提案書と図面について、書くときに気を付けたこと、覚えた言い回しなどを残しておきます。弁理士ではなく、あくまでタネを提供する側のエンジニア視点のメモです。 …

Claude Fable 5 の試用権を得たので雑にプロンプトする

Claude Fable 5 のプレビュー版を利用できるようになったので、コードベースの静的レビューを試しました。 Fable 5 は、最上位の Mythos クラスに位置づけられる汎用 AI モデルです。 Mythos は脆弱性を発見する能力が高いと言われているので、脆弱性を探すことを目的にしたプロンプトを考えます。 …

Python におけるリトライ抽象を再考する

Python におけるリトライ抽象を再考する
前回記事では、オプション引数をとるデコレータを楽に定義できるデコレータである kwops_decorator を作成しました。 今回は実演がてら、Python のリトライ処理記述ライブラリ Tenacity を題材に、よく使うリトライ表現を抽象化してみます。 Tenacity は基本的に、実行対象の関数にデコレータを付けることで、その関数はリトライされるべきであることを表現するのですが、関数内でリトライ回数をカウントするためには外のスコープに変数や、クラスにインスタンス変数を置いて自分で数える必要があり、カウントのリセットなども考慮すると微妙に面倒です。そこの改善を主目的に、kwops_decorator を活用し Tenacity のデコレータをラップします。 …