アーカイブ

🔍
カテゴリ
難易度
2026 年 9 月

Pod は Running なのに、なぜ Service からの応答が来たり来なかったりするのか?

livenessProbe失敗はkubeletによるコンテナ再起動、readinessProbe失敗はEndpointSliceからの除外(トラフィック遮断のみ)という違いと、startupProbeがliveness誤爆を防ぐ仕組み、minReadySecondsとローリングアップデートの関係を解説。
Container🌿 基礎⏱ 約 7 分2026-09-15

フロントとバックエンドのログはバラバラに出るのに、なぜ1つのリクエストとして追跡できるのか?

分散トレーシングは1つのリクエストが複数サービスをまたぐ間の処理単位spanをtraceとしてつなげる仕組み。W3C Trace Contextのtraceparentヘッダーによるtrace-id/parent-id伝播の流れと、head-based/tail-basedサンプリングのトレードオフを解説。
Obs🌿 基礎⏱ 約 7 分2026-09-14

kubectl apply を叩いてから、Pod が起動するまでに何が起きているのか?

kubectl applyはkube-apiserver経由でetcdに望ましい状態を書き込むだけで、Pod作成はcontroller-manager、ノード選定はkube-scheduler、実際の起動はkubeletが担う。watchによるコントロールループの仕組みを解説。
Container🌳 応用⏱ 約 7 分2026-09-13

ConfigMap を書き換えたのに、なぜ Pod の環境変数は変わらないのか?

configMapKeyRefで注入した環境変数はPod起動時に一度だけ解決され更新は反映されず、ボリュームマウントも即座ではなくsubPathは対象外。SecretはBase64エンコードにすぎず既定では暗号化されないことも解説。
Container🌿 基礎⏱ 約 7 分2026-09-12

サーバーを1台足しただけなのに、なぜキャッシュのヒット率が丸ごと落ちるのか?

hash(key)%台数では台数が1つ変わるだけで大半のキーの担当が入れ替わるが、コンシステントハッシングはリング上でキーとサーバーを同じ空間に置き移動するキーを一部に抑える。仮想ノードによる偏りの解消と、Redis Clusterのハッシュスロット方式との違いを解説。
Arch🌿 基礎⏱ 約 7 分2026-09-11

一覧画面をちょっと表示しただけなのに、なぜ DB へのクエリが何十回も飛ぶのか?

関連レコードをループの中で参照すると1件ごとに別のSELECTが飛ぶN+1問題は、Active Recordの遅延ロード設計に起因する。includes/preload/eager_loadの挙動差、strict_loadingによる検知、GraphQLのDataLoaderバッチ化まで解説。
Perf🌿 基礎⏱ 約 7 分2026-09-10

UPDATE しただけなのに、なぜ Postgres のテーブルはどんどん太っていくのか?

PostgreSQLのUPDATE/DELETEは行を上書きせず新しい行バージョンを追加しxmaxで旧版を無効化するだけのMVCC設計。dead tupleはautovacuumが回収するが通常のVACUUMはOSにディスクを返さず、bloatや放置時のトランザクションID周回リスクも解説。
DB🌿 基礎⏱ 約 7 分2026-09-08

Rails のスレッドを増やしても速くならないのに、なぜ Go の goroutine は速くなるのか?

Ruby(MRI)のGVLはCPUバウンドな処理を1スレッドずつしか進めずI/O待ち中だけ解放される一方、GoのgoroutineはランタイムのM:Nスケジューラが少数のOSスレッドに多数を割り当てるためCPUバウンドでも複数コアを使い切れる違いを解説。
Lang🌿 基礎⏱ 約 8 分2026-09-07

GitHub Actions の jobs は、なぜ書いた順ではなく一斉に走り出すのか?

jobs は既定で並列実行され順序を決めるのは needs のみ。各 job は毎回使い捨ての VM で動くため前段の成果物は自動で引き継がれず、actions/cache の key/restore-keys の一致順序とブランチスコープの制約を解説。
Dev🌿 基礎⏱ 約 7 分2026-09-06

HTTP はステートレスなのに、なぜブラウザはログイン状態を覚えていられるのか?

