rengotaku

ALB が前にいれば Puma の前段に Nginx は要らない(Slow client 対策の昔と今)

参考: ALB が進化したいま、Nginx はどこで必要か まとめ AWS の ALB は 2016 年のローンチ時点から リクエストをバッファリングしている。Slow client 対策で Puma の前に Nginx を置く必要はない Rails コミュニティで長年「Puma の前に Nginx」と言われてきたのは、オンプレや HAProxy 直結構成での話。AWS + ...

「サクッと」にイラっとして、自分の依頼文を棚卸ししたら、結局チャネル選択の問題だった

まとめ 「サクッと設定したい」と書かれた依頼を見てイラっとした 自分も同じことをしてないか過去の依頼文を棚卸ししたら、「すぐ確認できる」「内容ほぼ同一」など、相手の工数を勝手に見積もる表現が出てた 何度かリマインドを重ねた依頼を見直すと、丁寧語で包んだ催促文に不満が滲んでた 文章を磨くだけでは根本解決にならない。「レビュー = 非同期」と思い込んでたのが、詰まりの本当の原...

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

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

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

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

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

⚠️ これはメモ書きです iptables / netfilter / hashlimit の挙動を完全に理解した上で書いた記事ではなく、自宅で食らった時に動いた設定を後追いで整理しただけのもの。 各オプションの意味は man と AI 説明に頼っていて、自分の中で「腹落ちした」状態には至っていない。 同じ状況で困っている人の取っ掛かりにはなるかもしれないが、本番投入する前に man と他の...

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

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

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

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

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

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

macOS の Background Items 表示名は plist の ProgramArguments で決まる

まとめ macOS「システム設定 → 一般 → ログイン項目と機能拡張 → バックグラウンドでの実行を許可」に表示される名前は、plist の Label ではなく ProgramArguments[0] の basename から取られる ProgramArguments[0] を /bin/zsh にして第二要素にスクリプトを渡すと、表示名は「zsh」に丸め込まれて識別不能に...

SKILL.md の決定的処理はシェルに任せる

まとめ Claude にファイル探索や有無判定を「自然言語の指示」で任せると、似た名前のファイルを巻き込んで読んでしまう 決定的に判定できる処理は test -f などのシェルコマンドに移譲し、echo で次にやるべき指示文を直接返す SKILL.md の手順は「決定的処理(スクリプト)」と「判断・生成(Claude)」に分けて記述すると迷いが減る 起きたこと Clau...

CLAUDE.md に細かいコーディングルールを全部書くのはアンチパターン

まとめ CLAUDE.md はセッション中 毎ターンプロンプト先頭に積まれる ので、細かい規約を全部書くとトークンを毎回払う トークン以上に深刻なのは アテンションが薄まる こと。長くなるほど一行一行の効きが弱くなり、肝心の禁止事項が守られなくなる 長セッションでは CLAUDE.md も コンパクションで要約に巻き込まれて潰れる 。細かいルールほど消えやすい 推奨は 薄...

誰も上のグレードを取れない評価制度に起きること

まとめ 誰も達成できていないグレードが存在する場合、それは個人の問題ではなく制度の失敗かもしれない 「何をすれば上のグレードになれるか分からない」は評価基準の透明性の欠如が原因の一つである 担当案件の重さが評価機会を左右する構造は、努力が報われにくい状況を生みやすい マネジメントが「聞くだけ」で終わると、制度への不信感が蓄積しやすい 「予防」の貢献は見えにくく、評価者...

トレンドのタグ