「僕はゼロイチのSEなんすよ!」
と吠えても作ったものを眠らせておいては何の説得力もないんでコードレビューされたらメッタ刺しなものでも出さなきゃハナシんなんないのでアウトプット強化週間してみることにした。
メンタル弱いのでお手柔らかに。
Google ColaboratoryとかチームでJupyterを使う仕組みが幾つかあるけど、Jupyterは1ドキュメントに閉じた運用に特化しているというかサクっと使うにはいいけど運用手順書とか長々使い回すとするとExcelの悪夢っぽい問題が出てくるような気がしている。
昔とある大規模運用をやってたときに昔から脈々と作られてきた大量の手順書やドキュメントの老朽化メンテナンスに苦労したことがあって。
- 担当者とか部署名みたいな将来的に書き換えが起こるであろう部分を効率化できない
- ログインとかテンプレート的につかう手順とかお決まり的なオペレーションの使い回しが難しい
あと既存のドキュメントの移植の手間とか。これらをJupyterにしてgitあたりとうまく連携してもうまいとこ運用できないよな気がする。(どっかでうまくやってるところあるだろうけど)
でもJupyterの部品のように区画を用意してドキュメント部分、手順部分と切り貼りできる仕組みは凄く気に入ってて、これをもっとチーム運用に特化した形にできないものかと考えていた。
当時はアプリ開発スキルが無かったので今もあるといえねーのではテンプレートドキュメントをシェルスクリプトでsedで置き換えるとかドキュメントにラベルつけて検索性をあげて、必要に応じて結合するといったゴリゴリCLIな方法しかできなかった。
その後スキルがあがってAPI+フロントエンドで再実装する事ができた。
こんなかんじ。
広げてたたんで並び替えてで、定義部分を入れ替えてつかう
ホイールをクリックして編集モードに入るという地獄なUX!
コアはドキュメント部分とコード部分をパーツ単位で切り貼りできるようになっている。public/privateで個人とチームと別れて管理できる。あと単語単位でテンプレート化して置き換えできたり
パーツ単位でリポジトリを作れたり。doc2vecで似たコード捜索を推論したり。パーツ単位で実行結果を取得できたり
テキストの手順はつまらないので動的なチュートリアルいれたりした
これをクラウド上で運用作業者用SaaSみたいにしたかったんだけど頓挫。やってみたかったなあ。
激スパゲッティコード
DEMO
http://34.82.69.221:1192/
(2019/10/12追記: 閉鎖しました)
- コマンド動かされるとやばそうなので run は使えません。
- GCPの無料枠なのでコード推測機能はメモリ不足で動きません。
- 弱い荒らし対策として15分に一回リポジトリがまき戻ります
- これも弱い対策として適当にAPI側にバリデーション入れました。
- そのうち消します。
しょっぱなから生き地獄恥レベルだけど、まいっか。ぼこらててもアウトプットが主目的なんだし。しょんぼりな内容かもだけどまた書きますわ。