データの流れ
1件の道のりを順に並べる
構成図はどこと繋がっているかを表します。流れ図は1件がどの順に通るかを表します。
似ていますが別物です。構成図では線が4本あっても、予約1件が通るのはそのうち3本だけ、ということが起きます。
予約1件の道のりを、最初から最後まで順に書き出します。
辿れません。構成図は繋がりの全部を持ちますが、順番を持っていません。
アプリから保存先へ線が1本あっても、予約のときは2回叩き、空席のときは1回で済む、といった違いは構成図には出ません。
段ごとの時間を足す
流れを書き出したら、段ごとの時間を足します。
Python
# client -> lb 2ミリ秒
# lb -> app 1ミリ秒
# app -> cache 3ミリ秒
# cache -> database 20ミリ秒足すと、一番長い段がどこかが一目で分かります。この例では最後の1段が全体の8割近くです。
書き出さないと、抜けている段に気づけません。
頭の中で数えると、認証やログのような目立たない段を飛ばします。1段ずつ書けば、前の段の終わりと次の段の始まりが合っているかも確かめられます。
合っていない所は、書き忘れた段があるということです。
演習
段の一覧を受け取り、通る順の並びと合計時間、繋がっていない箇所を返します。
要件
- path は1段目の from から始め、各段の to を順に足したリスト。段が無ければ空
- total_ms は各段の ms の合計
- breaks には、前の段の to と今の段の from が違うときに "<前のto> と <今のfrom> が繋がっていない" を入れる
ヒント
編集 ゆめさく編集部