ホーム/ Web/フロントエンド

Web・フロントエンド

Web/フロントエンド

HTML・CSS・JavaScript から DOM・通信(API)・認証・レンダリング戦略まで。フロントエンドの「結局なに?」を、まず TL;DR で。

コレクション 01

フレームワーク(5)

項目ReactVue.jsAngularSvelteNext.js
種別UI ライブラリプログレッシブ・フレームワークフルスタック・フレームワークコンパイラ型 UI フレームワークReact メタフレームワーク
ベースJavaScript / JSXJavaScriptTypeScriptJavaScriptReact / JavaScript
登場2013年2014年2016年2016年2016年
一番の強みコンポーネント指向・宣言的学習が容易・ドキュメントが丁寧全部入りで一貫した作法記述量が少なく直感的SSR/SSG/ISR を標準サポート
主な用途SPA・大規模 UI中小規模 SPA大規模エンタープライズ SPA軽量・高速な UI本番 Web アプリ・SEO 重視

コレクション 02

Web サーバ(5)

項目Apache HTTP ServerIIS(Internet Information Services)Apache TomcatNginxCaddy
種別Web サーバWeb サーバ(Windows 標準)Java サーブレットコンテナWeb サーバ / リバースプロキシWeb サーバ(自動 HTTPS)
ベースCWindows / .NETJavaCGo
登場1995年1995年1999年2004年2015年
一番の強み長年の実績と豊富な情報Windows / .NET とシームレスに統合Java サーブレット/JSP の標準実装大量同時接続に強い(イベント駆動)HTTPS を自動取得・更新
主な用途汎用 Web サーバASP.NET アプリのホスティングJava Web アプリの実行静的配信・リバースプロキシ手軽に HTTPS 化

操作して学ぶ

ブラウザエンジンの系譜

1993年のMosaicから、KHTML→WebKit→Blinkの大分岐、消えたTrident・Presto・EdgeHTMLまで。 実線は実コードのフォーク・後継、 破線はエンジンの搭載や設計の影響。 ドラッグとズームで探検し、気になるエンジンをクリックすると解説が出ます。

派生・後継(コードを継ぐ)設計の影響(コードは継がない)終息した系統
黎明期Mozilla / Gecko系Microsoft(Trident/EdgeHTML)KHTML / WebKit / Blink系Opera(Presto)JavaScriptエンジン200020102020NCSA Mosaic1993Netscape Navigator1994Gecko1998(Netscape6=2000)Firefox2004Servo2012Trident (MSHTML)1997Internet Explorer1995EdgeHTML2015KHTML1998WebKit2003Safari2003Google Chrome2008Blink2013Edge (Chromium)2020Opera (Blink)2013Presto2003SpiderMonkey1996V82008JavaScriptCore2008Node.js2009

ノードをクリックすると、そのOSの解説と関連記事がここに表示されます。

操作して学ぶ

URLを入力してから画面が表示されるまで — 1秒の内訳をステップ実行

DNS・TCP・TLS 1.3・HTTP・レンダリングを11ステップで辿る。面接定番の決定版。

リファレンス

HTTPステータスコード大全 — 意味と使いどころを検索

401と403、502と504の違いは? 意味・使いどころ・よくある原因を検索&クラス絞り込みで。

操作して学ぶ

HTTPキャッシュ可視化 — 初回・ヒット・再検証・変更

max-age内のヒット、304での再検証、変更時の200を4シナリオで。ネットワークに出るか出ないかが分かる。

操作して学ぶ

イベントループ可視化 — なぜPromiseはsetTimeoutより先か

コールスタック・タスク・マイクロタスク・rAFを並べて仕様どおりの1反復をステップ再生。awaitの正体や飢餓も確認できる。

操作して学ぶ

HTTP/2多重化可視化 — HOLブロッキングとHPACKを実測

接続数1/2/6のHTTP/1.1とHTTP/2の完了時間を実計算で比較。HPACKによるヘッダ圧縮のバイト削減も確認できる。

解説記事

考え方・基礎

HTML・CSS・通信・認証など、フレームワークの下で動く Web の土台。まず TL;DR で。

3つの要点応用

async/awaitの脱糖とPromiseジョブキューの実行順序

awaitの後がいつ・どの順で再開するかを内部から理解でき、実行順のバグを根本から読み解けるようになる。async関数の脱糖とマイクロタスクの並び方を仕様レベルで解説します。

3つの要点応用

Back/Forward Cache(bfcache)の保存条件と復元

戻る・進むが一瞬で表示される理由が分かる。ページをまるごとメモリに凍結して即復元する仕組み、bfcache を阻害する unload や開いた接続、pageshow/pagehide の使い方を内部から正確に解きます。

3つの要点応用

BroadcastChannelとタブ間メッセージングの仕組み

ログイン状態やテーマを全タブへ一発で同期できる。BroadcastChannelの同報の仕組みと、postMessage/StorageEventとの違い、配送順序や対象範囲の保証を内部動作から正確に整理します。

3つの要点応用

Brotli/gzipによるコンテンツ符号化と転送圧縮の原理

