名もなき未知

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

PyCon APAC 2023登壇の雑多ふりかえり

この一か月くらい準備が大変でしたが、何とか発表できましたので簡単にふりかえりや思いを書いておこうと思います。

資料

https://speakerdeck.com/yumechi/to-become-an-advanced-user-of-python-that-can-be-used-at-work

多くの方に読まれているようでありがたく思いますが、ちょっと恥ずかしくなってきました。

事前準備とコンセプト

CfPに対しての思い

CfPを出すにあたって、私は以下のような思いを持っていました。

  • Python で実際に業務で開発を行っていて、個人的にはその経験がそんなに悪いものではないこと
    • (諸々で風当たりが強いなと思っていることに対して、まあ多少でも実例を示せればよいかと思った)
  • ホビーっぽく扱われることが多い Python で実際に開発するためにやらなければいけないことは多いこと
  • そのようなことがあまりまとまっていないこと

これらのことから考えて、実際に必要そうなツールを網羅しながら紹介していく形で、解決できそうな解決方法を示せないか? と考えました。

発表の構成について

30分だったものを15分にしたため、実際コードをどう書けばいいのか? みたいな部分は全カットして、書くための環境を整えることに注力して説明しました。

必要なものを網羅することを目的に、様々なツールを調べ今使うのであればという視点で物事を考え、構成しました。 その結果が実際の資料です。

本編でも書きましたが、書き方についてあまり気を使いたくないので Linter, Formatter は絶対使ってほしいし、中身がどうであれインターフェースとしての動作に関しては品質の担保が必要なのでテストは書いほしいということはメッセージとして入れることにしました。

また Python の利点と欠点は割と表裏一体だと感じ続けていて、それをどう理解するのが良いのか、キャッチアップする速度を高めるのかは難しい課題だと思います。 言語特性を理解することは言語ごとに微妙な差異があり、時間をかけて理解していく部分であることは理解していますが、その速度を速めるための高速道路って何がどうあればいいんだろ?がいまだに自分の中でわからない部分ではあります。 その部分は発表として不完全に感じている部分がありますが、今後も引き続き考え続けるしかないかなと思っています。

この発表を通して、モダンな開発環境で必要そうなツールって何だろう?っていうのを考えていたのですが、CI/CDの自動実行を通して自動的に確認したいものってすごく肥大化していて、難しさを感じました。 コミットごとに実行、PRごとに実行、日時実行、週次実行など単位に関しても多くの選択肢もある中で、どういった時に何を動かすべきか? はまた自分自身でもまとめなおしたいトピックだと考えています。

あとこの場の説明で申し訳ないのですが、Bandit, Safetyに関しては今回実際に調べて知ったものであり、サンプル読むくらいしかできてないのが実際です。 発表中に時間がなく説明をスキップしてしまった気がします。 今後これらのツールに関して活用できそうだと感じているので、実際に組み込んだりできたときにまた情報発信できればと思います。 (実際こういうツールがないかを結構探してたので、発表の中で見つけられたのはよかったです)

ほかのツールに関しては知っているものをベースに挙げていったので使用感、概要については大きく外れていないと感じています。

ほか、思ったこととしてはロードテスト用のツールが Locust くらいしかなさそうで、 Python ユーザーにとってはやや大変な環境であるように思います。 慣れるしかないのかな? とは思っていますが、いろいろカスタマイズが難しい個所については他言語の他ツールを検討するしかないかと思います( k6 とかかな…)

ツールの調査については Bard を中心に、GitHub Copilot や vinta/awesome-python: A curated list of awesome Python frameworks, libraries, software and resources またいろいろ調査した感じです。 拾えてなかったツールもあるとは思うので、これからも調べて知識をアップデートすることは続けていきたいと思います。 特に microsoft/pyright: Static Type Checker for Python は注目度が高いものの、完全に見落としており午前のセッションの感想で流れてきて初めて知りました(インプット不足)。まだまだですね…。

話せなかったことに関して

準備期間が足らず、きれいに話しきれなかった部分があると思っており、多少リワークするように編集を加え、細切れにして勉強会に持っていきたいですね。

だんだんと出した時点から環境の変化(特にこの半年はAIによる大塔が大きかったと思いますし、今回の発表でも大いに役立ちました)、ツールの変化が激しいことを感じており、半年という期間で自分が何を話したかったのか? という主軸もややぶれた部分があると考えています。

11月は技術書典などがあり、まだまだ落ち着くことが難しい状況ですが、12月以降また考えられればと思います。

ほか

当日スタッフとしても参加していたので、あまり発表が追えていません。 面白そうな発表はいくつかあったので、後で資料や動画を追います。

自分の知識の最新化が中途半端で、もっといい方法ややり方を追えてなさすぎる気持ちでいっぱいです。 今後に向けての知識のアップデートの第一歩として、今回のカンファレンスを後からしっかりと学びなおせるよう頑張ります。

まとめ

散文的になりましたが、今回の発表に関しては以上です。 実際このツールってどうなの? みたいなものは答えが難しく、常に流行って腐っていくものだと思っている部分ではありますが、2023年現在で必要そうなものについてはある程度形にできたと思います。

実際まだまだこれを使ったほうがいい、あれを使ったほうがいいというのはあるかと思いますが、それはまた見つけ次第試して実用性を検討し続けたいと思います。

そのためにアンテナは高く張っておきたいですし、学び続けるしかないですね。 以上です。

あとインドネシアには行きたいです。