Lean Baseball

No Engineering, No Baseball.

「自分事(じぶんごと)に徹した」自分の発表 - #PyConJP2024 の感想とポエム.

楽しく話させてもらいましたありがとうございます.

自分事(じぶんごと) - 自分に関係のあること。我が事。

近年、「他人事 (たにんごと) 」に対してできた語か。

goo辞書解説より引用.

今から「自分事」の話を書きます.

2022年以来, 2年ぶり8度目のPyCon JP(PyCon JP 2024)で「実践Dash」というお話をさせてもらいました.

実践Dash - 手を抜きながら本気で作るデータApplicationの基本と応用 / Dash for Python and Baseball - Speaker Deck

貴重なお時間を私の発表に費やして(会場で選んで聴いて)頂いた皆様, 資料を読んでくださった皆様に改めて感謝と御礼を申し上げます.

このエントリーでは,

以上の話をポエムとして書きたいと思います.

なお, 「実践Dash」の技術的な内容は後日(可能な限り速やかに, 10月中には*1)独立した技術ブログ記事としてサンプルコード(先に公開)を含めた詳解版を公開できればと思っております.

自分の発表「実践Dash」

PyCon JP 2023は(計画的*2に)登壇を避けて, CfPすら出していなかったのですが, 「今年(2024)はやりたいなあ」という思いがあり, 2本ほどCfPを出しました.

出したのはこの2本です.

  • 【不採択】Python使いの為のDevOps事始め2024 - データ基盤プロダクトのCI/CDに苦戦した話.
  • 【採択】実践Dash - 手を抜きながら本気で作るデータ可視化Webアプリの基本と応用

私自身のモチベーション的にはDevOpsの方が本命のトーク(この辺のブログが下敷きになったガチトーク, これはどこかで再チャレンジしたい*3.)で, Dashはおまけ程度に書いたのでDevOpsの方が通るだろう, と思いきやまさかのDashの方が通ってちょっと驚いてしまいました.

Dashの方がPython要素強めで, 初心者も楽しめるからだろうってあたりが通った理由かなと?と思ってますがそれはさておいて.

shinyorke.hatenablog.com

shinyorke.hatenablog.com

過去作のブログとDashの公式Documentを下敷きに,

  • 初心者向けの話
  • 業務になったら使う(避けられてない)話. つまり中上級者向けの話.
  • 実際のアプリ(と野球ネタ)の話

の3部構成でお話をしました.

感想ですが, 書き手・話し手としては意図は十分伝わったので満足しています.

togetter.com

質疑応答は2つあって, 2つとも認証認可の話でした.

認証認可のはなし(の概要)

今回のPyCon, 自分が時間無くて他のトークを殆ど回っていないのですが, 妙に認証認可の話題が多かったような気がしました.

もっとも私のトークでは,

  • OSS版で自分で組むならBasic Auth一択.
  • LDAPとかSAML使って認証認可をやるなら金を払ってEnterpriseを使いましょう.
  • 自分で組むこと(≒Flaskをいじる的なHack)はできそうだけどオススメはしない.

と一貫したトークだったのですが, 「どうやったらDashでHackできるか」「FlaskベースならFlaskのモジュール使えばよいのでは」という質問内容でした, 2つとも.

答えとしては,

  • 認証基盤(例えばAPI Gatewayなど*4*5)的な物を別に作ってそのトークン使うとかですかね?
  • Dashの内部でHackするのは複雑だし, 想定されるリスク(特にセキュリティ)を考えるとおすすめしないよ(大切なので二度言う).

みたいな話で纏めましたが, ここまで来るとDashのアプリ単体の話というより, 全体的なシステムデザインやアーキテクチャの設計・選定の話になるので本当に難しいなあと思いました.

「自分事(じぶんごと)」として発表に挑む.

これはPyCon JPに限らず他のイベントでも何年も前*6から徹底している事なのですが.

今年の発表を行うにあたり,

発表に来てもらった皆さんに楽しんでもらえる(≒ガッカリしない)よう, 自分の発表はしっかり準備してやるぞ!!!

というのを例年以上に気を使い, しっかり準備した上で挑みました.

理由は明確で, 「shinyorkeのトーク聴いたけどつまらんかった」と思われると悔しい*7ので, 事前にできる準備と努力は絶対にやりたいからです(意訳・負けず嫌いだから).

なので,

ワイ「私にとってのPyCon JP 2024は私の発表に全精力を費やすぞ」

ぐらいには徹底しました, 初日不在だったのはそのためです, ごめんなさい*8.

具体的にどうしたかというと,

  • 体調とメンタルのコンディションを調整するため, 2日前から禁酒.
  • 発表練習(リハーサル)とイメトレの徹底.
  • スライドとデモ(後者は結局出番なし)の作り込みと調整.