HTTPはステートレスでサーバーは前回のリクエストを覚えていないが、Set-Cookie/Cookieヘッダーの往復がログイン状態を運ぶ。HttpOnly/Secure/SameSiteが既定でオフな理由と、RailsのCookieStoreがセッションデータ自体を暗号化してCookieに格納する仕組みを解説。
Network🌿 基礎⏱ 約 7 分2026-09-05

なぜ文字列結合で組み立てたSQLは壊れるのに、プレースホルダなら壊れないのか?

SQLインジェクションは文字列結合で入力中の引用符が構文の一部として解釈されて起きる。プレースホルダはPREPAREで構文木を確定しBINDで値を束縛するため入力が構造を変えられない仕組みと、識別子はバインド対象外な点を解説。
Security🌿 基礎⏱ 約 7 分2026-09-04

平均レイテンシが正常なのに、なぜ「たまに遅い」と言われるのか?

平均は分布の中心しか表さず、テールに隠れた遅いリクエストがファンアウト構成では大多数のユーザー体験になる。Little's Law で待ち行列が非線形に膨らむ理由と、p99 を使ったタイムアウト・SLO 設計を解説。
Perf🌿 基礎⏱ 約 7 分2026-09-03

HTTP/2 でストリームをまとめたのに、なぜ HTTP/3 は TCP を手放したのか?

HTTP/2 はアプリ層の HOL ブロッキングは解決したが、1 本の TCP に多重化する限りパケットロス時は無関係なストリームまで足止めされる。QUIC がストリームごとに独立した信頼性配送を実装し、コネクション ID で接続を IP・ポートから切り離した設計を解説。
Network🌳 応用⏱ 約 8 分2026-09-02

Rails は自動でエスケープしているのに、なぜ XSS はなくならないのか?

XSS は攻撃者の JS を被害者の権限でブラウザに実行させる攻撃で、防御の要は HTML 本文・属性・JS 文字列・URL という文脈ごとに異なる出力エスケープと、それが漏れた時の最後の壁となる CSP の script-src 許可リストだ。
Security🌿 基礎⏱ 約 7 分2026-09-01
2026 年 8 月

インデックスを貼ったのに、なぜ EXPLAIN は Seq Scan のままなのか?

プランナーはインデックスの有無ではなく候補プランごとの見積りコストで実行計画を選ぶ。ANALYZEが集める統計情報pg_statsから選択率を推定する仕組みと、統計が古いと見積りが実態とズレる理由を解説。
DB🌿 基礎⏱ 約 8 分2026-08-31

Ingress を apply したのに、なぜ何も起きないのか?

IngressはHost/パスの振り分けルールを宣言するAPIオブジェクトにすぎず、Ingress Controllerが別途動いていないと何も起きない。ServiceがL4止まりな理由、TLS終端後は平文になる挙動、後継Gateway APIへの移行方針を解説。
Container🌿 基礎⏱ 約 8 分2026-08-30

障害が起きたサービスに、なぜリトライを重ねるほどとどめを刺してしまうのか?

過負荷になった依存先へ大量のクライアントが同時にリトライするとリトライ嵐が起き、依存先の回復を妨げる。AWSのjitter付きバックオフとAzureのCircuit Breakerパターンを組み合わせて防ぐ設計を解説。
Arch🌿 基礎⏱ 約 7 分2026-08-29

Rails のフォームに、なぜ見えない authenticity_token が埋め込まれているのか?

CSRFはログイン済みブラウザが自動送信するクッキーを悪用し、別サイトから本人になりすましたリクエストを送らせる攻撃。CORSがレスポンスの読み取り制限にすぎず防げない理由と、RailsのauthenticityToken(synchronizer token pattern)・double submit cookie・SameSite属性の役割分担を解説。
Security🌿 基礎⏱ 約 8 分2026-08-28

「犬」と「猫」は近く、「犬」と「車」は遠いと、コンピュータはどうやって知るのか?

embeddingは文章の意味を固定長の数値ベクトルに変換したもので、コサイン類似度という角度の近さの計算で「意味の近さ」を数値化できる。大規模検索ではHNSWのような近似最近傍探索で候補を絞り込み、RAGの検索ステップの土台になっている仕組みを解説。
AI🌿 基礎⏱ 約 7 分2026-08-27

