n0dam1のブックマーク (3,967)

  • RailsでクライアントIPを安全に取得する話 - PLEX Product Team Blog

    はじめに クライアントIPの取得方法 Railsはクライアントと直接通信しているわけではない X-Forwarded-Forとは X-Forwarded-For は複数のIPが入る じゃあ X-Forwarded-For をそのまま読めばいいのか? 一度ブラウザを経由すると信頼できなくなる Railsのrequest.remote_ipは何をしているのか まとめ はじめに こんにちは。PLEXでPLEX JOBの開発を行っている田中です。 普段はRailsでの開発をメインに行っています。 認証や監査に関わる機能では、クライアントのIP アドレスを保存することがあります。 例えば、 監査ログ 不正アクセスの調査 ログイン履歴 などです。 実は、取得方法によっては利用者が自由に書き換えられるIP アドレスを保存してしまうことがあります。 今回、クライアントIP を保存する実装を調査する機会があ

    RailsでクライアントIPを安全に取得する話 - PLEX Product Team Blog
    n0dam1
    n0dam1 2026/07/17
  • AIによる工数削減を計測して見えた結果と考察 - ZOZO TECH BLOG

    はじめに こんにちは、データシステム部MA推薦ブロックの佐藤(@rayuron)です。私たちは、主にZOZOTOWNのメール配信のパーソナライズなど、マーケティングオートメーションに関するレコメンドシステムを開発・運用しています。 以前、テックブログで工数やAI活用による工数削減を計測する仕組みを、タスク管理ツールのGitHub Projectsで構築する方法をご紹介しました。前回の記事が計測の仕組みの作り方を扱ったのに対し、記事では仕組みを1年間運用して得られた結果とその考察、そして今後の展望をご紹介します。 目次 はじめに 目次 背景と課題 計測の仕組みと運用 計測の仕組み 運用の整備 結果と考察 AIによる工数削減とAI活用率の推移 作業内容別の効率 定性的な変化 体感と実測のギャップ 今後の展望 Spec: 仕様の明文化 Eval: 成果物の品質の評価 AIが自律的に動く状態の構

    AIによる工数削減を計測して見えた結果と考察 - ZOZO TECH BLOG
    n0dam1
    n0dam1 2026/07/16
  • X、全てのコードをオープンソース化 フォローしている人の表示を優先

    X、全てのコードをオープンソース化 フォローしている人の表示を優先
    n0dam1
    n0dam1 2026/07/16
  • Claude Code、とりあえずこれ読んどけばOKなまとめ(2026年版) - Qiita

    はじめに はじめまして、新卒エンジニアのfuyunokiです。 この度、新卒として入社した会社でClaudeを使えるようになったので、自分用に調べたことをまとめてみました。せっかくなので記事として公開します。同じように「会社でClaude Code使えるようになったけど何から手を付ければ…」となっている新卒・若手エンジニアの助けになれば嬉しいです。 正直、最初にドキュメントを眺めた時は機能が多すぎて「結局何を覚えればいいんだ…」となりました。なのでこの記事では、公式ドキュメントに書いてある内容だけでなく、現役エンジニアの方々のブログやAnthropic社内の事例なども漁って、実際の運用でどう使われているかまで含めてまとめています。 対象読者はタイトル通り「これからClaude Codeを触る人」です。逆に、もう使い倒してる人には目新しい情報はないかもしれません 1. まずはインストール 2

    Claude Code、とりあえずこれ読んどけばOKなまとめ(2026年版) - Qiita
    n0dam1
    n0dam1 2026/07/13
  • クリーンアーキテクチャを簡単に理解してみよう - NIFTY engineering

    アイキャッチ はじめに こんにちは! 2025年新卒で、もうすぐ2年目の先輩になるエンジニアのパクパクです みなさん、「クリーンアーキテクチャ(Clean Architecture)」という言葉を聞いたことはありますか? OJTの最後にメール開発チームに配属されて、私もこのアーキテクチャにこれから触れていくことになりました。 この記事では、クリーンアーキテクチャを初めて触った新人エンジニアの視点で、概念を理解しつつ、実際のディレクトリにどう落とし込むかを順番に整理してみます。 1. 全部一つのディレクトリにまとめちゃダメですか? クリーンアーキテクチャがなぜ必要なのか、おもちゃ作りにたとえて見てみます。 Before:ひとり工房 皆さんが「ひとりでおもちゃを作る工房」を運営していると想像してください。設計図を描いて、部品を作って、組み立てて、梱包して… 全部ひとりでやります。 最初はそれで

    クリーンアーキテクチャを簡単に理解してみよう - NIFTY engineering
    n0dam1
    n0dam1 2026/07/12
    あの同心円の図がクリーンアーキテクチャというわけではない定期
  • しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE

    Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

    しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
    n0dam1
    n0dam1 2026/07/12
  • Email Verification Protocol を理解しよう - r-weblife

    ritouです。 Email Verification Protocol Origin Trial Email Verification ProtocolのOrigin Trialが始まったようです。 https://developer.chrome.com/blog/email-verification-protocol-origin-trial 「なんか便利そうな仕組みやな〜」とのんびり眺めるのではなく、ID管理の基を用いて解像度を上げていきましょう。 まずは説明を読んでみます。サービスの新規登録時などに行われるメールアドレス確認は、一度受信したメールを確認しに行く必要があるため、離脱などの課題がありました。そして、その後に書かれているのがこちらです。 The Email Verification API is a proposal that allows the browser t

    Email Verification Protocol を理解しよう - r-weblife
    n0dam1
    n0dam1 2026/07/11
  • 「技術的負債に向き合うConference 2026」公式サイト

    2026/9/16(水) 17(木)オンライン開催! 『Taming Your Dragon』著者やt-wada(和田卓人)氏が基調講演で登壇。#技術的負債con_findy

    「技術的負債に向き合うConference 2026」公式サイト
    n0dam1
    n0dam1 2026/07/09
  • Bootstrap | mise-en-place

    Bootstrap ​mise bootstrap sets up a machine for the current config in one command: OS packages, git repos, dotfiles, mise shell activation, macOS defaults, macOS LaunchAgents, Linux systemd user services, the user's login shell, tools, and any final project-specific task. You can also add hooks that run at named points in the bootstrap sequence. Use bootstrap for things that are needed before a pr

    Bootstrap | mise-en-place
    n0dam1
    n0dam1 2026/07/09
  • Anthropic、Claude CodeでAIエージェントを活用するループ設計を紹介 | gihyo.jp

    Anthropic⁠⁠、Claude CodeでAIエージェントを活用するループ設計を紹介 AnthropicのClaude Codeチームは2026年6月30日、AIコーディングエージェントを使う際のループの考え方を紹介する記事「Getting started with loops」を公開した。この記事ではループを「エージェントが停止条件を満たすまで作業サイクルを繰り返すもの」と定義している。プロンプトを毎回入力する使い方だけでなく、終了条件や実行間隔を設計して作業を継続させるパターンを取り上げている。 Getting started with loops - Claude 記事では、ループの分類にあたって、何をきっかけに動くか、どの条件で止まるか、Claude Codeのどの基機能を使うか、どの種類の作業に向くかという観点を挙げている。すべての作業で複雑なループが必要になるわけではな

    Anthropic、Claude CodeでAIエージェントを活用するループ設計を紹介 | gihyo.jp
    n0dam1
    n0dam1 2026/07/09
  • 謝って済むことを頑張って予防しない - モヒカン技術ブログ

    あなたは「再発防止の呪い」に掛かっていないだろうか。 この記事のまとめ 再発防止策には必ずコストがかかる。タダの対策はない 仕事投資。再発防止策も、コストとメリットを天秤にかけて判断しよう 「再度起きたとき何をどれだけ失うか」で測る。謝って済むことを高いコストを払ってまで予防しないのは、立派な選択肢の一つ 「再発防止はやって当たり前」という空気を疑え 当たり前の話として、何をするにしても必ずコストがかかる。そのコストと防ごうとしている損失を天秤にかけて、割に合わないなら堂々と「やらない」を選べばいい。 事故やトラブルが起きたとき、振り返りをして再発防止策について考えるだろう。この流れ自体は健全だ。問題はその場で 「再発防止策を講じない」という選択肢が検討されない ことにある。 10年ほどソフトウェアエンジニアをやってきて、事件事故の振り返りの場に何度も立ち会った。そこでは次に同じことを起

    謝って済むことを頑張って予防しない - モヒカン技術ブログ
    n0dam1
    n0dam1 2026/07/08
  • ソフトウェアの見積もり - kawasima

    ソフトウェアの工数見積もりは40年以上にわたって研究されてきた古いテーマで、入門書も実践書も数多い。だが現場で広く流布する「常識」の多くは、一次資料まで遡ると実証根拠が確認できない。確率分布が書ける前提で精度を磨いてきた見積もり研究は、確率分布が原理的に書けない領域から来る大幅超過には対応していない。見積もりが大幅に外れる事例の多くは、見積もり研究が前提としてきた範囲の外側で起きている。

    ソフトウェアの見積もり - kawasima
    n0dam1
    n0dam1 2026/07/08
  • 1Passwordは、あなたのマスターパスワードを一度も受信していません - Qiita

    1Password のログイン時、マスターパスワードは 1Password のサーバに一度も送信されていません。 少し前まで、私はこれを知りませんでした。パスワードマネージャーなのだから、当然サーバがマスターパスワードを受け取るのだろうと思っていたのです。それで暗号化された金庫を開いていると。しかし違いました。 サーバ側は「あなたが正しいマスターパスワードを知っている」ことだけを確認します。パスワードそのものは受け取りません。金庫の中身も、金庫を開ける鍵も、サーバは知らない。それでもログインは通ります。 この設計を知ったとき、UX の滑らかさとセキュリティの強さが同居する理由がやっと腑に落ちました。この記事では、その中身を「2つの秘密の鍵」と「見せずに証明する認証」という2つの仕組みで解剖します。 使いやすさに違和感を持った瞬間 はじまりは 1Password の使いやすさへの違和感でした

    1Passwordは、あなたのマスターパスワードを一度も受信していません - Qiita
    n0dam1
    n0dam1 2026/07/07
  • 「VPC内通信もTLSにすべき?」と聞かれて ── そもそもAWS内で盗聴できるのか脅威モデルで確かめた話 - Qiita

    以下、なぜこの結論になるのかを順に書きます。 そもそもVPC内は盗聴できるのか 最初に確認したかったのは、「物理的に同じLANにぶら下がっていて、他人のパケットが流れてくる」という昔のオフィスLANのイメージが、VPCにも当てはまるのか、でした。当てはまりません。 AWSVPCは物理的な共有LANではなく、SDNの上に作られた仮想ネットワークです。この「オンプレのL2スイッチング(同じセグメントにフレームが流れ、隣の通信も物理的には見え得る)」と「VPCのSDN(パケットが宛先ごとに個別に転送される)」の違いが、今回の議論の出発点です。SDNとしての全体像はIvan Pepelnjak氏の "AWS Networking 101"(ipspace.net, 2020)が分かりやすく、盗聴の可否に直結する挙動は、AWSLogical Separation on AWS(ホワイトペーパー)

    n0dam1
    n0dam1 2026/07/06
  • AIで実装コストが低くなった今、エンジニアは上流に行くべきか?|いしい

    AI時代、実装だけやってるとこの先まずいですかね。上流側に寄るべきですか」。 特に新卒採用などをやっているとこの手の質問が多い。そしてどう回答するか、毎度悩ましい。そもそも質問者の言う「上流」とは、PRDや要件を書くことなのか、何を作るか決めることなのか、その結果に責任を持つことなのか、たいてい人も整理し切れていないからだ。 稿では、「上流」を三つの層に分け、層ごとに是非を判定していきたい。 上流への染み出しは実際にもう起きている是非を論じる前に、現に起きていることを並べておく。 スマートバンク社では、AIで1人あたりの実装速度が3倍になった結果、PMが業務上のボトルネックになったと述べられていた。 PRD作成や仕様策定といったPMの業務を、AI支援を得たエンジニアとデザイナーが巻き取るようになったという。PM個人の能力の問題ではなく、業務分担を前提にした組織設計が開発速度に耐えられ

    AIで実装コストが低くなった今、エンジニアは上流に行くべきか?|いしい
    n0dam1
    n0dam1 2026/07/04
  • パスワード入力のmaxlengthで長いパスワードで登録できたつもりになってた問題2026

    password_maxlength.md 2012年版 https://gist.github.com/mala/4129717 https://togetter.com/li/2716116 15文字に切り詰めてパスワードを入力せよという案内を元に、なぜかパスワードが平文で保存されているという主張をする人がいる。これは全く発生している事象と関連がなく、根拠がない。 パスワードを任意の長さに切り詰めることが出来るということは平文あるいは復号可能な形式で保存されているからという推測のようだが、そもそも常識的に考えて、元々長かったパスワードが登録されていたところに、サーバー側で15文字の短いパスワードに勝手に更新する必要性がどこにあるというのか。そのような仕様変更を何のために行うというのか。 ファクトチェック 以前は15桁に制限されていて最近仕様が変更されたのはSBIベネフィットシステムズで

    パスワード入力のmaxlengthで長いパスワードで登録できたつもりになってた問題2026
    n0dam1
    n0dam1 2026/07/04
  • tmuxでいいじゃんと思ってた僕がHerdr(fork)を常用しはじめた話 | 僕のYak Shavingは終わらない2

    Herdr(fork) で space を切り替えたり、pane menu からレイアウトを変えたりしているところ。 はじめに tmux は新卒のころから 10 年以上使っています。 なので、最初に Herdr を見た時も正直こう思っていました。 tmux でいいじゃん! ペインは割れるし、別ターミナルから attach できるし、SSH 越しでも使える。なんなら手癖も全部 tmux に寄っています。長く使ってきた道具なので、そう簡単には乗り換えません。 ただ、Claude Code、Codex、Copilot CLI みたいな AI Agent を複数常駐させるようになると、tmux だけで全部を見るのが少しつらくなってきました。 どのペインで何が動いているのか。どのワークスペースがどのブランチなのか。どの Agent が止まっていて、どれがまだ走っているのか。ここを毎回思い出すのがだる

    tmuxでいいじゃんと思ってた僕がHerdr(fork)を常用しはじめた話 | 僕のYak Shavingは終わらない2
    n0dam1
    n0dam1 2026/07/03
  • 認証認可を通して学ぶ、『わからない』のつぶし方 - ID沼入口 発表資料

    “ID沼入口” - 基セキュリティから始める、考え続けるためのID管理技術勉強会 で発表を行う資料です。 現在作成中のため、変更のある可能性があります。 https://openid.connpass.com/event/396041/

    認証認可を通して学ぶ、『わからない』のつぶし方 - ID沼入口 発表資料
    n0dam1
    n0dam1 2026/07/03
  • 「Herdr」を使い始めたら、もう他のターミナルには戻れなくなった

    tmuxとの違い tmuxやZellijは汎用的なマルチプレクサとしては非常に優秀ですが、「現在動いているプロセスがAIエージェントである」という概念を持っていません。そのため、エージェントがAPIキーの入力を待って止まっていたとしても、画面を切り替えて確認するまで気づくことができません。Herdrはエージェント特有の状態を自動で認識し、サイドバーで通知してくれます。 cmuxとの違い cmuxAIエージェントを管理するために作られ、内蔵ブラウザなどを持つ強力なツールですが、Mac専用の独立したデスクトップアプリケーションです。自分の好きなターミナル環境やシェル設定を捨てて、cmuxの世界に移行する必要があります。一方Herdrは、「あなたのターミナル環境を維持したまま、足りないレイヤー(状態認識と永続性)を追加する」というアプローチをとっています。 3. Herdrのコア機能 ① エー

    「Herdr」を使い始めたら、もう他のターミナルには戻れなくなった
    n0dam1
    n0dam1 2026/07/02
  • とほほの「生涯エンジニア」入門 - レバテックLAB

    「とほほのWWW入門」管理人 杜甫々(とほほ) ソフトウェアエンジニア。1965年生まれ。1988年、広島のソフトウェア会社に入社し、2025年10月に定年退職。1996年にWeb技術解説サイト「とほほのWWW入門」を開設。執筆・公開した記事は1000件以上。趣味べ歩きやセンベロ・スーパー銭湯めぐりなど。座右の銘は「一行入魂」と「ま、いっかぁ」。 とほほのWWW入門 1996年の開設以来、日のWeb黎明期から現在に至るまで、数え切れないほどの初心者プログラマーを救い、育ててきた技術解説サイト「とほほのWWW入門」。 その管理人である杜甫々(とほほ)さんは、1988年の新卒入社から一貫して同じソフトウェアハウスにエンジニアとして勤め上げ、2025年に定年退職を迎えました。 膨大な記事量を誇る「とほほのWWW入門」を運営する傍らで、会社員としてはどのような人生を歩んできたのか? 今回は、

    とほほの「生涯エンジニア」入門 - レバテックLAB
    n0dam1
    n0dam1 2026/07/01