3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LC4RI(Literate Computing for Reproducible Infrastructure)はJupyter一択ですか?

Last updated at Posted at 2019-10-07

「僕はゼロイチのSEなんすよ!」

と吠えても作ったものを眠らせておいては何の説得力もないんでコードレビューされたらメッタ刺しなものでも出さなきゃハナシんなんないのでアウトプット強化週間してみることにした。

メンタル弱いのでお手柔らかに。


Google ColaboratoryとかチームでJupyterを使う仕組みが幾つかあるけど、Jupyterは1ドキュメントに閉じた運用に特化しているというかサクっと使うにはいいけど運用手順書とか長々使い回すとするとExcelの悪夢っぽい問題が出てくるような気がしている。

昔とある大規模運用をやってたときに昔から脈々と作られてきた大量の手順書やドキュメントの老朽化メンテナンスに苦労したことがあって。

  • 担当者とか部署名みたいな将来的に書き換えが起こるであろう部分を効率化できない
  • ログインとかテンプレート的につかう手順とかお決まり的なオペレーションの使い回しが難しい

あと既存のドキュメントの移植の手間とか。これらをJupyterにしてgitあたりとうまく連携してもうまいとこ運用できないよな気がする。(どっかでうまくやってるところあるだろうけど)

でもJupyterの部品のように区画を用意してドキュメント部分、手順部分と切り貼りできる仕組みは凄く気に入ってて、これをもっとチーム運用に特化した形にできないものかと考えていた。

当時はアプリ開発スキルが無かったので今もあるといえねーのではテンプレートドキュメントをシェルスクリプトでsedで置き換えるとかドキュメントにラベルつけて検索性をあげて、必要に応じて結合するといったゴリゴリCLIな方法しかできなかった。

その後スキルがあがってAPI+フロントエンドで再実装する事ができた。

n1.png

こんなかんじ。

n2.png

広げてたたんで並び替えてで、定義部分を入れ替えてつかう

ホイールをクリックして編集モードに入るという地獄なUX!

n3.png

n6.png

n7.png

コアはドキュメント部分とコード部分をパーツ単位で切り貼りできるようになっている。public/privateで個人とチームと別れて管理できる。あと単語単位でテンプレート化して置き換えできたり

n4.png

n5.png

パーツ単位でリポジトリを作れたり。doc2vecで似たコード捜索を推論したり。パーツ単位で実行結果を取得できたり

n8.png

n9.png

テキストの手順はつまらないので動的なチュートリアルいれたりした

n10.png

これをクラウド上で運用作業者用SaaSみたいにしたかったんだけど頓挫。やってみたかったなあ。

激スパゲッティコード

DEMO

http://34.82.69.221:1192/
(2019/10/12追記: 閉鎖しました)

  • コマンド動かされるとやばそうなので run は使えません。
  • GCPの無料枠なのでコード推測機能はメモリ不足で動きません。
  • 弱い荒らし対策として15分に一回リポジトリがまき戻ります
  • これも弱い対策として適当にAPI側にバリデーション入れました。
  • そのうち消します。

しょっぱなから生き地獄恥レベルだけど、まいっか。ぼこらててもアウトプットが主目的なんだし。しょんぼりな内容かもだけどまた書きますわ。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?