Pydantic ConfigDict を使います*1.allow, forbid, ignore から選択します. pydantic.Extra.forbid や Config class を使用する方法もありましたが,Pydantic 2.x では奨励されていません. 動作確認のための unittest は以下の通りです.モデルに text フ…
scp コマンドでリモートにファイルをコピーするときに,SSHをパスワード認証で使用しているとうまくいかないので,鍵を作成してSSH公開鍵認証を使用します. なお,リモートは user@remote.local と表記しますので,適宜読み替えてください. MacOS, Linux s…
Python で複数の要素から特定のものが存在するかを検索する場合の,効率がよい方法を検討します. 課題 10万個の要素から特定の要素が存在するかどうかを返す. set を使用する方法, list を使用する方法をすぐに思いつきます.list を set に変換してから…
Git でバージョン管理しているプロジェクトにおいて,大きなバイナリファイルを一緒に扱おうとすると,GitHub のファイルサイズの 100 MB 制限でエラーが発生したり*1,バイナリファイルを更新する度にレポジトリが肥大化していって処理に時間がかかるように…
Git の内部がどうなっているのか気になったのですが,深く理解しなくても使えるツールなので,ざっくりとまとめます. Git の要点 Git は key-value 型データストアでデータを管理している. Git オブジェクトには,blob, tree, commit, tag の4種類が存在す…
JSON Schema を使えば,自分が欲しい構造の JSON データであるかを簡単に判定できるので,とても便利です. まずは JavaScript で JSON Schema を使ってみます. ajv を使う JSON schema バリデータの実装はたくさんありますが,今回は,Ajv JSON schema val…
sum() 関数の where で指定します. numpy.sum — NumPy v1.26 Manual import numpy as np a = np.array( [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], ] ) b = np.array( [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], ] ) v = a.sum(where=b.astype(boo…