そんな感じです, ちなみにこれは例年のPyCon JPやたまに出ることがあるデブサミなどでやっています.

PyCon JPだと決して安くはない参加費*9, 複数トラック存在するトーク(+スポンサーブースなどの魅力的なコンテンツ)などの条件を経てわざわざ来てもらう訳*10なので, ここまで考えると本気になりますよねと(あくまで私個人のスタンスです&他のスピーカーに同じ考えを押し付けるつもりはゼロです).

今年に関しては, (昨年のPyCon APAC 2023のトーク採択に関わる)あれやこれや という場外乱闘*11もあり, 余計に手を抜けない*12なと思ったので, いつも以上に厳格にやった気がします.

先ほど紹介した質疑応答にXでの反応, 会場の雰囲気を考えると結果はちゃんと出たような気がします(あくまで自分の感想ですが).

本音言うとトークのコンテンツはもっと充実化できそうな感じもした(という反省点)もありますが...やることはやってやったぜ!と思っているので後悔はありません.

次はもっといい話ができるように頑張ります💪

PyCon JP 2024の感想

前述の通り, 今年のPyCon JPは二日目, それも滞在したのが正味4時間も無いぐらいだったので,

  • お昼を食べて
  • 発表の準備をして
  • 発表の前の時間に友達やら知り合いと話をしたり
  • 発表して
  • おやつタイムにまた友達やら知り合いと話をしたり

という時間の使い方で終わりました(&ちょいとした野暮用でキーノート前に早退しました).

「そういえば中川と会わなかった(話さなかった)」なんて思ってる方はおそらくいると思います...その方々には申し訳なく思います🙏

2日目だけの感想ですが, 全般的に良いコンテンツ,良い雰囲気だった良いPyCon JPだったと思います.

唯一聴いたトークが石原さんの話でしたが期待値以上でした.

こういう感想と興奮が出てくるのは技術カンファレンスならではで最高ですね.

さて来年は(PyCon JP 2025)

個人的には待ちに待った地方開催, それも広島.

勿論来年も参加すると共に, 採択されるようなレベルのトークが出せるよう, 1年頑張ろうって思ってます.

仮にトークできるってなった時は...クオリティを上げつつ(保ちつつ), せめて広島で3日間ちゃんと楽しめるような大人の余裕は持ちたいと思っています.

最後までお読み頂きありがとうございました.

*1:実は発表に使ったコードの断片はこちらでそっと公開しています&この件はちゃんとブログにします.

*2:この当時は書籍執筆プロジェクト(後に頓挫), プライベートでは本格的な住宅購入検討(2024年5月に購入)というイベントがあり, PyCon JPで話すどころの騒ぎじゃありませんでした.

*3:少なくともPyCon JPでは無さそうですが, どこが最適でしょうねぇ笑

*4:アプリの外側, API GatewayやLoad Balancerに近い層でAuth0とかKong, Apigeeを使う感じかなと(いずれもエンプラ的な解決方法)

*5:その場ではいいませんでしたが, Firebase Authenticationなど, 外部サービスを使う手もあります. これもちょっと難易度高い方法にはなりますが(Firebase Authのトークンを使って認証認可するAPI GWなどが必要になるため)

*6:なんとなく覚えている範囲だと2018年, 野球の会社のCTOになったあたりから, 発表前の準備などを徹底するように.

*7:勿論, 外的要因や不可抗力的な理由でつまらん的な事にもなるんですが, だとしても自分事でありたいんですよね.

*8:当初は初日から参加(そのため休みも取った)のつもりでしたが, 発表の準備やらコンディション調整やらで時間を使いたかったのと, PyCon JP 2024開幕前のあれこれが気になって行くのを断念しました.

*9:ちなみにデブサミだと参加費は発生しないのですが, PyCon JP以上にトラック数が多い(事がある)ので, 選んでくれた人への感謝と敬意を忘れないようにしています.

*10:他のスピーカーに押し付ける気は無いのですが, 客観的な事実として「みんな参加費を払っている」「いくつかのトーク・コンテンツの中から選んできてもらっている」事実は認知したほうがいいのかなと思っています. 「ポートフォリオの充実化のためトークをする」「アウトプットしまくって有名になる」など, 自分のモチベ(エゴ)を持つのは自由ですが, 発表を聴いたり他のアウトプットを見て反応してくれる方が居てこそである!という事実(と仕組み)は決して忘れてはいけません.

*11:コメントする立場にないのでどっちでもいいんですけど, ちゃんと会話して解決してほしいなと切に願う.

*12:妙な飛び火したら嫌だなって気持ちが割とありました.