12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PyCon JP 2022参加レポート(2日目)

Posted at

1日目のレポート

PyCon JP 2022 2日目の参加レポートです。

IMG_0114.jpeg

キーノート

https://2022.pycon.jp/timetable?id=HFEB37
2日目のキーノートのスピーカーは西内 啓さん。

keynote.jpeg

自身の統計学の知識を活かしたサービスの開発にPythonを採用した経緯のお話でした。
Pythonを初めて使った時(2010年)

  • コードが読みやすい、書きやすい
  • 便利そうなライブラリが多い

といった感想を持たれたそうです。

普段の業務でもPythonを使っていて、

  • サービスやアプリのプロトタイピング
  • データ分析
  • 作業の自動化

といったことに活用されているそうです。

「データサイエンスを全ての人に」をミッションに、データ加工のようなデータ分析で一番手間がかかる作業を自動化し、データサイエンティストがもっと本質的な仕事に集中できるようにしているとのことでした。

Pythonは全てをPythonに染めなくても使える言語で、ある部分はPythonで他は別の言語で開発するという使い方もできるのが良いところ、とも話されていました。

お前はまだ本当のDjango ASGIを知らない。

https://2022.pycon.jp/timetable?id=ZX3NRW
スピーカーはdenzowさん。
Django 3.0からサポートするようになったASGIについてのお話でした。
Django内部でASGIをどう扱っているかを詳しく解説されていました。
Django Channelsという、WebSocketなどの非同期通信プロトコルをサポートするDjango拡張とDjango本体のASGIサポートとの関係についての話もありました。
Django 3.0未満の時代はDjango ChannelsがASGIによる通信を行う役割を担っていたが、Django 3.0からはASGIサポートはDjango本体に任せるように変わったとのことです。
また、Django ORGは非同期用のインターフェースを用意しているものの、内部での通信は最新の4.1の時点では非同期化されていないため、非同期アプリケーションではボトルネックになる可能性があるとのことです。

Python Social Authで学ぶ、OAuth2.0認可コードフローにおける異常系への対処

https://2022.pycon.jp/timetable?id=CRFBMR
スピーカーはYuuki Takahashiさん。

Python Social Authを自社サービスに導入してみたものの、導入当初は謎のエラーに悩まされていたとのこと。
まずはOAuthの仕組みそのものを理解し、処理シーケンスの中からエラーの原因になりやすい構造を見つけてることから始めたそうです。
また、Python Social Authには多くの例外クラスがありますが、それらを分類化し、RFCの定義と見比べて何と対応しているのかを調査したとのことです。
RFC上ではOAuthはカスタム例外を定義してもよいことになっていて、Python Social AuthにもRFCに存在しないエラー用の例外クラスがいくつかあるそうです。

ソーシャルログインは便利な機能ではあるものの、OAuthの仕様は複雑。正常系の処理はPython Social Authのようなライブラリに任せて、人間は異常系処理に注力するのがよい、と話されていました。

データに関する堅牢性と可読性を向上させるpydanticとpanderaの活用方法の提案

https://2022.pycon.jp/timetable?id=7UKP7H
スピーカーは桂川大輝さん。
pydanticpanderaを利用してデータ解析で起こる問題に対応するお話でした。

Pythonは動的型付け言語なので、ドメイン的にありえないデータでも(intが入るはずなのにstrが入るなど)エラーにならない。
pydanticで型ヒントが付いた構造を定義することでデータの仕様が理解しやすくなり、ありえないデータを検出できる。
また、データフレームのスキーマの定義によりデータのバリデーションを行えるpanderaというライブラリがある。
両者の使い方は非常によく似ていて、併用することも可能とのことです。

Python使いのためのスポーツデータ解析のきほん - PySparkとメジャーリーグデータを添えて

https://2022.pycon.jp/timetable?id=K3GJVU
スピーカーはShinichi Nakagawaさん。
PythonとSpark(PySpark)とGoogle Cloudでメジャーリーグに関するオープンデータを扱うお話でした。

メジャーリーグはStatcastというシステムでいろんなデータを記録していて、一般にも公開されている。
PythonとGoogle CloudでStatcastのデータをビジュアルで確認できるサーバーレスなプラットフォームを作った。
PySparkはPython使いに馴染みのあるインターフェースでSparkを扱える。
Google CloudにはDaraprocというSpark(Hadoop)のマネージドサービスが存在する。
といった話をされていました。

トーク終盤は技術から離れて最近Nakagawaさんが注目する野球選手の話に。
前述のプラットフォーム上のデータを紹介しつつ、この選手がいかにすごいかを熱く語っておられました。オオタニサン強い…!

クロージング

最後はクロージングです。
スポンサーからのLTがありました。
IMG_0127.jpeg

恒例の記念撮影。

今回の参加者は532名とのことです。
IMG_0128.jpeg

会場はWiFiが用意されていましたが、2日間の総トラフィックは571GBとのことでした。大規模なカンファレンスになると、安定したネットワークを提供するのは大変ですよね。ネットワーク担当のスタッフの皆さん、お疲れ様でした。
IMG_0129.jpeg

PyCon JP Associationからのお知らせとして、Python Software Foundation(PSF)のベーシックメンバーとしてぜひ登録してほしいとのことです。誰にでもできるPythonへのコントリビュートとして、なるべく多くの人に登録してもらいたいですね(と言うか私も登録していないので後でやります)。

来年の座長は、今年に引き続きLina Katayoseさんに決まりました。来年も楽しいカンファレンスを期待しています!
IMG_0130.jpeg

パーティ

イベント終了後にパーティが開催されました。
コロナ対策として、抗原検査を受けて結果が陰性の人のみ参加できるようになっていました。
IMG_0118.jpeg
IMG_0119.jpeg

会場はかなりスペースを空けるようにしていて、このご時世に合わせて配慮されているように感じました。
IMG_0131.jpeg
IMG_0132.jpeg

パーティ中にはLTも開催されていました。
IMG_0141.jpeg

別のコミュニティで関わった人との思わぬ出会いがあったり、何年も会っていない人との再会があったり、オフラインイベントには格別の楽しさがありますね。

その他

2日目のランチ。
IMG_0116.jpeg

おやつ(抹茶煎餅)。
IMG_0123.jpeg

2日目もスポンサーブースに行ってきました。
IMG_0122.jpeg

4箇所以上のスポンサーブースに訪問すると特別バージョンのPyCon JP Tシャツが貰える企画をやっていて、応募しておきました。後日郵送で送られるそうです。
IMG_0125.jpeg

PyCon JP Associationに500円寄付すると貰えるシールです。
IMG_0126.jpeg

私も執筆に参加させてもらった『Python実践レシピ』(2022年1月出版)の共著者全員で集まって記念撮影してもらいました。
執筆時のコミュニケーションはオンラインで行ったので、オフラインで全員が会うのは実はこの日が初めてでした。

明日は「スプリント」の様子をお届けします!

12
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?