Diary over Finite Fields

515ひかるの日記と雑文

Jupyter Notebookを長期的に活用するの難しい気がする

タイトルは個人の感想です。

仕事柄、内容によってはJupyter Notebookを利用することがある。特にデータを可視化する作業はJupyter Notebookが一番ラクなので。

だけどひとつのNotebookを長時間使い続けるのは結構しんどくて、しかも(なぜか Jupyter 使っていると)似たようなコードを量産したり、同じような内容の処理でも別のノートブックに買いてしまったりする。

モジュール化しろ! という話なのだが、なかなか「いまがモジュール化のタイミングだ!」というのも見出せずだらだらと惰性でJupyter Notebookを使い続けてしまう。

Gitでコードの差分だけを管理するのも結構面倒だし、ひとと共有するのもなんだかなという質のコードを量産してしまう側面もある。もちろん気をつければいい話なのだが、「人間が気をつける」なんて解決策ほど信用できないものはないので、対策を考えたい。

と思っていたのだが、やはり適宜スクリプト化、Pythonスクリプトにしてやっていくしかないのではないかと思い始めてきた。

対話環境は便利な側面もあるけれど、同じくらい複雑さを生んでいる気もするので処理内容がある程度固まったところでとっととスクリプト化し、 python main.py で必要なものをすべて出力できるようにするのが一番良い、気がする。

とりあえず明日からそうやろうと思って今日は頑張ってモジュール化していた。疲れた。そして自分の Jupyterのプログラムがいかにグローバル変数依存のひどいものだったのかを知った。こりゃ長くなればなるほど大変なわけだ。

もう git push すれば自動で CI が回って精度評価、様々な集計を勝手にやってくれるように作れないかな、と思っているのでその辺もたぶんそのうちやる。そのうち気が向いたら書くかもしれない。

仕事を便利に進めることに対して人々はもう少し貪欲になったほうがいいと思う。