rengotaku

Antigravity CLI (agy) の --print がハングする原因と対処: artifactReviewPolicy

まとめ Antigravity CLI (agy) を --print(非対話)で画像生成に使うと、標準出力が空のまま --print-timeout すら効かずに固まることがある。 真因は設定 artifactReviewPolicy の既定値 asks-for-review。生成物(アーティファクト)のレビュー承認をエージェントが待つが、非対話モードには承認する相手がいないの...

Claude Code のステータスラインをOSC 8でクリック可能なリンクにする

まとめ Claude Code のカスタムステータスラインは、標準出力に出した文字列がそのまま描画される。ANSIカラーだけでなく OSC 8 ハイパーリンク も通る OSC 8 は \x1b]8;;URL\x07 表示テキスト \x1b]8;;\x07 の形式。対応端末では Cmd+click で開けるリンクになり、非対応端末では ただのテキストに劣化する ので貼っても安全 ...

AIエージェントは、コンテキストに載った情報を全部「等しく真」として扱う

まとめ AIエージェントは、いま確かめた事実と、キャッシュから読み込んだだけの古い記述を、コンテキスト上で区別しない。どっちも同じ重さの「真」に見えてる。 だから古い情報をそのまま使うのは「確認が面倒」だからじゃない。古いかもしれないという目印がデータに付いてないので、確認する必要自体を感じてない。 「必ず最新を確認する」とドキュメントに書き足す対策は弱い。肝心の場面でその一...

インシデント報告書を読み解く ― KDDI の不正アクセス報道発表から学ぶ開示の型

参考: ISP 事業者向けメールシステムに対する不正アクセスの発生について(KDDI 報道発表資料 2026-06-23) まとめ インシデント開示文書は「謝る」「経緯を語る」ためではなく、 読み手の不安を事実で畳み、次の行動を提示する ために書く 確定事実と未確定事項を 語尾で厳密に区別 する。「判明しました」と「可能性があります」を混ぜない 数字には必ず前提を貼り、 ...

Webアプリのフレームワーク移行計画で抜けがちな観点

まとめ 移行計画のレビューで効くのは、コスト試算の数字の細かさより「致命的になりうる構造リスクが設計に入っているか」 1つのDBを新旧2つのORMで共有する期間が一番あぶない。不変条件がアプリ層にしかないとサイレントなデータ破損になる CSRF・認証・ジョブ基盤の切替は、移行期間中の新旧併存でこそ事故る ROIは並走期間の二重コストと再診断費を入れないと前提が反転する。撤...

サブドメインの子ゾーン委譲が切り替わったかを dig で確認する

サブドメインを親ゾーン内の単一レコードから独立した子ホステッドゾーンへ昇格させる作業をした。委譲が本当に切り替わったかを確認しようとして、最初に手が止まった。dig で引いても返ってくる IP が作業前と同じだったからだ。 これは当然で、移行の前後で A レコードの宛先(ALB)は変えていない。変わるのは「どのゾーンが権威を持って答えるか」であって、解決結果の IP ではない。だから検証も...

MSA(マイクロサービス)とモノリスの違いを今さら整理する

MSA = アプリを小さな独立サービス群に分割する設計、対義語はモノリス(1 つの大きなアプリ) 各サービスは独立デプロイ・独立 DB・言語選択自由 障害局所化・チーム分割しやすさが利点、運用の複雑化が欠点 「Rails は MSA に向かない」と言われるのは、1 アプリで全部やる前提で作られているから

CPAは「高いから広告を出せる」ではなく「LTVが高いから結果としてCPAが上がる」

CPA は Cost Per Acquisition(顧客獲得単価)の略で、1 件のコンバージョン獲得にかかった広告費を示す指標 「CPA が高いから広告費を厚く張れる」は因果が逆。正しくは「LTV が高いから CPA が高くても回収できる → 結果として広告費を厚く張れる → 競争でさらに CPA が上がる」 高 CPA な顧客層は「採算が合う高 LTV 層 = 取り合いになっているリード」と…

iptables の hashlimit で HTTP DDoS を IP 単位にレート制限する

iptables の hashlimit モジュールで、送信元 IP ごとに独立したトークンバケットを持たせて HTTP/HTTPS をレート制限できる ユーザー定義チェーンに「正常レートなら RETURN」「超過したら DROP」を 2 段で組むのが定番形 --hashlimit-burst を 100 くらい残しておくと、ブラウザの並列リクエストを潰さずに済む

ImageMagick の InterpretImageFilename で見つかった off-by-one read overflow

ImageMagick の InterpretImageFilename に「連続パーセント記号 %% を処理する箇所」で off-by-one error があった バグの本体は 書き込み ではなく 読み込み 側のポインタが \0 を 1 バイト飛び越えること 1 バイトの read overflow 自体は軽症(クラッシュ or 軽い情報漏洩)だが、パーサーがそのバイトを「次の動作の判断材料…

SSH秘密鍵を「複製不可能」にする運用と、会社PCでできる現実的な代替

ファイルとして置かれた SSH 秘密鍵は、コピー・同期・マルウェアによる窃取のリスクから逃げられない 「複製不可能」とは、秘密鍵をハードウェアの中で生成して 外部にエクスポートできない 状態にし、外に出るのは公開鍵と署名結果だけにする運用 OpenSSH 8.2+ なら FIDO セキュリティキー(YubiKey 等)を 追加ソフトなし で使える。…

S3 で「バケット内のリスト」だけを無効化し、個別オブジェクトの public-read 配信は維持する

バケット ACL を public-read にすると、誰でもバケット直下に対する ListObjectsV2 が叩けてしまう(オブジェクトキー・サイズ・LastModified が匿名で取得できる情報漏洩リスク) 個別オブジェクトの public-read 配信(CarrierWave の asset_sync / Rails アセット等)は維持しつつ、 バケットレベルのリストだけを拒否 した…

「計画する」を分解するとAI時代の生存戦略が見える

ある記事は「依頼された仕事をやらない人」の本質を「考えるのが嫌」と診断し、処方箋として「考えなくていい仕事に閉じ込めろ」と提案している しかしその処方箋が指す領域は、ちょうど今 AI が一番得意な領域と重なる 「計画が苦手」を 8 要素に分解すると、AI で代替できる部分と人間に残る部分がはっきり分かれる AI に食われるのは「計画が苦手」全員ではなく、着手できない人 + 考える行為自体を避ける…

トレンドのタグ