Core Web Vitals — LCP / INP / CLS から原因を絞る
Core Web Vitals の 3 指標 (LCP・INP・CLS) の定義と閾値を押さえたうえで、計測結果の組み合わせから原因を絞り込む手順を解説します。INP がサーバー応答の遅さでは悪化しない理由、CLS が寸法未指定の遅延コンテンツで悪化する仕組みを扱います。
Core Web Vitals の 3 指標 (LCP・INP・CLS) の定義と閾値を押さえたうえで、計測結果の組み合わせから原因を絞り込む手順を解説します。INP がサーバー応答の遅さでは悪化しない理由、CLS が寸法未指定の遅延コンテンツで悪化する仕組みを扱います。
Cache-Control の各ディレクティブを「誰に効くか」「いつまで新鮮か」「期限切れ後どうするか」で整理し、リソースの性質からキャッシュ設計を導く手順を解説します。no-cache と no-store、max-age と s-maxage の違い、stale-while-revalidate と immutable の使いどころを扱います。
JavaScript が 1 本のスレッドで通信もタイマーも捌ける仕組みを、タスクとマイクロタスクの実行順から解説します。await の続きがいつ動くか、setTimeout(fn, 0) が「すぐ」ではない理由、長いタスクが描画と操作を止める仕組み、重い処理を逃がす 3 つの方向を扱います。
インデックスが検索を速くする仕組みと、その代わりに払う更新時のコストを解説します。複合インデックスのカラム順序、インデックスが効かない書き方、シャーディングやハッシングとの用語の区別を扱います。
インデックスが検索を速くする仕組み (B-Tree の直感) から、どのカラムに張るか (WHERE / JOIN / ORDER BY)、複合インデックスのカラム順序、部分インデックス、EXPLAIN の読み方、張りすぎの害、UUID 主キーとの相性までを、設計時の判断に絞ってジュニア向けに解説します。
O 記法の読み方を、定数倍と低次項を捨てるという考え方から解説します。代表的なオーダーの体感、時間計算量と空間計算量の区別、ループや再帰からオーダーを数える手順、最悪と平均の使い分けを扱います。