データフロー図書きたい
作図ツールには長文書きづらい
図に加えてドキュメントも併せてみせたい
図をテキスト, コードで管理したい
閲覧権限を管理したい
複数人で編集しやすい
図をコードで書いて PlantUML で作成
Markdown でリンクを含むドキュメントを出力できる
BigQuery などのデータストアにアクセスして実際のデータを使ったサンプルやグラフを表示できる
ということでいいこと尽くめではないか
同時編集は微妙でリロード要求されがち
Python → PlantUML になる
まあ puml ファイルを Drive に置いてもいいけど編集はしやすくない
!pip install plantuml が必要
ファイルに書いて画像にして開く
code:sample
!pip install plantuml
with open('/content/sample.puml', 'w+') as f:
f.write('''
@startuml
(*) --> "First Activity"
"First Activity" --> (*)
@enduml
''')
!python -m plantuml sample.puml
from IPython.display import Image
Image('sample.png')
%%writefile 知らなかった、Python コードでないならこちらで書くほうがいい
単に画像出すだけのコマンドはないのかなあ
PlantUML には DFD っぽいパーツ無いし、素の Graphviz でいいのではないか説
シンタックスハイライトがなくていまいち
VSCode から Colab につなぐ?
なんかあんまりやりたくない感じだった
Graphviz 使うほうが自然か?
色とかコメント差し込みやすさは PlantUML だけど直接 DFD 書く機能がないというのが気になるところ
他の既に名前がついている図のパーツや構造だけを使って DFD を書くというのが気が滅入る
Graphviz はその点ニュートラル
PlantUML を使うとデータフロー図として曖昧さが残るけど、いろんなパーツがあるのはよい
PlantULM のノードの名前がきに食わないなら別名を付けて使うのはどうか説
code:puml
!procedure $entity($label, $alias)
rectangle "$label" as $alias
!endprocedure
!procedure $datastore($label, $alias)
database "$label" as $alias
!endprocedure
!procedure $process($label, $alias)
storage "$label" as $alias
!endprocedure
日本語
fonts-noto-cjk 使う