テキスト資産を数分の一に縮めて転送を速くする仕組み。Accept-Encoding交渉、DEFLATEとBrotliの辞書・圧縮率・CPUの差、事前圧縮と動的圧縮の使い分けまで原理から理解できる。

3つの要点応用

Cache APIとService Workerキャッシュストレージの内部

オフライン対応で「更新が反映されない」「容量超過で消える」が腑に落ちる。Cache Storageのキー照合・vary・部分応答、HTTPキャッシュとの独立性、退避の条件を内部から正確に解きます。

3つの要点応用

Canvas 2DとWebGL/WebGPUのレンダリング経路の違い

図形を描くだけならCanvas 2D、大量の頂点やGPU計算が要るならWebGL/WebGPUと、迷わず選べるようになる。即時モード・状態機械・コマンドバッファという3つの描画モデルの原理から適材適所を解説します。

3つの要点応用

Content Security Policyの内部動作と回避耐性

XSSをコードではなくポリシーで抑え込む防御線。ディレクティブの評価順、nonce/hash/strict-dynamic の判定、そして実在するバイパス経路まで原理から押さえ、本当に効く CSP を書けるようになります。

3つの要点応用

content-visibilityとCSS Containmentのレンダリング省略

巨大ページの初期表示やスクロールを、JSなしのCSS1行で軽くできる。layout/paint/size/styleの封じ込めが再計算を局所化する原理と、content-visibility:autoの画面外スキップを解説します。

3つの要点基礎

Cookie とセッション

再訪してもログイン状態を保てる仕組み。Cookie の小さな印とサーバー側セッションの連携を理解し、HttpOnly / Secure / SameSite で安全に運用するまで。

3つの要点中級

Cookie・セッション・JWT(Web認証)

HTTP は毎回「初対面」。だからログイン状態を覚えさせる仕組みが要る。Cookie で情報を運び、サーバセッションか JWT で「誰か」を保持する。

3つの要点応用

Core Web Vitalsの計測アルゴリズム(LCP/CLS/INP)

なぜその数値になるのかを内部から説明できるようになる。LCP候補の確定、CLSの impact×distance、INPの遅延定義というブラウザ内部のアルゴリズムを正確に解説します。

3つの要点中級

CORS(オリジン間リソース共有)

別オリジンのデータを fetch すると出る、あの赤いエラーの正体。ブラウザの安全装置(同一オリジンポリシー)を、サーバー側のヘッダで“例外的に許可”する仕組み。

3つの要点応用

CORSプリフライトの判定アルゴリズムと単純リクエスト

なぜ GET は通るのに JSON の POST だけ OPTIONS が飛ぶのかが分かる。単純リクエストの厳密な条件、プリフライト発火の境界、Access-Control 系ヘッダの照合手続きとキャッシュ秒数の効き方を原理から解きます。

3つの要点応用

CSRFの成立条件と多層防御の原理

勝手に送金・設定変更されるCSRFの正体を、なぜブラウザが他サイト発のリクエストにCookieを付けて送るのかから解明。各防御の効きどころを見極め、堅い設計の判断軸が手に入ります。

3つの要点応用

CSS Houdiniとペイント/レイアウトワークレット

CSSの黒箱だった内部を開発者が拡張できる。Typed OMで文字列パースを捨て、@propertyで型付きカスタムプロパティを宣言し、Paint/Layoutワークレットでレンダリング段を直接書く仕組みを解説します。

3つの要点基礎

CSS(見た目のスタイリング)

色・余白・レイアウトを思い通りに整える言語。どの要素を(セレクタ)どう見せるか(プロパティ)を宣言して、Web ページの見た目を組み立てる。

3つの要点応用

CSSアンカー位置指定

ツールチップやポップオーバーの位置合わせをJSの座標計算なしに解決でき、画面端でのはみ出しもCSSだけで自動反転できます。

3つの要点応用

CSSカスケード・詳細度・継承の解決アルゴリズム

なぜそのスタイルが勝つかを毎回ブラウザと同じ手順で判定でき、!important合戦やレイヤ事故を当て推量せず解消できる。オリジン・レイヤ・詳細度・出現順の比較順を原理から解き明かします。

3つの要点応用

CSSセレクタのマッチングと右から左の評価

セレクタが重いと感じる前に、ブラウザがどこで時間を使うかを正しく見積もれる。右端から評価する理由、has のコスト、再計算を一部に閉じ込める無効化の仕組みを原理から解説します。

3つの要点応用

CSSレイアウトアルゴリズム(Flexbox/Gridの解決過程)

Flex/Gridが「なぜその幅になるか」を式で説明できるようになり、潰れ・はみ出しを当て推量せず直せる。包含ブロック・BFC・内在サイズの解決順序を原理から解き明かします。

3つの要点応用

CSS値の計算過程(specified→computed→used→actual)

emやパーセントが最終的に何pxになるかをブラウザと同じ4段階で追え、継承の食い違いやcalc()の予想外を当て推量せず説明できる。宣言値から実際値までの変換と基準の決まり方を原理から解き明かします。

