名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

みんなのPython勉強会#98 に参加しました

月一でこれは聞いておこうかみたいな習慣になってきたので、いい感じです。余裕ができたら発表もしたいですが…。

勉強会URL

みんなのPython勉強会#98 https://startpython.connpass.com/event/296755/ #stapy

ハッシュタグは #stapy でした。

https://twitter.com/hashtag/stapy?f=live

メモ

ちょっとぼんやり聞いていたので怪しめ

  • トーク1『EuroPython 2023体験記 - 非英語話者の海外登壇』
    • 探したら資料公開されていました
    • 過去レポートもあるらしい
    • そういえばエキスパート Python プログラミングの改訂版出てたのを思い出す、そのうち読まねば
    • EuroPython に実際に行った話、EuroPython は 2002 年から開催されている
    • 日本人ほとんどいない
      • ほとんど EU からの参加
      • 日本人は 1人だけだったかも? という話も
    • ワークショップ・チュートリアルの充実感がすごい
    • 初めて話すスピーカーのためのワークショップすらある
      • 会期の1か月前くらいにある
    • 英語力
      • かなり練習したとのこと
      • Speakってアプリで練習
      • 現地では翻訳アプリを使ってコミュニケーション
      • (自分は練習せずに APAC の当日を迎えそう…)
  • トーク2『Pythonのパッケージ管理の中級者の壁を越えよう』
    • 探したら資料公開されていました
    • package 管理に関連するものは肥大化し続けている
      • スライドの8ページ目
      • (パッケージと仮想環境くらいだろうなーと思ったけど、 linter とかドキュメント管理とかも含まれ売るんだなぁと思った)
    • パッケージ管理ツール(pipenv, poetry, などなど)はこれらの組み合わせに過ぎない
    • 依存関係の解決が難しい問題
      • (これは思っていた通りな部分があり、大きなグラフを解くよねとは思っていた)
      • BackTracking やその拡張のアルゴリズムが使われている
    • package の配布方法が2つある
      • (これは知らなかったが、なんとなくビルドしてそうしてなさそうはあったので感覚的には一致してる)
      • bdist(wheel) では build 済みのファイルが配布
        • 最近はこちらの方法が主流
        • CI/CD による自動ビルドが広まったことも関連している
      • sdist では install 時に build
        • 歴史的に特定アーキテクチャなどで動作させたいニーズがあり、そのために sdist で配布して build する形式にすると都合がよいシーンもあった
      • メタデータの取得方法なども異なり、hash 値の取得方法が異なる(=信頼方法、識別方法が異なる)
    • そのほかの依存解決方法
      • PubGrub, libmanba などなど…
    • それはそうとしてビルドについてもキャッシュ戦略などどうするかという課題もある

LT のメモは下記ですが、記憶ふわふわなのでどのトークの話だったかが混ざっている可能性があります。ご了承ください。

  • PyCon APAC 今月末にある
  • CommonLit コンペの話
    • Transformer というものがある
      • HuggingFace のライブラリで、公開されている学習済みモデルを使えばすぐ動く
    • 最近は Transformer を使うのはスタートラインレベルで、そこからどう最適化し性能向上につなげるかがデータサイエンティストには求められている
  • ディスクプリタの話
    • __get__ , __set__ などのこと
    • 公式のドキュメントにも How to ガイドがあるし、Effective Python にも記載があるらしい
  • リファクタリングの話
    • mypy を使うという提案
    • mypy --disallow-untyped-defs という形でオプションを指定すると、型がない場合にエラーとなる

感想

EuroPython の話を聞いていて、英語の学習… という気持ちになっているのと、いつかは海外の PyCon にも参加してみたいですねというお気持ちになりました。 TW ないし近場の国で APAC があればチャンスかもしれないですね。

パッケージ管理の話については、想像していたよりも広範な範囲を扱いつつ、パッケージ管理ツール自信を分解するといくつかのツールの組み合わせでしかないことがわかりました。 こう考えると新しいツールにすぐ飛びつくのは微妙な気持ちにもなりますね。

LT ではディスクリプタの話の理解度揚げないとなぁと思いました。最近 __iter__ があるようなプロパティ付きのクラスの unittest で mock いい感じに定義できないねぇってなっていたので、このあたりもディスクプリ他の理解が深まれば楽だったのかも? と思っています。Effective Python も読まねばですねぇ。

また mypy もどう導入するかが肝かなぁと思っています。色々見てくれるのはありがたいのですが、何を見るべきなのか? は考えどころなので。あとから導入するのは大変なので、まずどこからチェックすると楽なのか? を見極めたくなりました。

そんな感じです。 Python といえば APAC でも自分が登壇するのですが準備が全然でまずいですね、、がんばります。 ほかに Python 系で発表できそうなネタが unittest 周りでありそうなので、これもどこかで発表したいなぁとか考えています。