PyConJPとは
1年に1回日本国内で行われるPythonのお祭り。
登壇した内容
SQLModelという、SQLAlchemyとPydanticを融合したORMライブラリについて話しました。 プロダクション環境では使ったことがないのですが、個人開発で触ってみてわかった範囲を話して 自分の理解を深めることと、この新興ORMライブラリに対する皆さんの所感を聞きたい思惑がありました。
Multiple Modelの基底クラスについて、リクエストには含まないけれどもテーブルにはいれたい項目はどうするかの質問がきて改めて考えてみたのですが、 created_atみたいな自動生成のカラムやWebAPIからではなくバッチから登録されるカラムのことを指しているなら、 基底クラスからは外して基底クラスを継承したテーブルと接続するクラスに差分として入れるかなと思います。
反省点
CfPの見積もり甘すぎ。
あれもこれも困ったな〜と思ってエイヤで色々詰めたら1回目の練習で時間オーバーしてまるまる1セクションすっ飛ばせざるを得ない事態が起こりました。 ツイートや懇親会で話した感じ、皆さんMultiple ModelにとMultiple Modelおまけに興味があったようなので思い切ってその2セクションだけにすべきでした。 おまけは好奇心にしたがって好きなように書いたけど、割と個人的な設計思想を含む箇所だからといって日和っておまけにしなければよかったです。
白背景にすべき。
最初黒背景でソースコードを書いていたところ、下記ツイートを見つけて慌てて夜なべして修正しました。
数セッション見て思った感想
— ほぼろ (@rhoboro) 2024年9月27日
- スライドに載せるコードブロックは白背景のほうが見やすい
- トーク会場が広い反面、文字サイズは気持ち大きめが良さそう
- スライドの下のほうは後ろから見ると頭が被っちゃって見えない#pyconjp2024
マイクの位置。
マイクテストは成功したけど、トーク中に背筋伸ばしたらマイクに声が入らなくて焦りました。頭真っ白になってマイクを持つというし選択肢が消えました。それでずっと背筋曲げて話したのが写真写り的に心残り。
聞いたトーク
PEP 723(Inline script metadata)が拓く世界。Pythonスクリプトに必要な仮想環境をツールにおまかせできるんです!
ブログ毎日書いてるnikkeさんの発表(ブログ毎日はすごすぎ…)
PEP 723知らなかったので勉強になりました。 Pythonはちょっとしたツールの開発によく使い、そんなちょっとしたツールのためだけに仮想環境管理するのめんどくさいというのはまれによく感じます。
ORMと向き合う
1日目に聞きました。ORMは便利なはずなのにORMに合わせるために苦労する〜みたいな流れはほんとそういうことよく起こるよなと共感しました。 結局やりたいこととデメリメ考慮して技術選定しましょうねということなんでしょう。(キーノートもそんなメッセージがあったと聞いたけど仕事で参加できずで…)
「僕にはSQLModel合わなかったけど明日のSQLModel入門で勉強します」と言及されたときは焦りました。 QAコーナーで「言及されたSQLModelの発表の者ですが〜」と言うのはイカツすぎるので、発表終わった後に「SQLModelのどこがだめなんですか?」と聞いてその後調べて急遽原稿に盛り込みました。
昨日 ORM のセッションを発表していた者です!
— hoto (@hoto17296) 2024年9月27日
昨日ご質問をいただいてから「SQLModel の何が合わなかったか」を考えていたんですが、結局は昨日に回答した1点のみで、その他はすべて SQLAlchemy と非同期処理の相性に関する問題でした。
(つづく)
ORMと向き合った者同士、懇親会では楽しく意見交換できました。ありがとうございました!
Pythonによるイベントソーシングへの挑戦と現状に対する考察
ドメイン駆動設計の話題でよく見かける成瀬さんの発表。FastAPIとイベントソーシング用パッケージを使っていイベントソーシングをしようという内容でした。
更新用モデルと読み取り用モデルの違いに困ることはよくあります。 データをDBに登録または更新する時に読み取りしやすい形に変換する手間は面倒です。
この発表では、更新用モデルをそのまま登録した後に、登録をトリガーに用途に合わせた読み取り用モデルのデータをまた別に作りましょうというものでした。
これ直近の仕事で使えるかな!?と思ったのですが、結果整合らしく、今回は結果整合NGなので断念です。 でもこれはいいねとかランキングみたいな結果整合のものには便利そうだから選択肢として頭の片隅にいれておきます!
Pythonで3Dモデリングをしてみよう: CadQuery Basic
静岡Python勢でおなじみの佐野さんの発表。(資料見つからず…) GUIで行うような3DモデリングをPythonのコードを書いて行う方法についてでしたり
実際にPython書いて作ったQRコード付き名刺を持ってきたり、ライブコーディングがあったりとホスピタリティに溢れた発表でした。
3Dプリンター名刺、文字の大きさとかQRコードの大きさとか、調整しがら。
— Hiroshi Sano (@hrs_sano645) 2024年10月1日
PETG出始めて出してみたけど、糸引きなければ綺麗に出してくれそう。 pic.twitter.com/J2GZPnAYuY
DjangoとFastAPIによる実践認証技術
Stapyオフライン時代からの同年代の友人しまかぜさんの発表。(発表資料見つからず…) SSR・CSRの認証それぞれについてから丁寧に説明してくれました。改めて理解が深まりました。 Django Ninjaは知らなかったです。めっちゃFastAPIな見た目でした。
色んな人と話せて楽しかった。
数年ぶりくらいに久しぶりの方、去年のPyConJPぶりの方、静岡の馴染みのある方と話せて楽しかったです! 会社と個人開発だけだとなかなか得られない見解を得ることができました。
自分の考えを話すのは苦手だったのですが、少なくとも今回話した人たちの中には批判や疑問をEvilな動機で投げるような人はいなかったので、批判や疑問も楽しく受け止められました。 よく考えたら自分も単純な興味や問題解決のために質問や批判することはあるので、他のみなさんもそういう心境かもしれません。
次は広島だそうです。来年は前日から休みとって参加できたらいいなと思います。