3つの要点応用

DOM-based XSSのsink/source分類と緩和原理

クライアント側だけで起きるXSSを、データの流れから根絶できる。sourceからsinkへ抜ける経路を分類し、反射/格納型との違い、エスケープとTrusted Typesの効きどころを原理から押さえます。

3つの要点中級

DOM(ドキュメントオブジェクトモデル)

JavaScript からページを自在に操作できる入口。ブラウザが HTML をメモリ上に展開したツリー構造で、要素の取得・生成・書き換えはすべてここを通る。

3つの要点応用

DOMツリーの内部表現とノード操作のコスト

なぜそのDOM操作が遅いのかを内部構造から判断でき、再描画とリスト走査のムダを根本から削れる。ノードの連結リスト表現、live/static、挿入コスト、DocumentFragmentまで解説。

3つの要点応用

ESモジュールの解決・リンク・評価フェーズ

なぜ import した値が後から更新されても反映されるのか、循環依存でも壊れにくいのか。3フェーズに分けて追えば、ESモジュールの挙動が原理から腑に落ちます。

3つの要点応用

Fetch APIの内部(リクエスト/レスポンスとボディストリーム)

fetchが「2回読めない」「CORSで詰まる」理由が腑に落ちる。Request/Responseの不変設計、modeとcredentials、ボディの一度きり消費、AbortControllerの中断を内部動作から正確に解きます。

3つの要点中級

GraphQL

欲しいデータだけを一度の問い合わせで取得し、REST の過不足取得を解消する API クエリ言語。クライアントが形を指定できる一方、キャッシュや複雑さの注意点も。

3つの要点応用

History APIとSPAルーティングの内部(pushState/popstate)

戻る・進むが効くのに画面が白くならない仕組みが腑に落ちる。pushState の履歴操作、popstate の発火条件、スクロール復元、Navigation API までを内部から解きます。

3つの要点基礎

HTML(Webページの構造)

見出し・リンク・段落に意味づけして、Web ページの骨組みを作るマークアップ言語。タグで文書構造を組み立て、ブラウザや検索エンジンに中身を正しく伝える。

3つの要点応用

HTMLパーサの構築アルゴリズムと挿入モード

壊れたタグでもブラウザが必ず同じDOMを組む理由を仕様から理解でき、閉じ忘れの自動補正やdocument.writeの落とし穴を避けられる。トークナイズと挿入モード遷移を解説。

3つの要点中級

HTTP キャッシュ

一度取得した応答を再利用して、表示を速く通信を軽くする仕組み。Cache-Control / ETag、ブラウザと CDN の役割、更新時の無効化(キャッシュバスティング)まで整理。

3つの要点応用

HTTP/1.1・HTTP/2・HTTP/3のレイヤ構造比較図

同じHTTPでも下層が違えば詰まり方も違う。3バージョンの層構造を横並びにし、HOLブロッキングがどの層で起き、どこで消えるかを文章図解で一気に理解できる。

3つの要点応用

HTTP/2の多重化とHPACKヘッダ圧縮の原理

1本のTCP接続で多数のリクエストを同時に流し、ヘッダ重複も削れる。ストリーム多重化・フレーム・優先度・HPACK・残るHOLブロッキングまで原理から理解できる。

3つの要点応用

iframeサンドボックスと権限分離の境界

埋め込んだ第三者コンテンツを安全に閉じ込められる。sandbox属性が無効化する能力、allow-same-originが境界を壊す理由、Permissions Policyとの併用で隔離を設計する勘所を原理から押さえます。

3つの要点応用

IntersectionObserverとResizeObserverの非同期計測モデル

スクロール連動やサイズ追従を、強制同期レイアウトもカクつきも起こさず実装できるようになる。交差・サイズ変化をレイアウト後に非同期通知する仕組みと、ResizeObserverのループ抑止の原理を解説します。

3つの要点応用

Intlによる国際化フォーマットの内部(CLDRとロケール解決)

通貨や日付の表示が環境で変わる謎が原理から解ける。BCP47ロケール解決とCLDRデータ依存、表示折りたたみの仕組みを押さえ、env依存の表示バグを根絶します。

3つの要点基礎

JavaScript(ブラウザの動的処理)

ブラウザの中で動き、ページを“動的”にする言語。クリックや入力に反応し、DOM を書き換え、サーバーと通信する。Web を静止画から動くアプリに変える。

3つの要点応用

JavaScriptエンジンの内部(JITとインラインキャッシュ)

同じコードでも書き方しだいで数倍速くなる理由が腑に落ちる。V8のIgnition/TurboFan、隠しクラスとインラインキャッシュ、脱最適化の原理を内部動作から解説します。

3つの要点応用

JavaScriptの数値表現とIEEE754が生む落とし穴

0.1+0.2が0.3にならない理由が原理から腑に落ちる。全数値が倍精度であるNumberの帰結、安全整数の限界、ビット演算の32bit変換、BigIntが必要な場面まで一気に整理します。

3つの要点応用

MIMEスニッフィングとX-Content-Type-Optionsの防御

