はじめに
「生まれたトキメキ!」(10/14まであと27日)、nikkieです。
先日PyCon APAC 2022参加にあたり、Twitterスペースで面白そうなトーク語りをしました1。
次なるカンファレンスは10/14(金)・10/15(土)のPyCon JP 2022ですね!
そこで、PyCon JP 2022についても、スペースで「このトークはここが面白そうで楽しみ」と語っていきたいと思います。
今回はDay1 13:00〜の5つのトークについて語ったスペースをブログ記事にまとめます。
👇こちらから聴けますよ〜👇
#にっきーは語りたい #pyconjp 2022 1日目 10/14(金) 13:00〜の5本を語りました。
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年9月16日
いやちょっとこれPyCon JPさん、やばいじゃないですか。日本語3本+英語2本からマジで1本選べないんですけどおお!
素晴らしいトークをこんなに集めてくれちゃって、マジでありがとおおお!💚https://t.co/co3SmlyyMV
目次
- はじめに
- 目次
- 有明開催!PyCon JP 2022
- おことわり
- Sphinxを通して考える、「拡張」の仕方 (🇯🇵 pyconjp_1)
- 詳解 print("Hello, world") (🇯🇵 pyconjp_4)
- 業務改善の面白さ ~毎日更新されるビジュアルコンテンツの差分をわかりやすくするためのプロトタイプを作るまで~ (🇯🇵 pyconjp_5)
- Working with Rust and Python using PyO3 (🌐 pyconjp_3)
- Introducing new game development stack using XState, PyScript and Atri (🌐 pyconjp_2)
- トークを聞く以外の選択肢もあります!
- 終わりに
有明開催!PyCon JP 2022
チケット発売中です!(オンライン枠は現在売り切れ中)
タイムテーブルはこちら2
https://pretalx.com/pyconjp2022/schedule/
Day 1 13:00〜のトークは日本語🇯🇵3本、英語🌐2本です。
おことわり
- nikkieはPyCon JP 2021座長の後、2022のスタッフ活動はしていません3
- なので、スペースやブログでのPyCon JP 2022に関するアウトプットは非公式です
- 盛り上げの一助になったらいいな〜とやっています(タイムテーブルを見ると一人で盛り上がっちゃうというのもあります)
- タイムテーブルでトークの詳細を見て「妄想」した内容です
- nikkieのアウトプットの通りのトークになる保証は全くありませんので、割り引いて聞いて/読んでください
- Pythonが絡むといろいろなことに興味を持てちゃうのですが、その分野を分かっている方からは「そのトークはここも見どころなんですよ」というツッコミもあると思います
Sphinxを通して考える、「拡張」の仕方 (🇯🇵 pyconjp_1)
sphinx-revealjsで大変お世話になっている4attakeiさんによるトーク。
Sphinxはスルメな(使い込むほどに味がある)ライブラリだと思っています。
過去に技術同人誌をSphinxで作った経験があります5が、私も本にする上で"出来ることなら〇〇したい"がありました。
検索した結果「Sphinx拡張」でできるらしいとわかり、公式ドキュメントやメンテナのtk0miyaさんのアウトプットから情報をたどり、なんとか拡張を実現したという経験があります。
情報が全然なくて、breakpointでデバッグしてなんとかやりたいことができました🙌
一度拡張が作れるようになるとSphinxの自由度がめちゃくちゃ上がります!6
だいたいなんでも作れると思えています7。
私は情報が少なくて苦労したのですが、PyCon JPの場でsphinx-revealjsなど拡張経験豊富なattakeiさんの発表が聞ける・記録に残るのはきっと価値があると勝手ながら期待しています(私と同じ苦労をしてほしくないんです!)
詳解 print("Hello, world") (🇯🇵 pyconjp_4)
『Python実践入門』で大変お世話になっているhoboroさんによるトーク。
この本はPythonを使いこなす入り口までの案内として「私の中ではぶっちぎりの一位」です。
hoboroさんが取り上げるのは print("Hello, world")
!
皆はじめはこのコードからだと思いますが、このトークは print("Hello, world")
の裏側を深堀りするようです。
パーサ、AST(ast
モジュール)、バイトコード(dis
モジュール)といったPythonの裏側、さらにCやOSといった低レイヤーまで!
誰しも最初は通る道、hoboroさんのガイドで改めて通ると入門時には見えていなかったことが見えて全く別世界が見えるんじゃないかとときめいちゃってます(はじまりの街にある隠しダンジョン感!)
業務改善の面白さ ~毎日更新されるビジュアルコンテンツの差分をわかりやすくするためのプロトタイプを作るまで~ (🇯🇵 pyconjp_5)
日本経済新聞社からまりーなさんの発表。
毎日更新されるビジュアルコンテンツとは「チャートで見る日本の接種状況 コロナワクチン」
reg-suit8という既存のライブラリを検討した末に、自作することにされたそうです。
OpenCVで画像の差分と聞いて、サイゼリヤの間違い探しを(大人げなく)解いた事例を思い出しました。
作ったプロトタイプが記者の方から感謝されているというのは、エンジニアリングで課題解決の好例だと思います。
また非常にエモいメッセージも投げかけていただけそうです(トーク詳細の「伝えたいこと」をぜひどうぞ!)
Working with Rust and Python using PyO3 (🌐 pyconjp_3)
ここからは英語トークです。
PythonとRustを一緒に使う話9。
「using Rust as a performance enhancing language」(訳すと、性能強化言語)ということで、Pythonだと処理時間が気になる部分をRustを使って高速に処理するという知見が共有されるのかなと想像しています。
PyO3やmaturinというライブラリはPythonとRustを一緒に使うのを可能にするようですね。
このトーク自体はRustに入門済みというのが想定されていそうです(トークの詳細に「HashMaps」「Structs」「panics」という語が詳細な説明なく出てくるため)。
ですが、「PythonもRustも使えるとこんなに便利なのか!このトークを機にRustはじめちゃおっかな」というスタンスで聞きに行くのもありかもしれませんね!
Introducing new game development stack using XState, PyScript and Atri (🌐 pyconjp_2)
Pythonを使ったゲーム開発の話。
タイトルにあるAtri10の開発元の共同創業者兼CTOの方が話されるそうです!
ゲーム開発はNumPy arrayを使うんですね!
しかもそれをWeb GLに変換できるという!
私は経験がまったくない世界なので、ゲーム開発に触れられるだけでもワクワクします。
ゲームは状態(state)の管理が肝というのは(『冴えない彼女の育てかた』『ぼくたちのリメイク』を思い出して)なんとなく納得できるところです。
紹介される予定の「statecharts」「XState」で検索すると、状態遷移をJSONで表す例11も見つかりました。
「Pythonはサーバサイドなのかな?」と思いきや、PyScriptでブラウザ(クライアントサイド)でも動かせるんでしょうか!?
今年5月のUS PyConで発表されたPyScriptを使うことで「そんなことまでできるのか!」と、刺激に溢れたトークになりそうです。
トークを聞く以外の選択肢もあります!
5本のトーク、どれも面白そうでヒトツダケナンテエラベナイヨーなんですが、トークを聞かずに交流に振るという参加スタイルもあります。
気になるものは後日YouTubeで配信される動画で見ることにして、当日はブースを回ったり、周囲の人の話を聞いたりしています。
connpassの有明参加枠は現時点で615!
これだけのPython使いが一堂に会するのはPyCon JP 2019以来12。
オンサイトではお久しぶりの方もいるでしょうし(オンラインでつながっていてオンサイトではじめましてもあるかも!!)、知り合い増やすという意味でも交流に振るは全然あると思います。
初参加という方で、知り合いいないという方はとりあえずnikkieと「ういっすー✌️」や「ヒトツダケナンテエラベナイヨー」しましょう!(こういうこと話せる人知りませんかとか聞いてもらって大丈夫です)
終わりに
Day 1 13:00〜のトーク5本からどのトークを聞くか、ヒトツダケナンテエラベマセンでした!!
- Sphinx拡張(情報少なく苦労した話題がPyCon JPで!!)
- 『Python実践入門』著者と
print("Hello, world")
の裏側へ - サイトのスクリーンショットを撮り、差分を検出するツールを自作した事例
- 性能強化の観点でRustをPythonと一緒に使う
- ゲーム開発(NumPy arrayやPyScriptなどなど)
PyCon JP 2022のスタッフの方々、罪深すぎますよ。
こんなに素晴らしいトークを集めてくれちゃってどうしてくれるんですか!
もうありがとうしかないですよ! 徹夜で命削ってアーカイブで全部見ますよ!!
トークのスロットは全部で9つあり、まだまだ語り足りません。
そして次のPyCon JP 2022を語りたい(そしてヒトツダケナンテエラベナイヨー)が始まるのです。
-
スペースレポート | #pyconapac2022 の面白そうなトーク語り part 1 #PyConAPAC #にっきーは語りたい - nikkie-ftnextの日記↩
-
https://2022.pycon.jp/timetable から案内される「別サイトのタイムテーブル」です。お気に入り⭐️もできるみたいで助かりますね!↩
-
当日スタッフで1日くらいお手伝いできるかもと思っています↩
-
ヘビーユーザーです!sphinx-revealjsで作ったスライド(HTML)をGitHub Pagesで公開しています ↩
-
イベントレポート | #技書博 2で初めて一人で執筆して頒布し、いただいたフィードバックから技術同人誌の楽しさを知りました - nikkie-ftnextの日記↩
-
suitなので、読みは「レグ スート」でしょうか。スペースでスイートと読んでいたのは誤りですね↩
-
過去のPyCon JPでもありました。https://pycon.jp/2020/timetable/?id=203945 (日本語トーク)↩
-
各所で「3年ぶりの現地開催」と書かれているようですが、PyCon JP 2021座長としてお気持ち⚔️飛ばさせてください 「2021年も現地開催でしたよ?」(オンライン開催と現地開催のハイブリッド開催) 600人という大人数が一堂に会するのが3年ぶりと読み替えています↩