なぜ「単体テストを厚く、E2E を薄く」と言われるのか?

テストピラミッドは単体テストを多数・高速に、E2Eを少数・低速に配分する考え方。E2Eが遅くflakyになりやすく原因特定も難しい理由と、Google発の70/20/10という目安、崩れた「アイスクリームコーン」状態の危険性を解説。
Dev🌿 基礎⏱ 約 7 分2026-08-26

サーバーは正常に動いているのに、なぜ一部のリクエストだけ timeout になるのか?

TCP接続はSYNキューとAcceptキューの2段の待ち行列を経て確立し、backlogとnet.core.somaxconnで決まる上限を超えると多くの場合RSTも返さず黙って破棄される。CPU/メモリに余裕があっても一部だけtimeoutする現象の仕組みを解説。
Network🌿 基礎⏱ 約 8 分2026-08-25

パスワードのハッシュ、入れるたびに結果が違うのに、なぜログインは検証できるのか?

パスワードは暗号化ではなく一方向ハッシュ関数で保存し、ログイン時は復号せず再ハッシュして比較する。bcrypt/Argon2 が同じパスワードでも毎回違う結果を返しつつ検証できる、ソルトとコスト係数の仕組みを解説。
Security🌿 基礎⏱ 約 8 分2026-08-24

使っていない関数を import しただけなのに、なぜバンドルから消えるのか?

ES Modulesのimport/exportは静的な構文制約を持つためバンドラは実行せず依存グラフを組み立てられるが、CommonJSのrequire()は動的評価のため静的解析ができない。webpackのusedExports→sideEffects→minifyという3段階の仕組みと、sideEffectsの誤設定でアプリが壊れる罠を解説。
Frontend🌿 基礎⏱ 約 7 分2026-08-23

etcd は 1 台落ちても平気なのに、なぜ過半数を割ると書き込みが止まるのか?

Raftは書き込みが過半数(クォーラム)に複製されるまで確定させない。奇数台構成が推奨される理由と、過半数を割ったetcdが読み取りも書き込みも止める仕組みを解説。
Arch🌳 応用⏱ 約 8 分2026-08-22

同じ「アラート」なのに、なぜ叩き起こされる時とチケットで済む時があるのか?

SLIは良いイベント/全イベントの比率、SLOは意図的に100%未満で設定する目標、エラーバジェットはその残高。バーンレートとマルチウィンドウ・マルチバーンレートアラートが緊急招集とチケットを切り分ける仕組みを解説。
Obs🌿 基礎⏱ 約 7 分2026-08-21

`as HTMLInputElement` と書いたのに、なぜ実行時に `null` で落ちるのか?

TypeScriptの型注釈はコンパイル時に消去され、実行時には一切残らない。asが実行時チェックを伴わない申告にすぎない理由と、構造的型付けが名前ではなく形で互換性を判断する設計、外部境界の値を守れない限界を解説。
Lang🌿 基礎⏱ 約 7 分2026-08-20

ClusterIP に ping が通らないのに、なぜ curl は届くのか?

ClusterIPは実在しない仮想IPで、実体は各ノードのkube-proxyが書き込むiptablesのDNATルールにすぎない。EndpointSliceとreadiness probeの関係、TCPは通りICMP(ping)だけが失敗する理由を解説。
Container🌿 基礎⏱ 約 7 分2026-08-19

「1分100リクエストまで」のはずが、なぜ一瞬で200件通ってしまうのか?

固定ウィンドウカウンタはウィンドウ境界をまたぐと定義の最大2倍のリクエストを通してしまう。トークンバケット・リーキーバケット・スライディングウィンドウカウンタの違いと、分散環境でのレースコンディション対策を解説。
Arch🌿 基礎⏱ 約 8 分2026-08-18

HTTP/2 は接続を1本にまとめたのに、なぜ遅くなることがあるのか?

HTTP/1.1はアプリ層のHead-of-Line Blockingをブラウザが複数TCP接続で回避してきたが、HTTP/2はストリーム多重化で1本の接続に集約した。その代償として生まれたTCP層のHead-of-Line BlockingとHTTP/3による解決を解説。
Network🌿 基礎⏱ 約 7 分2026-08-17