アップロード画像がスクリプトとして実行される事故を、ヘッダ一行で塞げる。ブラウザがContent-Typeを推測する条件と危険性、nosniffが止める判定までを原理から押さえます。

3つの要点応用

MutationObserverの変更記録モデルとマイクロタスク配送

DOMの変更監視を、コールバック地獄も再入バグも起こさず実装できるようになる。変更をレコードへ束ね、マイクロタスクでまとめて配る仕組みと、同期通知をあえて避けた設計理由を原理から解説します。

3つの要点応用

navigator.sendBeaconと離脱時の確実な送信

離脱時にビーコンが消える事故を防げる。sendBeaconがブラウザにキューを預けてページ破棄後も送り切る仕組み、fetch keepaliveとの違い、計測設計の勘所を内部動作から正確に解きます。

3つの要点応用

Origin Private File System (OPFS)

ブラウザ内でネイティブDB並みのI/Oが出せる理由が分かる。OPFSの隔離ツリー構造と同期アクセスハンドル、WASMアプリの永続化基盤としての設計を正確に整理します。

3つの要点応用

Origin Private File SystemとFile System Access APIの内部

ブラウザでネイティブ並みのファイルI/Oが扱える理由が分かる。OPFS の隔離ツリーと同期アクセスハンドルの高速書き込み、ユーザー可視 FS への権限モデルを内部動作から正確に整理します。

3つの要点応用

Permissions Policyによる機能ゲートの委譲モデル

カメラや位置情報などの強力機能を、オリジン単位で許可し iframe へ委譲する仕組みを原理から理解。allowlist の継承規則と allow 属性の連携、レポーティングまで押さえ、埋め込みコンテンツの権限事故を防げるようになります。

3つの要点応用

Popover API

z-indexの数値合戦もJSの開閉制御も手放せる。popover属性1つでトップレイヤー描画・ライトディスマス・フォーカス管理が標準搭載される仕組みを原理から解説します。

3つの要点応用

Proxyとリフレクションの内部メソッド(トラップとMOP)

Proxyがなぜオブジェクト操作を丸ごと横取りできるのかが腑に落ちる。内部メソッド・トラップ・Reflectの三者対応と、違反すると例外になる不変条件までを仕様レベルで読み解きます。

3つの要点中級

PWA とサービスワーカー

Web サイトをアプリのように使えるようにする PWA。心臓部の Service Worker がオフライン対応やプッシュ通知、通信のプロキシを担う仕組みを整理します。

3つの要点応用

Reportingとエラー収集の仕組み(report-to/CSPレポート)

本番のCSP違反やレンダラークラッシュを取りこぼさず自動回収する仕組み。Reporting API の配送モデルと report-to、window.onerror との役割分担を原理から押さえ、穴のない監視を組めます。

3つの要点応用

requestAnimationFrameとブラウザの描画リズム同期

アニメーションがカクつく理由と、滑らかに動かすコツがはっきり分かる。rAFが描画直前に走る仕組み・vsync同期・フレーム落ちに強い時間ベース設計を解説します。

3つの要点基礎

REST API と fetch(フロントとサーバーの通信)

フロントとサーバーがデータをやり取りする定番の作法。データを「リソース」と捉え、URL とHTTPメソッドで操作し、結果をJSONで受け取る。それをブラウザから呼ぶのが fetch。

3つの要点応用

SameSite Cookieとクロスサイト送信の制御モデル

CSRFの主因であるCookieの自動送信を、SameSite属性で原理から制御。Strict/Lax/Noneの送信判定とトップレベル例外、CHIPSまで押さえ、防御の効果と限界を正確に設計できます。

3つの要点基礎

SEO の基礎

検索で見つけてもらい上位表示を狙うための SEO の基礎。クロールとインデックス、タイトルや構造化データ、表示速度・モバイル対応まで、効く打ち手を整理します。

3つの要点応用

Server-Sent Eventsの仕組みとWebSocketとの設計上の違い

サーバー起点の通知が、特別なプロトコルなしに普通のHTTPだけで実装できる。EventSourceのストリーミング・自動再接続・Last-Event-IDの取りこぼし防止と、双方向WebSocketとの使い分けを原理から整理する。

3つの要点応用

Service Workerのライフサイクルとキャッシュ戦略の内部

デプロイしたのに古いまま、が起きる理由が分かる。install/activate/waiting の状態遷移、制御権、skipWaiting や clients.claim、ナビゲーションプリロードの動作原理を内部から解きます。

3つの要点応用

Shadow DOMのカプセル化とスロット合成

スタイル衝突もイベント漏れも起きない部品を、ブラウザと同じ理屈で設計できる。shadowツリーの境界、slotによる光と影のツリー合成、partや::slottedの貫通規則を原理から解き明かします。

3つの要点応用

SharedArrayBufferとAtomicsによる共有メモリ並行性

ワーカー間で本当のマルチスレッドを実現できる。共有メモリとAtomicsの不可分操作、メモリ順序、wait/notifyによる同期を原理から解説します。

3つの要点中級

