Project ‘ChaosNote’ (2)

ちょっと前に、JupyterをNode.jsで書き直しているという話を書いた。

Project ‘ChaosNote’

いろいろあって手のつけられない日もあったのだが、とりあえず第一段階と考えている、

Jupyterのノートを読み込んでkernelを起動して、
そこで実行したものをノートに表示する

というところまで動くようになった。

出来てしまえばどうってことはないのだが、

  • Jupyterの呼び出しているAPIの主だったものをNode(Express)で実装して
  • フロントエンドのリクエストに応じてkernelを起動し
  • Nodeとkernelの間にZeroMQのコネクションを張り
  • フロントエンドのリクエストに応じてkernelにメッセージを送り
  • kernelからのメッセージをフロントエンドに返す

ということの骨格が動くようになった。もちろん、実装したAPIの中身はmockだったりするものも多数ではあるが。

もちろんまだまだ無駄とゆーか稚拙なところは多いし、「とりあえず動いた」という以上のものにはなっていないのであるが、ここまで動いてしまえばあとは完成度を上げて行くとゆー退屈な作業をして行くだけである。

Jupyterのサーバとして「ちゃんとする」ことを第二段階の目標として、コードを書いて行こうと思う。

ちなみに、ここまでのところでマトモにJupyterのサーバのコードは読んでいない。もちろん全く見てないわけでもないのだが、あまりマジメには読んでない。いや、読もうと思ったんだけど、なかなか手強いんだよ。それよりは、外部から挙動を観察した方が、話が早かったのさ。