PyCon APAC 2023
PyCon APACは、Pythonユーザが集まり、PythonやPythonを使ったソフトウェアについて情報交換、交流をするためのカンファレンスです。
https://2023-apac.pycon.jp/
こんにちは、Wantedlyでデータサイエンティストをしている樋口です。2023/10/26-29にTOC有明で開催されたPyCon APAC 2023にて登壇しました。
「Pythonでのパッケージング:エコシステムの理解と現場での活用」というタイトルでお話しをさせていただきました。
本ブログでは、PyCon APAC 2023への参加を通じて得た学びや、CfPの提出までのプロセス、印象に残った他の方の発表、会場の雰囲気などを紹介します!
(ブログ中の写真は一般社団法人PyCon JP Associationから提供されています。https://www.pycon.jp/committee/license.html )
普段業務にて、Pythonを使ってWantedlyの推薦システムを実装しており、業務で得た知見を共有することで、自分でもPyCon APAC2023のテーマにそった登壇が出来そうと思えたからです。
初心者に対して Python をより深く知ってもらうきっかけになる
Python の他のプログラミング言語との違いを知ってほしい
Python が実際にどのような場面で使われているのか、一般の人にも広く伝えたい
また、普段お世話になっているPythonのコミュニティに貢献できると考えたためです。
私が発表したテーマは「Pythonでのパッケージング:エコシステムの理解と現場での活用」でした。
推薦システムの開発中にPythonのパッケージインストールでは過去何度も問題に直面したのが登壇のきっかけでした。特に、機械学習関連のライブラリは依存性が多く(C++やGPUなど他の言語やハードウェアに依存することが多い)複雑さが増します。
この問題は他の開発者も経験しているのではないかと思い、調査を行い、その結果をまとめました。発表では、Pythonでパッケージをインストールする際(pip install hoge...)に背後で動作するライブラリや規約などを詳しく紹介し、具体的な例やインストールをスムーズに行うためのTipsを提供しました。
このテーマについては、私が書いたブログもありますので、興味があればぜひご覧ください。
当日聴講していただいた方々にはこの場でお礼申し上げます🙇♂️
今回、このようなカンファレンスにCfPを提出するのは初めての経験でした。
私はリザーブリスト(登壇者が欠席した場合に発表できる補欠)からの登壇だったので、ギリギリでしたが、来年挑戦する方の参考になるように、どのようにCfPを準備したかを簡単に紹介します。
まず、私は前年の登壇者のタイムテーブルを確認しました。これを見ることで、過去のAcceptされた登壇者がどのような内容で登壇しているか、どれくらいの分量なのかを把握できます。
また、運営の方がレビュー観点を公開してくださっているので、これに沿うように意識をしました。
1. Python 初心者にとって自らの知見を広げる内容か
2. Python が社会で活用されている具体的なイメージを描けるか
3. 内容に独自性・新規性はあるか
4. トークの発表が明確にイメージできるほど構成は詳細に書かれているか
5. コミュニティの国際交流に寄与するか
6. Python を使う「楽しさ・熱意」をアピールできるか
7. 聴衆が具体的に持ち帰ることができる知識や技術の利用方法・工夫があるか
さらに、過去に何度も登壇されている方が書かれたブログ記事も参考にしました。この記事では、どのような登壇が求められているかが記載されていました。
このようにかなり情報が公開されているので、実は書き方にはあまり迷わず書き進めることが出来ました。書く前まではここまで公開されていることを知らなかったので、とりあえず 書くぞと決意する + 情報収集をすることが大事かもしれないです。
初心者向けの発表を意識して、特に、過去の自分が読んだら喜ぶだろうと思う内容にすることを心掛けました。
次に、他の方の登壇内容について紹介します。30分の発表はどれも聞き応えがあり、すぐに業務に生かせそうなものもいくつかありました。
Python3.11のリリースマネージャーが作ったメモリプロファイラMemrayの紹介でした。Pythonコードを実行したときにどこのどんな処理にメモリを使っているかを可視化してくれるツールです。
Jupyter NotebookやC++拡張を使ったモジュールにも対応しており、巨大なデータセットや機械学習まわりのライブラリを用いてメモリエラーになることも過去にあった自分としては、非常に興味深い内容でした!
Memrayについては下記のブログにも詳しく紹介されております。
アプリケーションになぜオブザーバビリティが必要か、OpenTelemetryを使ってPython製アプリケーションでオブザーバビリティを強化する方法など紹介されていました。
自分もオブザーバビリティについては、ざっくりとしか知識がなかったのですが、テレメトリーの種類や、計装の意義、ベンダー非依存なモニタリングが可能なOpenTelemetryの存在など全体感を知ることが出来て、とても勉強になりました。
自身が開発しているPythonアプリケーションにも徐々に導入していきたいと思います。
オライリーの"オブザーバビリティ・エンジニアリング"等の書籍を翻訳している 山口能迪さんから直接お話を聞けたのはとても貴重な機会でした。
FinTechの現場でサービス開発初期からFastAPIをプロダクションで使っているという方のお話でした。
Pythonのような動的型付け言語でも、適切な運用と技術選定が出来れば、FinTechのような厳密な数値計算が必要な領域でも十分に活躍できるということが理解でき、勉強になりました。
FastAPIによって自動生成されたSwagger UIを使って、ビジネスメンバーが使うツールとしても活用できるなど、自分が想像してなかった用途を知ることができました。
会場にはスポンサーの方々のブースがありました。普段気になっていたが、使っていなかった、AnacondaやCircle CIなどの開発ツールに関するブースもあり、どういった導入メリットがあるかなど、直接中の人に聞けたので、とても楽しめました。
他にもポスターセッションや、書籍販売があり、自分が使っていない領域でのPythonの利用事例などが紹介されており、本当に間口のプログラミング言語だなと改めて感じました...!
多くのスポンサーや登壇者、運営の方々のおかげで、多くの知見をキャッチアップできる充実したイベントに参加させていただくことが出来ました。また、会社でも登壇を推奨してくださり、登壇の機会を与えてくださったことに感謝しています。この場を借りて感謝申し上げます!
また、登壇の内容や、Pythonを使って実装しているWantedlyの推薦システムについて知りたい方がいましたら是非気軽にカジュアル面談を申し込んでいただけたらと思います。
最後までお読みいただきありがとうございました!