SPA / SSR / SSG(レンダリング戦略)

HTMLを「どこで・いつ」組み立てるかの選択。ブラウザで作るか(SPA)、サーバーで毎回作るか(SSR)、ビルド時に作り置きするか(SSG)で、表示速度・SEO・鮮度のバランスが変わる。

3つの要点中級

SPA と MPA

どちらで作るか迷ったときの判断材料に。JS で差し替える SPA とサーバーが毎回返す MPA を比べ、体感速度・初期表示・SEO のトレードオフを整理します。

3つの要点応用

Streams API(バックプレッシャと内部キュー)

巨大データを少ないメモリで安全に流せる理由が腑に落ちる。内部キューと高水位線、バックプレッシャの伝播、リーダー/ライターのロックを原理から正確に解きます。

3つの要点応用

structuredCloneと転送可能オブジェクトの内部

Worker間でデータを速く安全に渡せるようになる。構造化複製が扱える型と循環参照の解決、Transferableによる所有権移動でのゼロコピー、postMessageとの関係を内部動作から正確に整理します。

3つの要点応用

Subresource Integrityとリソース改ざん検出

CDN が乗っ取られても改ざんスクリプトを実行させない最後の砦。integrity 属性のハッシュ照合手続き、crossorigin が必須になる理由、複数ハッシュとキャッシュの相互作用まで原理から押さえ、SRI を確実に効かせます。

3つの要点応用

Temporal APIと日時計算の正確なモデル

Dateのバグに振り回される日々から抜け出せる。可変・タイムゾーン非対応というDateの構造的欠陥と、不変オブジェクト・暦/タイムゾーン明示・PlainとZonedの分離で正しさを設計するTemporalの考え方を原理から整理します。

3つの要点応用

thisバインディングの決定規則(4つの束縛と優先順位)

this が何を指すか迷わなくなる。既定・暗黙・明示・new の4束縛とアロー関数のレキシカル参照を、呼び出し時にどう決まるか優先順位つきで内部から整理します。

3つの要点応用

Trusted TypesによるDOM-based XSSの構造的防止

サニタイズ漏れを「うっかり」ではなく「構造的に不可能」へ変えられる。危険なsinkへの文字列代入を型でブロックし、ポリシー一点へ監査を集約する仕組みと段階導入を原理から押さえます。

3つの要点応用

TypedArray・ArrayBuffer・DataViewのメモリレイアウト

バイナリで値が化ける謎を解消。生バイト列ArrayBufferにTypedArrayとDataViewがどう被さるか、エンディアン・アラインメント・detach・転送・SharedArrayBufferの違いまで原理から解説します。

3つの要点応用

V8のオブジェクト表現と隠しクラスの遷移図

同じ形のオブジェクトを使い回すコードが速い理由が腑に落ちる。V8の隠しクラスがプロパティ追加でどう枝分かれし、インラインキャッシュが単型から多型過多へ劣化するまでを遷移ツリーで読み解きます。

3つの要点応用

View Transitions API

画面切り替えの一瞬をJSアニメ実装なしで滑らかにできる。DOM前後の状態をスナップショットし擬似要素で自動補間する仕組みを、SPA/MPA両対応の内部動作から正確に解きます。

3つの要点応用

WeakMap・WeakRef・FinalizationRegistryと弱参照の意味論

キャッシュやメタデータの保持でメモリを漏らさない方法がわかる。弱参照がGCの到達可能性をどう変えるか、WeakMapがキーをリークさせない原理、ファイナライザの非決定性と落とし穴を内部動作から解説します。

3つの要点応用

Web Locks API

複数タブが同じIndexedDBやトークン更新を同時に触って壊す事故を防げる。ロック取得の待機規則とリーダー選出への応用を内部動作から整理します。

3つの要点応用

Web Workerのスレッドモデルとメッセージパッシング

重い処理でUIが固まる問題を、原理から解決できる。専用/共有/サービスの3種の分離、構造化複製によるメッセージ受け渡し、メモリ非共有を前提にした並行モデルを内部から正確に整理します。

3つの要点中級

Web コンポーネント

フレームワークに依存せず再利用できる UI 部品を作れる Web Components。Custom Elements と Shadow DOM によるカプセル化で、どこでも使える標準のカスタム要素を作る基礎を整理します。

3つの要点基礎

Web ストレージ(localStorage / sessionStorage)

ブラウザにデータを保存して再訪時に使える Web ストレージ。Cookie と違いサーバーへ自動送信されず容量も大きい利点と、機密情報を入れてはいけない注意点を整理します。

3つの要点中級

Web パフォーマンス(Core Web Vitals)

サイトの「速い・快適」を数値で測り改善するための Core Web Vitals(LCP / CLS / INP)。指標の意味と、画像最適化や遅延読み込みなど効く改善の勘所を整理します。

3つの要点応用

WebAssembly GCと参照型

線形メモリのコピー地獄から抜け出す仕組みがわかる。WasmGCが導入する構造体・配列型と参照型の原理、Kotlin/Dartなど言語コンパイラへの影響を解説します。

3つの要点応用

