Operations の記事
193 日ぶりの再起動で消える tmux 内の Claude Code セッション 8 本を、同じ名前・同じ会話で戻す
tmux は戻らないが会話は --resume で戻る。8 本中 7 本が戻り、1 本は空の transcript で落ちた。
6 min read「hvf is not enabled on this aarch64 host」の原因は、avdmanager が書いた target=android-0 だった
ハイパーバイザーの警告の正体は、AVD の ini に書かれた target=android-0 という1行だった。
6 min readgit tag --contains は「入っている」と答えたが、その版のアプリに機能は無かった
提出タグ7つすべてにコードは含まれ、どの版にも機能は存在しなかった。両方とも正しい。
5 min readApp Store Connect の Analytics Reports API で DAU を出したら、同じ日の値が翌日には 2 割増えていた
Unique Devices を足しただけの DAU は、翌日 2 割増え、リリース日は二重に数え、42% の端末しか見ていなかった。
5 min readClaude Code のスキルと設定リポジトリを複数マシンで git 同期していたら、settings.json の hook が未追跡スクリプトを指していた
このマシンでは動く設定が、他のマシンで pull した瞬間に壊れる。diff にも動作確認にも出ない欠陥だった。
6 min readSearch ConsoleとGA4でSEO改善を自動化した
SEOデータは毎日集めても、AIに毎日ページを直させない設計にした。
5 min readdev client のビルドが1周10分なので、SkSL shader は canvaskit-wasm で先にコンパイルした
1周10分のビルドに乗せる前に、SkSL のコンパイルと worklet 変換を開発機で決着させた。実機で残ったのはネイティブの minSdk 分岐だった。
5 min readGoogle Play の reviews.list は直近1週間しか返さない — 同期前のレビューを Play Console の CSV から埋め戻す
今日叩いた reviews.list は 38 件・8/21〜8/28 だけ。キャッシュを始めた日より前は、API のどこにも無かった。
6 min readprebuild とテストを通った生成 Swift が、Xcode archive で初めて落ちた
文字列変換と冪等性が正しくても、生成 Swift がコンパイルできることまでは証明していなかった。
5 min readCapacitor から Expo に移したら、アプリアイコンのドット絵が iOS では小さく Android では大きくなった
1.x の実測は iOS 70.3% / Android 37.5%。一般論の比率で焼いた素材は 62% / 55% で、逆向きにずれていた。
5 min readGoogle Play の completed は「公開済み」ではなかった — update.json は商品ページから更新する
管理APIの配信設定と、一般ユーザーが取得できる公開状態は別だった。
5 min readproduct flavor を足したら、Gradle は成功したまま 9 時間前の APK が署名された
存在チェックを足しただけでは防げなかった。Gradle の前に出力先を消して初めて「無ければ落ちる」が成立した。
5 min readプライマリ言語を日本語にしても、App Store の「言語」は英語のままだった
メタデータは日本語、言語宣言は英語。同じ商品ページの2つの値が、別のシステムから来ていた。
4 min readarchive が通っても Distribution 証明書は1枚も発行されていない — SSH 越しの Mac mini で iOS を Ad Hoc 署名する
archive は手元の Apple Development 証明書で成功する。Distribution 側の発行可否は export まで分からない。
5 min readLAN の中だけで動く HTTPS を組む — 実在する TLD にワイルドカードを張らないという判断
ワイルドカードは実装が最小で影響が最大になる。自宅 LAN の名前解決と自動 TLS を、どこまで自分のものだと主張するかで設計した記録。
10 min read自宅サーバーの操作を自作 CLI 一本に寄せた — 14 コマンドの中身と、どの端末からでも同じように動く仕組み
手で触った1回はどこにも記録されない。状態を変える経路を1本にした CLI の全体像と、SSH 自動転送・マルチノード・巻き戻し・ドリフト検知の設計。
17 min readデプロイ先に入れた secret は読み戻せない — 署名鍵の唯一の恒久コピーは削除対象の中にあった
デプロイ先は値を注入する場所であって、保管する場所として設計されていない。環境を作り直す日まで、その違いは表面化しない。
9 min readWorkers route をデプロイしても本番は切り替わらなかった — cutover の実体は DNS だった
移行手順のどの操作が実際にトラフィックを動かしているのか。それが分かればロールバック手順も自動的に決まる。
8 min read