ハードウェアからサーバ・アプリまでワンストップで開発

さっきのエントリの最後の方で「画面の内容が変わってます」という話を書きました。

Jupyter notebookのセルに余分なものがくっついてます。ここについて。

背景

元々、教科書的に書かれた本について潜在的に持っていた不満があります。

それは

式のリファレンスが間違っていることがある

ということです。特に変形しまくったり、途中まで導出してから別の式の話になってその後にまとめるとか、そういった文章にそれが起きると絶望的です。式がうまく続いてくれていないので、「なんでそうなったの?」みたいな気持ちになってしまいます。「数学嫌い」の何割かは、ここに原因があるんじゃないかとさえ思っています。

こういったことは電子化されたドキュメントではかなり少なくなりましたが、それでも「式xxってどこにあるんだ?」みたいなことが起きてしまうことがあります。

それとは別の話として、Jupyter notebookだと

ある計算をしたセルの値を他のところで使いたい

という要求があります。もちろんその必要が予見される場合は、何かグローバルな変数に値を入れるようなコードにしてしまえば良いわけですが、それをやると元のセルを「汚す」ことになってしまうこともあって、あまり嬉しくなかったりします。

また私のようにJupyter notebookをワープロの一種くらいのノリで使ってると、どこかのセルの値を文中で使いたいとかそういった希望があります。

どの問題も割と簡単に解決を考えつくと思うのですが、それらは要するに

セルに名前をつけて必要に応じて参照可能にする

ということになります。

解決

そんなわけで、セルに名前をつけてみるようにしました。

こんな感じで、左下にあるマスに名前を入れます。デザインがちょっとアレなのは、そのうち直しますw

このシステムはJupyter notebookのオイシイ部分をつまみ食いして作っているので、ファイル形式とか完全互換にする必要はないと思うのですが、無駄に非互換を作ってもしょうがないので、この「名前」についてはセル毎にあるメタデータの領域に入れてあります。ちなみにメタデータの領域は、普通のJupyter notebookのファイル(.ipynb)では空です。

使い方

今のところはこのセルの名前を使って、こんなことができます。

上のスプレッドシートになっているセルを参照して、下のセルで出力してます。名前の構造は説明の必要はないと思います。出力が綺麗なJSONになっているのは、consoleを自前で勝手に実装しているためです。

セルに名前がついていることで、とりあえず値を名前で参照することは出来るようになりました。いずれリファレンスとかでも使えるようにしたいと思います。

最近のエントリー

現在の営業品目(2)

現在の営業品目(1)

SPDX License Listをデータ化した

Orange Pi5でC3TR-Adapterを試す

CasaOS上で会計システム「Hieronymus」を動かす

会計システム「Hieronymus」v1.0.0 リリースしました

CasaOSでファイル同期アプリSyncthingをセットアップする

第11回 Freshmeat

オープンソースノーコード「Activepieces」でワークフローを作る

RaspberryPiにパーソナルクラウドOS「CasaOS」を導入する

sequelize-cliでdb:migrateすると「SyntaxError: Unexpected token ':'」が出る

LED行燈の試作(2)

CMSの社内向けサービスのリニューアル

LED行燈の試作(1)

エントリを書くこと

お手軽ポップコーン

VR徘徊(5) StereoPi V1でROSを動かす

VR徘徊(4) StereoPi Ver 1でUbuntu 22.04を動かす

新しいおもちゃ

執筆進捗