迷ってしまい遅刻してしまったので途中参加となり、ショートトーク分だけ聞きました。
イベントページ
堅牢.py #1 https://kenro.connpass.com/event/371009/
メモ
- Django 設定ファイルの型が曖昧問題
- 歴史の関係で Django の型周りはあまり整備されていない
- 長いこと古い Python バージョンをサポートしていたことが影響してそう
- Settings ファイルを分割して設定する案を登壇者が話していた
- どうしても型をつけることが難しい設定値は存在してしまう
- 一方である程度推測をつけることができるものについては dataclass などで扱い、型の補助を得られるような状況にしておく
- 最初の設計が後の実装に影響してしまう
- 似たようなコードや、呼び方はどうしてもコピペされがち
- 最初の時点で整えておくことが大事
- pydantic-setting を使っているという人の意見も見られた(後で調べたい)
- 歴史の関係で Django の型周りはあまり整備されていない
- jaxtyping 便利そう
- https://github.com/patrick-kidger/jaxtyping
- https://speakerdeck.com/koheiiwamasa/jaxtypingnosusume
- numpy とかのデータ配列に対して型ヒントを追加できる、らしい
- 機械学習系の場面で役に立ちそう
- Nix がやはり大事か?
- 再現性のある環境構築には役に立ちそう
- 下記などを読んでおきたい
- direnv, nix-direnv, home-manager などが周辺技術として上がっていた
- 招待講演
- スライドをあとから読んだ
- pytest を育てることが良い設計にもつながっている、とのこと
- 特にデータ系であっても pytest.parameterize を活用して柔軟にパラメーターテストができる
- pytest-suger, pytest-xdict, pytest-lazy-fixture とかも初めて聞いた
- 最近、素のものしか触ってなかったので周辺ライブラリを知っていきたい
感想として
- 型付けがやはり大変で、それを補助するための方法が様々な分野で存在する
- テストが大事、予防
- Nix など python 以外の環境についても再現性高く作ることの価値がありそう
- ここまで触れなかったが uv の話はどこでも出てきている
- 常識的なツールがまた切り替わった
Nix をそろそろちゃんと身につけたいですね(雑にしか知らないので)