WebAssemblyの実行モデルとJSとの境界

なぜWasmは速いのに、JSと頻繁にやり取りすると遅くなるのか。スタックマシン・線形メモリ・型システムの原理から、JS境界の実コストとストリーミングコンパイルまでを解説します。

3つの要点応用

WebCodecs API

動画のエンコード・デコードをブラウザ内蔵コーデックへ直接アクセスして高速化できる。フレーム単位の制御でMediaStreamでは不可能だった低遅延処理と柔軟なトランスコードが実現する。

3つの要点応用

WebGPUの計算シェーダ

描画を経由せずGPUの並列計算をブラウザから直接引き出せる。WGSLとバインドグループでWebGLにはない汎用GPU計算の作法が身につきます。

3つの要点応用

WebRTCの接続確立(ICE/STUN/TURNとシグナリング)

ブラウザ同士をP2Pで直結し低遅延な音声・映像・データ通信を実現できる。ICE候補収集とSTUN/TURNによるNAT越え、SDPシグナリング、DTLS/SRTP暗号化の流れを原理から理解できる。

3つの要点中級

WebSocket

チャットや通知などリアルタイム機能を実現する WebSocket。1 本の接続を保ったままサーバーとブラウザが双方向に送り合える仕組みと、HTTP ポーリングとの違いを整理します。

3つの要点応用

WebSocketのフレーミングとハンドシェイク内部

WebSocketが「なぜ確実に双方向で通る」のか、ビット単位で腑に落ちる。Upgradeハンドシェイク・フレーム構造・マスク・制御フレーム・permessage-deflateまで原理から理解できる。

3つの要点応用

Web標準の策定プロセスと仕様の系統

どの団体がどの仕様を決めているかが一目で分かるように整理。WHATWG・W3C・TC39・IETF の役割分担と、HTML・CSS・ECMAScript・HTTP の系統を辿り、仕様を一次情報で読み解く足場が手に入ります。

3つの要点応用

アイランドアーキテクチャと部分ハイドレーション

ページ全体を巨大なSPAにせず、必要な部分だけJSを配ればいい。アイランド構成と部分ハイドレーションで初期JS量を削り、Resumabilityとの違いも原理から整理します。

3つの要点基礎

アクセシビリティ(a11y)

誰もが使える Web にするための実践。セマンティック HTML・ARIA・キーボード操作・コントラストの勘所を押さえ、障害や環境を問わず届くサイトに整える。

3つの要点応用

アンチエイリアスとサブピクセルレンダリング、devicePixelRatio

高解像度ディスプレイで画像がぼやける理由と1pxボーダーが消える理由を内部から説明できるようになる。論理/物理ピクセルの対応、DPRによるスケール、アンチエイリアスの仕組みを原理から解説します。

3つの要点応用

イベントターゲットとリスナ登録の内部モデル

addEventListener が「効かない」「二重に呼ばれる」「消せない」謎が解ける。リスナリストの管理規則と capture/once/passive/signal の内部効果、重複判定の仕様を正確に解説します。

3つの要点応用

イベントループの内部構造(タスクキューとマイクロタスク)

なぜ Promise はsetTimeoutより先に走るのか、その理由がはっきり分かる。タスク・マイクロタスク・レンダリングの順序を内部アルゴリズムのレベルで解き明かします。

3つの要点応用

イベントループ実行モデルの状態遷移図

なぜ「Promise が setTimeout より先」「アニメーションがカクつく」が起きるのか、1ティックの順序を追えば腑に落ちる。実行モデルを状態遷移として文章で図解します。

3つの要点応用

インポートマップとモジュール解決

裸の指定子をバンドラなしでブラウザに解決させ、依存の差し替えもCDN移行もHTML1行で完結。import mapの解決アルゴリズムとスコープの仕組みを原理から押さえます。

3つの要点応用

カスタム要素のライフサイクルとアップグレード

独自タグがいつ・どの順で初期化されるかを正確に押さえれば、属性の取りこぼしや未定義要素のちらつきを防げる。define・アップグレード・各コールバックの発火順序とフォーム関連APIを原理から整理します。

3つの要点応用

ガベージコレクションのブラウザ内動作(世代別GCとメモリリーク)

GCがあるのに増え続けるメモリの正体がわかる。V8の世代別GC・インクリメンタル/並行回収の仕組みと、デタッチDOMやクロージャ由来のリークの見つけ方を原理から解説します。

3つの要点応用

クリックジャッキングとフレーミング防御(frame-ancestors)

見えないiframeで本物のボタンを踏ませる罠を、なぜ重ね合わせが成立するのかから解明。X-Frame-Options と CSP frame-ancestors の効きどころを見極め、埋め込みを正しく拒否する設計が手に入ります。

3つの要点応用

クリティカルレンダリングパスの最適化原理

初回表示までに本当に必要なリソースだけを最短経路で届けられるようになる。CSSのレンダリングブロックとJSのパーサブロッキングを解く順序設計を、原理から組み立てます。

3つの要点応用

コンテナクエリ

