RevComm の小門です。
2022年10月14日(金)~15日(土) に開催された PyCon JP 2022 に参加しました。
弊社からは陶山 嶺、川添 貴之の2名が登壇、松土 慎太郎がコアスタッフとして参加しました。
今回はカンファレンスの振り返りとして登壇者らのコメントと、トークの感想をお送りします。
登壇振り返り
詳解 print(“Hello, world”)
誰もが知る print() 関数の処理を例に、C言語/OS レイヤーの仕組みを深堀していきます。
そして Python を含め「プログラミング言語がどのようにして動くか」という仕組みを知れるきっかけになるかと思います。
- 登壇者: Rei Suyama (rhoboro)
- アーカイブURL: - YouTube
- 資料: docs.google.com
登壇の感想
バックエンドエンジニアの陶山です。普段は PBX という音声通話に関わる機能の設計、開発を行っています。
コロナ禍になってからはPyCon JPに限らずオンライン登壇ばかりでしたので、オフラインでの登壇は久しぶりでした。
オフラインだと参加者が目の前にいるため、反応を掴みやすい点はやはり良かったですね。
私の登壇は1日目の比較的早い時間帯だったため、その後の休憩時間などに「陶山さんのトーク聞いていました」と声をかけてくださった方々がいてとても嬉しかったです。
他の方々のトークでは、内容も当然のことながらスピーカーの方々の話し方や立ち振る舞いから学べることも多かったので、それらも今後の自分の発表に生活かしていきたいと思いました。
Fast API と学ぶ WebRTC
リアルタイム通信の仕組みとして昨今主流になりつつある WebRTC について概要から導入し、デモを通して簡単に動きを追いかけていく内容です。
- 登壇者: Takayuki Kawazoe (@zoetaka38)
- アーカイブURL: - YouTube
- 資料: docs.google.com
登壇の感想
ソフトウェアエンジニアの川添です。普段は社内業務を円滑化することで事業に寄与するためのチームでマネージャーをしています。
このような登壇は経験がなかったので、資料作りから発表の仕方まで試行錯誤の連続でした。
よく言われることですが、発表というアウトプットをするために細かいところまで調べてインプットできたので、発表に対してだけでなく技術面・知識面の向上もできて非常に良い経験でした!
この記事をご覧頂いた皆様も、是非発表や登壇の機会があれば社内外を問わずチャレンジしてみて頂けるといいかと思います。
当日スタッフ
バックエンドチームの松土がコアスタッフとして参加しました。
現地開催が3年ぶりということで混乱やトラブルが多かったかと思います。
裏方としてスタッフの皆さんがいたからこそイベントが成り立ちました。この場でも感謝申し上げます。
Python 3.11 is coming!
今回のイベントでは初日の基調講演をはじめ、Python 3.11 の性能改善 (高速化) や新機能に関わるトークが複数ありました。
Day2 16:00〜「What's new in Python 3.11 and beyond」より内容をピックアップします。
性能改善
- 例外処理のオーバーヘッドが10~15%から1%程度まで削減
- 正規表現の処理が10%程度高速化
- 関数呼び出しが10~20%高速化
- “float-heavy” つまり浮動小数の演算が行われていれば、50~60%程度高速化
- ※ただし「Numpy をはじめとするライブラリは使用せず、標準機能の場合」と言及あり
上記のように一言で「性能改善」と言っても、実際は様々なケースで地道な改善が行われていることが分かります。
トータルとしては「多くの場合で 20~30% 程度の性能改善が期待できる」とのことです。
機能追加
- Exception Groups (例外グループ)
raise ExceptionGroup
による「例外グループの送出」except*
による「例外グループの捕捉」
- Asyncio Task Groups (非同期タスクグループ)
asyncio.gather()
の代替機能- 例外グループ機能によってエラーハンドリングする
- 型関連
typing.Self
- 自身のクラスを表現するためのエイリアス
- クラス継承やファクトリーに最適
- Variadic Generics (可変長ジェネリクス)
- tomlib (PEP 680)
- TOML パーサーの標準サポート
機能追加の全容、詳細は公式ドキュメント What’s New In Python 3.11 で確認できます。
新機能の追加とアップデート、特に asyncio と typing 周りは昨今着々とアップデートされてきており、今後は積極的に Python 3.11 に移行していきたいところです。
そして Python 3.11 に移行するだけで性能改善が期待できるのはとても嬉しいですね。
そんな Python 3.11 は 10/24(月) にリリース予定です! PEP 664 – Python 3.11 Release Schedule
まとめ
PyCon JP 2022 は3年ぶりにオフライン開催で行われ、私は今回が初めての現地参加でした。
参加した一番の感想は「とにかく楽しかった!」ということです。
多くのエンジニアが同じ場所に集まって技術を共有し合えることはもちろん、参加者や登壇者の熱量を現地で感じることができました。2日間ずっとワクワクしていました。
また RevComm は全社員がフルリモートで働いています。
今回登壇した陶山と川添は遠方からの現地参加だったため、今回初めて対面しました。
普段は直接会わないメンバーとイベントをきっかけに顔を合わせてたくさん話をすることができました。
イベントを支えてくださった登壇者、スタッフの皆さん、協賛企業様に改めて感謝申し上げます。
来年もぜひ参加したいです!
最後に
RevComm では Python でのアプリケーション開発に熱意のあるエンジニアを募集しています。
RevComm では自社プロダクト「MiiTel(ミーテル)」の開発において Web アプリケーション、機械学習/深層学習などの領域で Python を広く使用しています。高い安定性とスピードを両立して開発を進めるため、試行錯誤を続けるチャレンジングな環境です。
ぜひご応募をお待ちしています。