ローカルでは一瞬なのに、CI の docker build はなぜ毎回フルビルドになるのか?

COPY/ADDはファイル内容のチェックサム、RUNはコマンド文字列でキャッシュを判定し、一度ミスすると以降の全レイヤーが連鎖的に無効化される。CIランナーは前回ビルドを保持しないため常にフルビルドになる理由とレジストリキャッシュでの対処を解説。
Container🌿 基礎⏱ 約 7 分2026-08-16

書き込み直後に読み取りレプリカへ問い合わせると、なぜ古いデータが返るのか?

DBはWALを先にディスクへ確定させてからデータファイルへ反映し、レプリケーションはこのWALを転送・再生している。ストリーミングレプリケーションは既定で非同期なためレプリケーションラグが生じ、read-your-writesが崩れる理由とsynchronous_commitでの対処を解説。
DB🌿 基礎⏱ 約 7 分2026-08-15

JWT はなぜ、改ざんには気づけるのに失効はできないのか?

JWTのSignatureはbase64urlエンコードにすぎず暗号化ではなく、Payloadは誰でも読める。algをトークン任せにする検証はアルゴリズム混同攻撃を許し、ステートレス検証ゆえにexpまで失効できない理由と短命化+refresh tokenでの対処を解説。
Security🌿 基礎⏱ 約 8 分2026-08-14

同じ API を叩いているのに、なぜ CORS エラーが出たり出なかったりするのか?

CORSはブラウザだけが強制する同一オリジンポリシーの例外許可であり、シンプルリクエストはサーバーで処理済みのままレスポンスだけが隠される。プリフライトのキャッシュとCredentials・ワイルドカードの非互換も解説。
Security🌿 基礎⏱ 約 7 分2026-08-13

「ロールバックして」が一瞬で終わる時と終わらない時があるのはなぜか?

Rolling Updateのロールバックは逆方向のロールアウトで進むのと同じだけ時間がかかるが、Blue-Greenは経路の切り戻し、Canaryは重みを0に戻すだけで済む。DBスキーマ変更はexpand/contractパターンが無いと戻せない理由も解説。
Infra🌿 基礎⏱ 約 8 分2026-08-12

在庫チェックしてから1つ引いただけなのに、なぜ在庫が負になるのか?

PostgreSQLのデフォルトRead Committedは文ごとに新しいスナップショットを取るだけで、読んでから書くまでの割り込みは防がない。Repeatable Readでも防げないwrite skewと、Serializableがリトライ前提になる理由を解説。
DB🌿 基礎⏱ 約 8 分2026-08-11

AWS コンソールでポチッと直しただけなのに、なぜ terraform plan が差分まみれになるのか?

Terraformは設定ファイルと実クラウドを直接比べず、stateという記録を介して動く。コンソールでの直接変更が起こすドリフトの検知の仕組みと、S3+DynamoDBからS3単体のuse_lockfileへ進化したステートロックの実装を解説。
Infra🌿 基礎⏱ 約 8 分2026-08-10

CSS は head に、JS は defer で読むべきなのはなぜか? ブラウザの描画パイプラインを覗く

HTMLパーサーはscriptタグでdefer/asyncが無い限り止まり、CSSOMはスタイルシート全体を読むまで完成しないためレンダーブロッキングになる。transform・opacityの変更だけがレイアウトとペイントを飛ばしコンポジットで完結する理由を解説。
Frontend🌿 基礎⏱ 約 7 分2026-08-09

「Google でログイン」を押した瞬間、裏で何がやり取りされているのか?

OAuth 2.0の認可コードフローはURLに乗る認可コードとTLS内でしか動かないアクセストークンを分離し、コード横取りをstateとredirect_uriの検証で防ぐ。PKCEとOpenID ConnectのID Tokenの役割も解説。
Security🌿 基礎⏱ 約 8 分2026-08-08

なぜ GC は世界を止めるのか?「ほとんどのオブジェクトは若くして死ぬ」に賭けた世代別 GC

GCがアプリを一時停止させるのは生死判定中の参照書き換えを防ぐためで、並行化しても区間自体はゼロにならない。世代別GCは「大半のオブジェクトは若くして死ぬ」という経験則に賭け、新しい世代だけを頻繁に軽く掃除する仕組みを解説。
Lang🌿 基礎⏱ 約 8 分2026-08-07