同じカードコンポーネントが置き場所ごとに正しく折り返る。ビューポート依存だったレスポンシブを要素単位にし、真に再利用可能な部品を作る仕組みを原理から解説します。

3つの要点応用

コンテンツネゴシエーションとVaryによるキャッシュ分割

同じURLで言語や形式を出し分けても、キャッシュ汚染を防げる仕組み。Accept系ヘッダによる表現選択、Varyがキャッシュキーを分割する原理、Client Hintsへの移行と落とし穴まで原理から理解できる。

3つの要点応用

ジェネレータとイテレータプロトコルの内部動作

for-of やスプレッドが内部で何を呼んでいるかが分かると、独自オブジェクトを自在に反復させられる。yield の中断・再開とイテレータプロトコルの仕組みを内部動作から解説します。

3つの要点応用

シグナルと細粒度リアクティビティ

画面更新のたびにコンポーネントごと再計算する仕組みをやめると、差分検出の手間そのものが要らなくなる。依存関係を自動追跡するシグナルの内部動作を原理から解説します。

3つの要点応用

スクロールの内部処理(コンポジタスクロールとアンカリング)

スクロールが指に吸い付くように滑らかな理由と、preventDefault付きのリスナがそれを台無しにする仕組みが分かる。コンポジタスクロール・passive必須の根拠・スクロールアンカリングの補正を解説します。

3つの要点応用

スケジューリングAPI(scheduler.yieldとタスク優先度)

長い処理でも画面が固まらない書き方が分かる。scheduler.postTaskの3段優先度とyieldによるタスク分割を、メインスレッドとイベントループの原理から正確に解説します。

3つの要点応用

スコープチェーンとクロージャの内部表現(環境レコード)

クロージャが変数を覚えている理由を内部から説明できるようになる。レキシカル環境・環境レコード・外部参照のチェーン構造から、捕捉と保持の仕組みを原理で解説します。

3つの要点応用

スタッキングコンテキストとz-indexの合成順序

要素が前後する理由を毎回ブラウザと同じ手順で説明でき、z-indexが効かない事故を当て推量せず直せる。生成条件とペイント順序を原理から解き明かします。

3つの要点応用

テキストエンコーディングの内部(UTF-16のサロゲートとコードポイント)

絵文字の文字数がずれる謎が原理から解ける。JS文字列がUTF-16コード単位列である帰結、サロゲートペア、lengthとIntl.Segmenterの違いまで一気に整理し、文字数バグを根絶します。

3つの要点応用

パッシブ/アクティブイベントとスクロール性能の関係

スクロールがカクつく原因を断ち、指の動きに張り付く滑らかさを取り戻せる。passiveリスナがpreventDefaultを封じられる理由と、コンポジタスクロールを妨げない設計を内部から解説します。

3つの要点応用

パフォーマンス計測API(PerformanceObserverとTiming)

実利用者の体感をコードで正確に拾えるようになる。Navigation/Resource/Paint/Long Tasks/Elementの計測モデルとPerformanceObserverのバッファ・エントリ型・フィールド計測設計を解説。

3つの要点基礎

フォームとバリデーション

不正な入力をはじき、ユーザーには親切に直し方を伝えるための基礎。クライアントとサーバーで二重チェックする理由と、UX を損ねない勘所まで整理。

3つの要点応用

フォント読み込みとFOIT/FOUT(font-displayの内部)

なぜ文字が一瞬消えたり後から差し替わるのかを内部から説明でき、CLSを出さずにWebフォントを使い分けられるようになる。font-displayの3期間と状態機械、size-adjustによるフォールバック整合を原理から解説します。

3つの要点応用

ブラウザイベントの伝播モデル(キャプチャと委譲)

なぜ親要素1つのリスナで子の動きを全部拾えるのか、その原理がはっきり分かる。キャプチャ・ターゲット・バブリングの3フェーズと委譲・passiveの効きどころを内部から解説します。

3つの要点応用

ブラウザキャッシュの階層と判定アルゴリズム

なぜ更新が反映されないのかを根本から解決。メモリ/ディスク/HTTP/Service Worker の優先順、Cache-Control と ETag の再検証フロー、キャッシュキー分割まで内部動作を正確に整理します。

3つの要点応用

ブラウザストレージとIndexedDBのトランザクションモデル

なぜ書き込みが消えたり競合するのか、その理由がはっきり分かる。IndexedDB のトランザクション分離とオブジェクトストア、容量の退避ポリシー、永続化指定までを内部動作から正確に整理します。

3つの要点応用

ブラウザのピクセルパイプライン図解

なぜ transform は速く width は遅いのか、その境界が一段ずつ追える。DOM+CSSOM からレイアウト・ペイント・レイヤー・合成まで、各段の入出力と再実行範囲を文章で図解。

3つの要点応用

ブラウザのプリレンダリングと投機的ナビゲーション(Speculation Rules)

リンクを踏む前にページを丸ごと用意しておき、クリックの瞬間に即表示する。Speculation Rules による prerender/prefetch の指定、プリレンダ中のスクリプト制限とアクティベーション時の挙動を内部から正確に解きます。

