はじめに
頑張れば、何かがあるって、信じてる。nikkieです。
2020/02/29にPyCon mini Shizuokaがオンライン開催されました。
そこで聞いたトークのレポートをまとめます。
なお、自分の登壇については別にまとめています。
目次
勉強会の概要
PyCon mini Shizuokaとは静岡のPythonコミュニティによる初めて開催されるイベントです。
静岡のPythonコミュニティは西部、中部、東部と多数ありますが、一堂に会する機会ができないかという思いがあり、この度開催することとなりました。
テーマは「あなたの知らないPython」です。
藤枝での開催に向けて進められてきましたが、コロナウィルス感染症の影響を考慮し、オンライン開催に切り替わりました。
togetterにまとめが上がっています。
nikkieの知らないPython!
トーク中のメモツイートを元に PyCon トーク リポジトリを更新しています。
「こんな分野でPythonを使っているのか!」という発見がいくつもありました。
このレポートでは、3つのトピックでレポートします。
MochizukiさんのJAMstackの話や、みずきさんのテストコードの話も印象的でした。
1. MakerとPython
からあげさん、Miyakeさんのトークは、興味深い作品がいくつも飛び出しました。
どう作っているか気になるので、からあげさんのブログの記事は後ほど拝見します。
ソフトウェアが好きな私ですが、Makerの世界を垣間見てしまうと、ソフトウェアだけでは現実世界に物理的な影響を及ぼせないのが少し物足りなく感じます。
また、ソフトウェアだけまず分かればいいと手を出してこなかったのですが、深層学習でGPUを使おうとすると、ハードウェア周りの知識が求められる印象です(例:cudaって何?ドライバー?)。
なので、どこかのタイミングでハードウェアの世界に踏み出してみたいです(自宅に眠っているラズパイもありますし)。
今回「趣味Tech」という素敵な言葉とも出会えました!
PyCon mini Shizuokaで見た中では、Miyakeさんのライブハックが強烈に刺さりました。
#pycon_shizu 入賞おめでとうございます!
— nikkie 技書博のPython argparse本 boothにて頒布中 (@ftnext) 2020年2月29日
最後の事例がとりわけ刺さりました。
発表ありがとうございました 👏👏👏👏👏 https://t.co/9pHshF3zmV
自分の好きとMaker活動が組合せられるとわかったので、推し風Botを現実世界に召喚と夢が膨らみます🤗
2. GUIとPython
岡崎さんによるGUIアプリケーションについてのトーク。
tkinter
とPySimpleGUI
を比較し、後者が簡単と紹介。
PySimpleGUI
で作ったGUIアプリが次々と登場しました。
懇親会では、最近話題になったアスキーアートの記事をGUIで実行できるようにしたコードを披露していただき、CLIかWebアプリかという2択しか持たなかった私は「GUIって結構有効な選択肢かも」と気づきました。
アスキーアートの例はWebアプリにしようとすると画像の扱いが大変そうという印象なのですが、GUIであればWebアプリほど難しくなさそう、だから魅力的と考えています(サーバにアップロードするわけではないので)
サンプルコードを動かしてみようと思っています。
3. 質の高いコードを書くという観点から見たPython
ほぼろさんのトークは私には一番刺さりました!
ほぼろさんがCLIツールを作る過程をトレースする中で、これまでの独学で出会わなかった考え方と出会い、非常に勉強になりました。
.gitignore
は http://gitignore.io にて「PythonとVirtualenv」を指定して生成- CLIのテンプレートを利用(何もしないmain関数)動作確認できる状態をまず作る
- ファイルの切り分け(main.pyはユーザとのやり取りに限り、CSVを作るのに必要な処理は別のパッケージに)
- パッケージを作るときはモジュールをパッケージ外にどう見せるかを考える
dataclass
でfrozen=True
(初期化後に変更されない)- モックとして要素1のリスト(Iterableであれば
for
を使って何個であっても同じように扱える) - 「リストよりジェネレータを優先的に使う」(メモリ効率からジェネレータがオススメ)
- 仮想環境でのパッケージ管理:requirements.txtとrequirements.lockの2つを作る
- 手で入れたパッケージは.txtに
pip freeze
の出力結果は.lockに
- パッケージの中に定数をまとめるconstant.py
これら以外にも学びがあり、自分のツイートをまとめています。
このソースコードは2回は写経して共有いただいたことを自分のものにします!
t-wadaさんが『テスト駆動開発』に書いている「ケント・ベックとのペアプロ」ってこういうことか!と思いました。
感想
PyCon mini Shizuokaは「あなたの知らないPython」というテーマそのもので、Pythonの知らなかった一面をいくつも見ることができました。
ハードウェア系の発表が多かったのも特色だと思います。
東海工業地帯という土地柄もあり、静岡・愛知はMakerの地なのかもしれませんね。
次回はオフライン開催を目指すということで、次回開催を楽しみにしています。
オンライン懇親会では「食はさわやか」と聞けました😋
沼津はラブライブ!サンシャイン!!の聖地のほか、沼津港が有名だそうです。
次回現地参加するときのために静岡のおすすめ情報を聞いた。
— ほぼろ (@rhoboro) 2020年2月29日
日本平夢テラスは景色きれい。徒歩でいけるさわやかもある。日照時間が長くて干物がふっくらしてておすすめ。浜松なら小池さんのきゅうりが流通してる。#pycon_shizu
PyCon mini Shizuokaの運営スタッフ、登壇者、参加者の皆さま、ありがとうございました!