git のコミットとブランチ、実体は何なのか?rebase が「歴史を書き換える」とはどういうことか

gitのオブジェクトは内容から計算したハッシュで住所が決まる内容アドレス型ストレージで、commitはtreeへの参照。branchは41バイトのポインタにすぎず、rebaseは新しいコミットを作って参照を貼り替えているだけと解説。
Dev🌿 基礎⏱ 約 7 分2026-08-06

シングルスレッドの JavaScript は、なぜ非同期 I/O を同時に捌けるのか?

JSのコールスタックは1本で並行に見えるのはI/Oの実体がOSやスレッドプールで進むからだ。マイクロタスクとマクロタスクの優先順位、Node.jsのlibuvがネットワークI/Oとファイル/DNSを別々に処理する仕組みを解説。
Lang🌿 基礎⏱ 約 7 分2026-08-05

Pod を消しただけなのに、なぜ 502 が数件だけ出るのか?

Pod削除は「エンドポイント除去」と「SIGTERM送信」が同時並行で進む設計上の競合状態であり、伝播ラグの間に着弾したリクエストがデプロイ後の数件の502を生む。preStopフックによる時間稼ぎと、それでも防げないケースを解説。
Container🌳 応用⏱ 約 8 分2026-08-04

メトリクス・ログ・トレース、同じ障害を見るのになぜ3つ要るのか?

メトリクスは個々のリクエストを捨てて集計するから安く常時収集できるが「誰が遅いか」は分からない。ログはtrace-idで結びつけて初めてトレースという1本の経路につながる仕組みを解説。
Obs🌿 基礎⏱ 約 7 分2026-08-03

同じ注文が二回処理された。メッセージキューの「重複」はなぜ起こるのか?

SQSやRabbitMQは失うより重複させるat-least-once配信を採用しており、重複はブローカーがack有無しか見ていないために起きる仕様である。冪等性キーによる無害化と、FIFOキューでも消費側の冪等性が必要な理由を解説。
Arch🌿 基礎⏱ 約 8 分2026-08-02

キャッシュの有効期限が切れた瞬間、裏で何が起きているのか?

TTL は新鮮さとオリジン負荷のトレードオフであり、Vary によるキャッシュキー設計を誤ると誤配信が起きる。TTL失効直後の同時アクセスが招くキャッシュスタンピードを、stale-while-revalidateがどう防ぐかを解説。
Arch🌿 基礎⏱ 約 7 分2026-08-01
2026 年 7 月

HTTPS の鍵マークは、いったい何を保証しているのか?

TLS ハンドシェイクは証明書チェーンによる本人確認とECDHEによる使い捨て鍵の合意を行う。TLS 1.3で静的RSA鍵交換が廃止され前方秘匿性が標準になった理由を、1-RTTのメッセージフローとあわせて解説。
Network🌿 基礎⏱ 約 7 分2026-07-31

ブラウザに URL を打ってから、IP に辿り着くまで何が起きているのか?

名前解決はブラウザ・OS・再帰的リゾルバの3段キャッシュをまず確認し、無ければルート→TLD→権威DNSサーバーへの委任の連鎖をたどる。「DNSの浸透」の正体はTTLによる各リゾルバの個別キャッシュであることを解説。
Network🌿 基礎⏱ 約 7 分2026-07-30

コネクションプールが枯渇すると、なぜアプリ全体が固まるのか?

DB 接続の確立コストを省くのがコネクションプールだが、枯渇時はアプリ側プールが待ち行列とタイムアウト例外を起こすのに対し、DB サーバー自体の max_connections 超過は待たせず即座に接続拒否になる。検知にはプールのメトリクス監視が必要。
DB🌿 基礎⏱ 約 7 分2026-07-29

DB のインデックスはなぜ速いのか? B+Tree の中を覗く

B+Tree は 1 ノードに数百キーを詰めて木を横に広く浅く保つことで検索を O(log N) に抑える一方、インデックスが増えるほど書き込みのたびに複数の木を更新し、ページ分割が連鎖するコストを払うことになる。
DB🌿 基礎⏱ 約 7 分2026-07-28

