9/26~27で開催された PyCon JP 2025 に参加してきました。
業務でちゃんとpythonを使い始めてまだ半年ほどですが、得るものの多い2日間だったので参加したセッションについていくつか抜粋してまとめていきます。
参加セッション
Day1
Pythonで実現する堅牢なシステム設計 - イミュータブルがもたらす恩恵
フロントエンドエンジニアが Python エンジニアになって見えた世界!
Pythonスレッドとは結局何なのか? ~CPython実装から見るNoGIL時代の変化~
複雑化したリポジトリをなんとかした話、pipenvからuvによるモノレポ構成への移行
Beyond Multiprocessing: A Real-World ML Workload Speedup with Python 3.13+ Free-Threading
Pythonだけでつながるあなたのアイディア、フロントエンドもPythonで
ゼロから作る自作LLM:PyTorchで仕組みから学ぶ RAG 入門
【Day 1 Keynote】 Sebastián Ramírez 氏 Behind the scenes of FastAPI and friends for developers and builders
Day2
D&I(Diversity & Inclusion)パネルディスカッション (Panel Discussion)
標準ライブラリのlogging、レゴブロックのように組合せてロギングできることを理解しよう!
Goodbye GIL: Exploring the Free-threaded mode in Python 3.13 and Beyond
ビビってどうする:セキュアなPythonコードを目指して
Pythonによる契約プログラミング入門
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
フロントエンドエンジニアが Python エンジニアになって見えた世界!
https://speakerdeck.com/anfinii/hurontoentoensiniaka-python-enzinianinatutejian-etashi-jie
TypeScriptでのフロントエンド開発者が、Pythonでの開発を通して経験したカルチャーショックや発見について。
私自身、ほぼJavaScriptの経験しかない状態からPythonでのバックエンド開発に挑戦中という状況のため共感できる部分が多かったです。
特に
- null, undefindとNoneという「無」の概念の違いに対する戸惑い
- array.mapからlist内包表記へ移行した時の感動
といったあたりは非常に身に覚えのあるものでした。
一方で、Pythonの動的型付けに対してTypeScriptライクな開発体験を構築するためのアプローチや、両言語で同じロジックを実装した際の比較など新たな知見も多く得られました。
Pythonスレッドとは結局何なのか? ~CPython実装から見るNoGIL時代の変化~
https://speakerdeck.com/curekoshimizu/pythonsuretudotohajie-ju-he-nanoka-cpythonshi-zhuang-karajian-runogilshi-dai-nobian-hua
Pythonにおける並列処理について、その違いや歴史的経緯、Python 3.13でリリースされるNoGILオプションとは何なのか。
プロセスとスレッドの処理の進め方の違いから始まり、CPythonの実装がどうなっているのかといった踏み込んだ内容まで、
並列処理についてぼんやりとした理解しか持っていない私のような初学者にも分かりやすく説明してくださり、非常に勉強になりました。
またGILとは何なのか・無効化によってどう変わるのかといった部分も解説されており、この機会についてさらに調べてこれまであまり意識できていなかった、プログラムのパフォーマンスや安全性といった部分についても理解を深めていきたいなと思いました。
そのあたりのテーマでまた記事を書こうと思います。
【Day 1 Keynote】 Sebastián Ramírez 氏 Behind the scenes of FastAPI and friends for developers and builders
Pythonのフレームワーク FastAPIの開発者であるSebastián Ramírez 氏による講演。Fast APIの理念や開発時のマインドセットについて。
FastAPIの開発・運営の経験を通して得た「問題解決を軸としたシステム開発とプロジェクト運営の哲学」についてを示した内容で、私の携わる業務にも通ずるものが多くとても聞きごたえのあるものでした。
特に印象に残っているのは
- 焦点はイノベーションではなく問題解決にあるべきである
- 良い製品を構築するためにはユーザーの体験が最優先であり、メンテナーのためであってはならない
- シンプルであることは複雑であることよりも優れているが、シンプルさを達成するにはより多くの努力と時間が必要である
というお話でした。
どれも実務に直結する考え方で、しっかり自分の中に落とし込んで今後の開発に活かせるようにしていきたいです。
標準ライブラリのlogging、レゴブロックのように組合せてロギングできることを理解しよう!
https://ftnext.github.io/2025-slides/pyconjp/stdlib-logging-kata.html#/1
logging モジュールの構成要素や仕組みを理解し、組み合わせによって柔軟なロギングを実現する方法について。
普段なんとなく使っている logging モジュールについて、これまであまり意識していなかった仕組みや考え方を知ることができ、とても興味深かったです。
Logger/Handler/Formatter/Filter といった構成要素や、ロガーの階層構造・伝播といった基本的な概念を丁寧に解説してもらえたことで、今までコピペで何となく使っていたものの背景が少しずつ見えるようになりました。
特に、ルートロガーでの一括制御やハンドラーを使い分けることで、出力先やレベルを柔軟にカスタマイズできるという点は印象に残っています。
こちらも実務で直接活かせる知見を得ることができ、とても勉強になりました。
おわりに
このようなカンファレンスへの参加は初めてでしたが、技術的な知見を得られたのはもちろん、登壇者や参加者の熱量や雰囲気にも刺激を受け、とても充実した二日間でした。
今回得たものをしっかり今後の開発に活かしていきたいです。