nikkie-ftnextの日記

イベントレポートや読書メモを発信

イベントレポート | オンラインで開催された #pycon_shizu 、私の知らないPythonがいくつもありました!

はじめに

頑張れば、何かがあるって、信じてる。nikkieです。
2020/02/29にPyCon mini Shizuokaがオンライン開催されました。
そこで聞いたトークのレポートをまとめます。

なお、自分の登壇については別にまとめています。

目次

勉強会の概要

PyCon mini Shizuokaとは静岡のPythonコミュニティによる初めて開催されるイベントです。
静岡のPythonコミュニティは西部、中部、東部と多数ありますが、一堂に会する機会ができないかという思いがあり、この度開催することとなりました。

テーマは「あなたの知らないPython」です。

藤枝での開催に向けて進められてきましたが、コロナウィルス感染症の影響を考慮し、オンライン開催に切り替わりました。

togetterにまとめが上がっています。

nikkieの知らないPython

トーク中のメモツイートを元に PyCon トーク リポジトリを更新しています。

「こんな分野でPythonを使っているのか!」という発見がいくつもありました。
このレポートでは、3つのトピックでレポートします。

  1. MakerとPython(からあげさん、Miyakeさん)
  2. GUIPython(岡崎さん)
  3. 質の高いコードを書くという観点から見たPython(ほぼろさん)

MochizukiさんのJAMstackの話や、みずきさんのテストコードの話も印象的でした。

1. MakerとPython

からあげさん、Miyakeさんのトークは、興味深い作品がいくつも飛び出しました。
どう作っているか気になるので、からあげさんのブログの記事は後ほど拝見します。

ソフトウェアが好きな私ですが、Makerの世界を垣間見てしまうと、ソフトウェアだけでは現実世界に物理的な影響を及ぼせないのが少し物足りなく感じます。
また、ソフトウェアだけまず分かればいいと手を出してこなかったのですが、深層学習でGPUを使おうとすると、ハードウェア周りの知識が求められる印象です(例:cudaって何?ドライバー?)。
なので、どこかのタイミングでハードウェアの世界に踏み出してみたいです(自宅に眠っているラズパイもありますし)。
今回「趣味Tech」という素敵な言葉とも出会えました!

PyCon mini Shizuokaで見た中では、Miyakeさんのライブハックが強烈に刺さりました。

自分の好きとMaker活動が組合せられるとわかったので、推し風Botを現実世界に召喚と夢が膨らみます🤗

2. GUIPython

岡崎さんによるGUIアプリケーションについてのトーク
tkinterPySimpleGUIを比較し、後者が簡単と紹介。
PySimpleGUIで作ったGUIアプリが次々と登場しました。

懇親会では、最近話題になったアスキーアートの記事GUIで実行できるようにしたコードを披露していただき、CLIかWebアプリかという2択しか持たなかった私は「GUIって結構有効な選択肢かも」と気づきました。
アスキーアートの例はWebアプリにしようとすると画像の扱いが大変そうという印象なのですが、GUIであればWebアプリほど難しくなさそう、だから魅力的と考えています(サーバにアップロードするわけではないので)

サンプルコードを動かしてみようと思っています。

3. 質の高いコードを書くという観点から見たPython

ほぼろさんのトークは私には一番刺さりました!
ほぼろさんがCLIツールを作る過程をトレースする中で、これまでの独学で出会わなかった考え方と出会い、非常に勉強になりました。

  • .gitignorehttp://gitignore.io にて「PythonとVirtualenv」を指定して生成
  • CLIのテンプレートを利用(何もしないmain関数)動作確認できる状態をまず作る
  • ファイルの切り分け(main.pyはユーザとのやり取りに限り、CSVを作るのに必要な処理は別のパッケージに
  • パッケージを作るときはモジュールをパッケージ外にどう見せるかを考える
  • dataclassfrozen=True(初期化後に変更されない)
  • モックとして要素1のリスト(Iterableであればforを使って何個であっても同じように扱える)
  • リストよりジェネレータを優先的に使う」(メモリ効率からジェネレータがオススメ)
  • 仮想環境でのパッケージ管理:requirements.txtとrequirements.lockの2つを作る
    • 手で入れたパッケージは.txtに
    • pip freezeの出力結果は.lockに
  • パッケージの中に定数をまとめるconstant.py

これら以外にも学びがあり、自分のツイートをまとめています。

このソースコードは2回は写経して共有いただいたことを自分のものにします!
t-wadaさんが『テスト駆動開発』に書いている「ケント・ベックとのペアプロ」ってこういうことか!と思いました。

感想

PyCon mini Shizuokaは「あなたの知らないPython」というテーマそのもので、Pythonの知らなかった一面をいくつも見ることができました
ハードウェア系の発表が多かったのも特色だと思います。
東海工業地帯という土地柄もあり、静岡・愛知はMakerの地なのかもしれませんね。

次回はオフライン開催を目指すということで、次回開催を楽しみにしています。
オンライン懇親会では「食はさわやか」と聞けました😋
沼津はラブライブ!サンシャイン!!の聖地のほか、沼津港が有名だそうです。

PyCon mini Shizuokaの運営スタッフ、登壇者、参加者の皆さま、ありがとうございました!