ALB と NLB、同じ「ロードバランサー」なのに何が違うのか?

ALB は L7 で HTTP の中身を読んでルーティングし、NLB は L4 で TCP/UDP の接続だけを見て振り分ける。idle timeout・deregistration delay・cross-zone load balancing のデフォルト値の違いと使い分けの判断基準を解説。
Network🌿 基礎⏱ 約 8 分2026-07-27

AI エージェントに自律実行を任せるとき、権限・証跡・コストはどう設計するのか?

自律実行する LLM エージェントは OAuth スコープで権限を最小化し、破壊的操作の手前にガードレールと監査ログを置く必要がある。プロンプトキャッシュの料金倍率でコストを抑える設計も解説。
AI🌳 応用⏱ 約 8 分2026-07-26

「精度 94% の OCR」を製品機能にするとき、UI は何を設計すべきか?

OCR の「精度」はデータセット平均の指標であり、1 件ごとの信頼度を示す confidence score とは別物。confidence に基づくレビューキュー設計としきい値の考え方、マルチモーダル LLM への移行で変わる前提を解説。
AI🌿 基礎⏱ 約 7 分2026-07-25

freee はなぜ、経理の自動化を一気に AI エージェントまで進めなかったのか?

freee の経理自動化はルールベースの自動登録 → AI-OCR → LLM エージェント(freee-mcp)と裁量を段階的に広げてきた。裁量が広がるほど権限制御・監査ログの設計が必須になる理由を解説。
AI🌿 基礎⏱ 約 8 分2026-07-25

「トークン」「推論」「コンテキストウィンドウ」、LLM の中で結局何が起きているのか?

LLM は文章を BPE でトークン化し、次の 1 トークンの確率を逐次予測する自己回帰生成で文章を作る。Attention の計算量と KV キャッシュのメモリがコンテキストウィンドウに上限がある理由を解説。
AI🌿 基礎⏱ 約 7 分2026-07-25

コンテナはなぜ VM より「軽い」のか? 手放しているものは何か

VM はカーネルごとゲスト OS を積むがコンテナはホストカーネルを共有し名前空間と cgroup で区切るだけ。軽さの理由と、カーネル共有ゆえの隔離の弱さ、Mac の Docker Desktop が裏で VM を使う理由を解説。
Container🌿 基礎⏱ 約 7 分2026-07-25

Deployment の manifest、`replicas` の下に並ぶ設定は何をしているのか?

maxSurge/maxUnavailable のデフォルト 25% がロールアウト中の可用性とキャパシティを両側から縛り、readinessProbe と livenessProbe は失敗時の挙動が別物であることを、実際の YAML 断片で解説。
Container🌿 基礎⏱ 約 8 分2026-07-19

CDN・DNS・Workers・Pages…… Cloudflare は結局何をしているのか?

Cloudflare の土台は権威 DNS とリバースプロキシ。anycast による最寄り拠点への自動振り分け、Workers の V8 isolate モデル、Cloudflare Pages と GitHub Pages の構造的な違いを解説。
Network🌿 基礎⏱ 約 7 分2026-07-18

負荷試験で「もう限界」をどの数字で判断するのか?

スループットだけでは限界は分からない。リトルの法則で同時実行数・スループット・レイテンシがつながっており、p95/p99 が急上昇するノック点と USE メソッドでの飽和リソース特定を解説。
Perf🌿 基礎⏱ 約 7 分2026-07-18

CPU limit を超えると遅くなるだけなのに、メモリ limit だと Pod が落ちるのはなぜか?

CPU limit 超過は CFS スロットリングで待たされるだけだが、メモリ limit 超過は OOM Killer に強制終了される。requests/limits の役割の違いと QoS クラスによる eviction 優先順位を解説。
Container🌿 基礎⏱ 約 7 分2026-07-18

Pod・Deployment・Service、なぜ 3 つも要るのか?

Pod は使い捨ての最小実行単位、Deployment は ReplicaSet 経由で数と更新を管理し、Service は入れ替わる Pod 群を固定 IP の裏に隠す — 3 層に分かれているのは責務が違うからだ。
Container🌿 基礎⏱ 約 7 分2026-07-18
該当する記事がない。検索語を短くするか、フィルタを外してみて。