ネットワークグラフをCLIで管理するには
ファイルシステムはこんな感じになってるよね
pwd cd カレントディレクトリ
ls カレントディレクトリなどのファイル一覧を取得
ファイルパス
/xxx/yyy
絶対と相対がある
. カレント
.. 親
ネットワークでファイル管理する場合、どういうコマンド体系が要るだろう?sta.icon
つまり「space」と「entrance」がある
1 まずはコマンドの前にパスの概念を固めている
が、収拾つかない感じ
space
entry
node
node
...
パス
space S内にいるという前提なら、spaceの指定はなくせる
4 combi
entry id
entry name
node id
node name
ネットワークは「置き場所」は本質ではないから、idはサポートするべき
が、ZLf4tglGVBC0DbVKRuay3aCevlC2BGcXとかを人間が扱うのは死ぬ
しかしファイルシステムであるならば
一意に特定できねばならない
c:\windows\system32\drivers\etc\hosts みたいに恒久的かつ一意に指定できねばならない
同じ名前をn個扱えねばならない
work1/node_modules
work2/node_modules
senetは名前の重複を許す
このままではファイル管理できない
space内で「名前の重複を許さないオプション」をサポートすればいい
階層も必要
「nodeXが名前nameを使えるかどうかは、そのnodeXの親が判断する」になるか?
https://gyazo.com/36bbe30cfdb4900dd1adbd6348fc9329
親がn個なら気にしない
親が1個なら、親1が「おい名前被ってんで」とかする
親が2個なら?
ここが従来の階層世界にはない概念
親全員が「おい名前被ってんで」するしかないだろsta.icon
---
ネットワークは動的、階層は静的
ファイルは?
シチュ次第だろ
個人でファイル扱ってるなら動的でいい
OSのファイル構造とかは静的じゃねえだとダメだろ
そうなの?sta.icon
ファイルAを参照する ← これを確実に行えないといけない
別の参照を適当につくるのは別にいい(これは階層ではエイリアスだのハードリンクソフトリンクだのでサポートされてる)
「親のうち一人を絶対にする?」
この親は変更することができない、みたいな
別の言い方: 公式ルート
official entry?sta.icon*2
system entryでもいいけど
公式エントランスから辿れるネットワークが公式コンテンツだ、みたいな
だとして、被ってる場合はどうする?
子が妥協して変える(キャンセル)
子が妥協して - 1みたいな連番をつける(複製)
親が妥協して子を受け入れる(上書き)
❌子側に「俺が持てる親は1人だけだ!」的な制約を持たせる?
えー、だったらn=1にして結局階層にしようねってなるやんけsta.icon
面白くない
2
用途を洗って小さくやってみよう
1 ファイルシステムの脱階層を行えるポテンシャル
たとえばosをつくれないといけない
たとえばCLIで完結できないといけない
2 リソースラッパー
os useやCLIは要らない
3 テキストラッパー
Scrapboxはこれ
もっというとD&D時に別ストレージにアップロード + URLをブラケティングするだけでアクセス、の二段階コンボ
---
3はここではいいや
1を想定してたつもりだったけど、想像以上に深淵な感じが伝わってきてて尻込みしている
2は楽ではあるけど、うーん、負けた気分
やっぱり1だな……
senetでも普通に階層ファイルシステムとの違いとか言うちゃってるしw
既存のosやら何やらを置き換えるつもりはないが、「新しくつくるとして」「同等以上のものを実現できる」ポテンシャルはほしいsta.icon*2
わかった。
SenetのCLIがほしいのに、ネットワークの、と一般化しているからややこいことになっているんだ 中止