3つの要点応用

ブラウザのマルチプロセス・サンドボックスアーキテクチャ

なぜタブが1つ落ちても巻き込まれず、悪意あるサイトに端末を乗っ取られにくいのかが分かる。Chrome のプロセス分離・Site Isolation・サンドボックス設計を原理から解説。

3つの要点応用

ブラウザのメモリ表現(文字列インターンとSmallInt最適化)

数値も文字列も同じ箱なのに速い理由が腑に落ちる。V8のSMIタグ付けとConsString・SlicedString、boxingの回避まで内部表現を整理し、メモリ効率の良いデータ構造選択を仕組みから判断できるようにします。

3つの要点応用

ブラウザのレイヤー化とGPUコンポジットの判断基準

アニメーションが60fpsで滑らかに動く理由と、will-changeを盛りすぎてかえって重くなる罠を回避できるようになる。合成レイヤーへの昇格条件・レイヤー爆発のコスト・transformが速い原理を解説します。

3つの要点中級

ブラウザのレンダリングの仕組み

なぜ表示が遅いのか、どこを直せば速くなるのかが見える。HTML と CSS が DOM・CSSOM →レンダーツリー→レイアウト→ペイント→合成を経て画面になるまでを図解。

3つの要点応用

ブラウザの自動メモリ管理とデタッチDOMリークの検出

長時間使うと重くなるSPAのメモリリークを自力で特定できるようになる。デタッチDOM・リスナ・タイマーが漏れる成立条件と、ヒープスナップショットでリテイナを追って直す手順を原理から解説します。

3つの要点応用

ブラウザの投機的パース処理とリソース優先度

なぜ script を head に置くと表示が止まり、画像に fetchpriority を付けると LCP が縮むのか。プリロードスキャナとリソース内部優先度の原理を、効かせ方まで詳説します。

3つの要点応用

プロトタイプチェーンの解決アルゴリズムと内部スロット

__proto__とprototypeの混同が消える。プロパティ探索が内部スロット[[Prototype]]のリンクをどう辿るか、Object.createや継承の内部動作をECMAScript仕様の原理から読み解きます。

3つの要点応用

リフローとリペイントを引き起こすCSSプロパティの分類

どのCSS変更が重いかを段ごとに即断でき、アニメーションのカクつきを根本から潰せるようになる。プロパティをレイアウト/ペイント/コンポジットに分類し、レイアウトスラッシングの原理と回避策まで解説します。

3つの要点中級

レスポンシブデザイン

スマホからPCまで、1つのHTML/CSSで多様な画面幅に最適表示。ビューポート設定とメディアクエリ、相対単位、Flex/Grid を土台に崩れないレイアウトを作る設計手法。

3つの要点応用

レンダリングパイプライン詳説(スタイル→レイアウト→ペイント→コンポジット)

なぜ transform は速く width は遅いのかを内部から説明できるようになる。スタイル計算からGPU合成までの各段と、リフロー回避の原理を詳説します。

3つの要点応用

レンダリングブロックとパース阻害(defer/async/moduleの差)

なぜ head の script で表示が止まり、defer と async で結果が変わるのか。取得と実行のタイミング、パーサ阻害の有無、実行順序保証の差を内部から整理し、置き場所の判断を確実にします。

3つの要点応用

画像のデコードとレンダリング(loading/decodingとIntrinsic Size)

画像でメインスレッドが固まる理由とCLSの原因を内部から理解し、decoding=async・loading=lazy・aspect-ratioを正しく使い分けられる。スレッド配分と発火境界、Intrinsic Sizeを原理から解説。

3つの要点応用

型強制と等価比較アルゴリズム(==の抽象比較手続き)

なぜ 0 と空文字は等しいのに 0 と 0 の文字列とで結果が変わるのか、その理由が仕様レベルでつかめる。ToPrimitive と緩い等価の手続きを順を追って解き明かします。

3つの要点応用

色空間とワイドガモット(CSS Color 4とディスプレイP3)

なぜP3対応画面でだけ色が鮮やかになるのかを原理から説明でき、oklchやcolor()でsRGBの外側まで安全に指定できるようになる。色域・色空間・知覚均等とHDR表示の扱いを内部動作から解き明かします。

3つの要点応用

正規表現エンジンの内部(バックトラッキングとReDoS)

なぜ短い入力でCPUが100%に張り付くのか、その正体がつかめる。バックトラッキングの探索木からReDoSの発生条件、安全に書き換えるパターンまで原理から押さえます。

3つの要点応用

同一オリジンポリシーとサイト分離の信頼境界

ブラウザが守る信頼境界を一段深く理解。オリジンとサイトの違い、COOP/COEP/CORP の役割、crossOriginIsolated の意味を整理し、Spectre 時代の防御設計を正確に組めるようになります。

3つの要点応用

包含ブロックと位置指定(position)の解決過程

absoluteが思わぬ親に吸着する、stickyが効かない、transformの中でfixedが固定されない——その全てを包含ブロックの決定規則から原理で説明し、当て推量なしに直せるようになります。