1日目は、仕事などの兼ね合いであまりいられなかったので2日目がメインでした。簡単な振り返り記事です。
Speech
Unlocking Python's Core Magic
Pythonに生えているAPIの力を引き出すためのテクニックをミニマムなコードとOSS(Airflow)のコードで解説する興味深い内容でした。
Slideは掲載されていないですが、気になった方は下記の内容を調べると良いと思います!
- dunder method
- getattr and PEP 562
- decorators
- functool.partial
- Iterable Protocol
Rustを活用したPythonライブラリの開発
maturinを使うといいぞ、ただ、パフォーマンスはCythonほどではないぞという内容だった。僕含め、会場にRustceanが多かったのとパフォーマンス計測がCythonに有利に見えたので、ちょっと質問時間ヒヤヒヤしてた。
個人的にはRustで書いたときに、Pythonのstubファイルが生成されるかと、Pythonの実行時の型チェックを自動で書いてくれる仕組みがないか気になった。質問した感じ、前者はあるが、後者はなさそう。
The Wheelhouse of Horrors
Pythonのwheel fileの話。普段あまり聞かないトピックだったので面白かった。so fileが別のso fileを参照して辛いので、外部ライブラリの依存を最小限に、必要ならwheelの中にという話が、他のシステムでもありそうだよなと思った。
Why Knowing Cython Helps in Understanding Python: A Deep Dive into Cython & PVM
Cythonの話を聞いた。速いという話はよく聞くけど、理由は知らなかったので勉強になった。コンパイル(.c
-> .o
-> .so
)とGILの脱出を見てそりゃCythonの実行速度が速くなる訳だ、と納得した。
Keynote
stringオブジェクトにメソッドがない時代があったなど、歴史の話が面白かった。
インタープリタが循環参照で死ぬという話もありました。数日前にRustのgenerics周りのcompilerの話を聞いていた身からすると、まあそうなるよねというお気持ちに..
作るの大変そうなソフトウェアでバグが出るのは定めなのかもしれないですね。
Booth
Stockmarkさんのブースで公開されていたナレッジグラフのRAGのdemoが凄すぎて、ナレッジグラフの本をすぐに読もうと思いました。見た感じ画像からRDF(Resource Description Framework) っぽいグラフを生成していたけれど、ソースが画像でなくとも動きそうな気がした。
JetBrainsさんのトートバッグおしゃれすぎて、早速導入しました。ほとんどのIDE触っていて、お世話になっているので身につけられるの嬉しすぎる。