ALB が前にいれば Puma の前段に Nginx は要らない(Slow client 対策の昔と今)
参考: ALB が進化したいま、Nginx はどこで必要か まとめ AWS の ALB は 2016 年のローンチ時点から リクエストをバッファリングしている。Slow client 対策で Puma の前に Nginx を置く必要はない Rails コミュニティで長年「Puma の前に Nginx」と言われてきたのは、オンプレや HAProxy 直結構成での話。AWS + ...
参考: ALB が進化したいま、Nginx はどこで必要か まとめ AWS の ALB は 2016 年のローンチ時点から リクエストをバッファリングしている。Slow client 対策で Puma の前に Nginx を置く必要はない Rails コミュニティで長年「Puma の前に Nginx」と言われてきたのは、オンプレや HAProxy 直結構成での話。AWS + ...
まとめ 「サクッと設定したい」と書かれた依頼を見てイラっとした 自分も同じことをしてないか過去の依頼文を棚卸ししたら、「すぐ確認できる」「内容ほぼ同一」など、相手の工数を勝手に見積もる表現が出てた 何度かリマインドを重ねた依頼を見直すと、丁寧語で包んだ催促文に不満が滲んでた 文章を磨くだけでは根本解決にならない。「レビュー = 非同期」と思い込んでたのが、詰まりの本当の原...
まとめ MSA = アプリを小さな独立サービス群に分割する設計、対義語はモノリス(1 つの大きなアプリ) 各サービスは独立デプロイ・独立 DB・言語選択自由 障害局所化・チーム分割しやすさが利点、運用の複雑化が欠点 「Rails は MSA に向かない」と言われるのは、1 アプリで全部やる前提で作られているから モノリスとは 普段の Web アプリ開発で一番多いやつ...
まとめ CPA は Cost Per Acquisition(顧客獲得単価)の略で、1 件のコンバージョン獲得にかかった広告費を示す指標 「CPA が高いから広告費を厚く張れる」は因果が逆。正しくは「LTV が高いから CPA が高くても回収できる → 結果として広告費を厚く張れる → 競争でさらに CPA が上がる」 高 CPA な顧客層は「採算が合う高 LTV 層 = 取...
⚠️ これはメモ書きです iptables / netfilter / hashlimit の挙動を完全に理解した上で書いた記事ではなく、自宅で食らった時に動いた設定を後追いで整理しただけのもの。 各オプションの意味は man と AI 説明に頼っていて、自分の中で「腹落ちした」状態には至っていない。 同じ状況で困っている人の取っ掛かりにはなるかもしれないが、本番投入する前に man と他の...
まとめ user:pass@host 形式の URL でページを開くと、fetch() の相対パスが認証情報を引き継いでしまう fetch('/api/...') が “Request cannot be constructed from a URL that includes credentials” で死ぬ location.origin を先頭に付けた絶対 URL にす...
参考: GHSA-hm4x-r5hc-794f まとめ ImageMagick の InterpretImageFilename に「連続パーセント記号 %% を処理する箇所」で off-by-one error があった バグの本体は 書き込み ではなく 読み込み 側のポインタが \0 を 1 バイト飛び越えること 1 バイトの read overflow 自体は軽症(...
参考: 複製不可能なSSH鍵運用のススメ まとめ ファイルとして置かれた SSH 秘密鍵は、コピー・同期・マルウェアによる窃取のリスクから逃げられない 「複製不可能」とは、秘密鍵をハードウェアの中で生成して 外部にエクスポートできない 状態にし、外に出るのは公開鍵と署名結果だけにする運用 OpenSSH 8.2+ なら FIDO セキュリティキー(YubiKey 等)を ...
まとめ バケット ACL を public-read にすると、誰でもバケット直下に対する ListObjectsV2 が叩けてしまう(オブジェクトキー・サイズ・LastModified が匿名で取得できる情報漏洩リスク) 個別オブジェクトの public-read 配信(CarrierWave の asset_sync / Rails アセット等)は維持しつつ、 バケットレベル...
まとめ AWS CLI v2 は出力が一定量を超えるとデフォルトで less を起動し、ターミナルが全画面の pager 表示に切り替わる 抑制方法は 3 通り: コマンド単位の --no-cli-pager、環境変数 AWS_PAGER=""、~/.aws/config の cli_pager 永続化したいなら .zshenv に export AWS_PAGER="" を...
参考: 「依頼された仕事をやらない人」は、なぜ仕事をしないのか まとめ ある記事は「依頼された仕事をやらない人」の本質を「考えるのが嫌」と診断し、処方箋として「考えなくていい仕事に閉じ込めろ」と提案している しかしその処方箋が指す領域は、ちょうど今 AI が一番得意な領域と重なる 「計画が苦手」を 8 要素に分解すると、AI で代替できる部分と人間に残る部分がはっきり分か...
まとめ macOS「システム設定 → 一般 → ログイン項目と機能拡張 → バックグラウンドでの実行を許可」に表示される名前は、plist の Label ではなく ProgramArguments[0] の basename から取られる ProgramArguments[0] を /bin/zsh にして第二要素にスクリプトを渡すと、表示名は「zsh」に丸め込まれて識別不能に...
まとめ Claude にファイル探索や有無判定を「自然言語の指示」で任せると、似た名前のファイルを巻き込んで読んでしまう 決定的に判定できる処理は test -f などのシェルコマンドに移譲し、echo で次にやるべき指示文を直接返す SKILL.md の手順は「決定的処理(スクリプト)」と「判断・生成(Claude)」に分けて記述すると迷いが減る 起きたこと Clau...
まとめ CLAUDE.md はセッション中 毎ターンプロンプト先頭に積まれる ので、細かい規約を全部書くとトークンを毎回払う トークン以上に深刻なのは アテンションが薄まる こと。長くなるほど一行一行の効きが弱くなり、肝心の禁止事項が守られなくなる 長セッションでは CLAUDE.md も コンパクションで要約に巻き込まれて潰れる 。細かいルールほど消えやすい 推奨は 薄...
まとめ 誰も達成できていないグレードが存在する場合、それは個人の問題ではなく制度の失敗かもしれない 「何をすれば上のグレードになれるか分からない」は評価基準の透明性の欠如が原因の一つである 担当案件の重さが評価機会を左右する構造は、努力が報われにくい状況を生みやすい マネジメントが「聞くだけ」で終わると、制度への不信感が蓄積しやすい 「予防」の貢献は見えにくく、評価者...