Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
NEW
Programming

/

Web Development

DOMからピクセルまで、ブラウザレンダリングとCRP完全攻略 - [DOM完全攻略 Part 3]

この講義は、ブラウザがHTMLを受け取ってDOMを作成し、CSSOMと結合して画面にピクセルを描画するCritical Rendering Path(CRP)過程を最初から最後まで扱います。単純なDOM操作を超えて、CSSとJSが性能にどのような影響を与えるか、画像・フォント最適化、Lazy Loading、Intersection Observer、仮想リスト、そしてDevTools実習まで続き、実際のWeb性能を目に見えて改善できる実戦戦略を学ぶことができます。

11名 が受講中です。

  • nhcodingstudio
실습 중심
웹개발
프론트엔드
dom
이론 실습 모두
HTML/CSS
JavaScript
React
DOM
frontend

こんなことが学べます

  • ブラウザがDOMからピクセルまで画面を描画する全過程を理解することができます。

  • CSSとJSの読み込みがパフォーマンスに与える影響を理解し、最適化戦略を適用することができます。

  • CRP(Critical Rendering Path)を分析してコア性能指標を改善することができます。

  • DevToolsで実際のレンダリングボトルネックを追跡して解決することができます。

  • 数千個のデータをVirtual Listで高速レンダリングできます。

  • 画像・フォント・iframeをLazy Loadingで最適化できます。

  • Intersection Observerで露出検知、無限スクロールなどを実装することができます。

  • CRP、DOMContentLoadedのような面接頻出概念を自信を持って説明することができます。

  • SPAフレームワークにも適用可能な性能最適化原理を学ぶことができます。

  • ウェブパフォーマンスの問題を根本的に解決する能力を身につけることができます。

  • 実務でよく発生する遅いUI問題を原因から解決まで直接扱うことができます。

  • ブラウザレンダリング過程をコードで直接実装して原理を体得することができます。

  • will-change、GPU加速など最新のCSS最適化技法を実習することができます。

  • スクリプトローディング戦略(async、defer、preload)を状況別に選択できます。

  • パフォーマンス最適化ミッションを通じて学んだ内容を自分のものにすることができます。

DOMからピクセルまで、ブラウザレンダリングとCRP完全攻略

🚀 DOMからピクセルまで、ブラウザレンダリングのすべての瞬間を目で確認して最適化まで!
🖼
画面が突然揺れて(Layout Shift)
🎨
ボタン一つ変えただけでページ全体が再描画され(Paint)
アニメーションが滑らかでなくカクつく瞬間…

このような現象はなぜ発生するのでしょうか?
そして、ブラウザはどのような過程を経てHTMLとCSSを画面のピクセルに変換するのでしょうか?

この講義は、まさにその秘密、ブラウザレンダリングパイプライン(CRP、Critical Rendering Path)を基礎から実務最適化まで完全に解明します。

DOM、CSSOM、Render Tree、Layout、Paint、Compositeというレンダリングのすべての段階を直接コードで実装し、DevToolsでリアルタイム追跡しながら目で確認する過程の中で、ブラウザが画面を作る原理を体系的に身につけることができます。単純に「レンダリングがこのように起こる」という理論にとどまらず、実際に遅くなったページを分析・最適化する実務能力まで身につけられるよう設計されています。

特にPerformanceタブ、Paint Flashing、FPSモニタリングなどの視覚的診断ツールを活用してボトルネックを発見し、CLS(Layout Shift)、Recalculate Style、Composite Layersなどグーグルが重要視するパフォーマンス指標まで学習します。学習の最後には数千個のDOMを最適化するVirtual List実装を直接実習し、フレームワークなしでも大規模UIを効率的に扱う能力を身につけることができます。

この講義を終えると、ブラウザがDOMをどのように解釈し、どの瞬間にパフォーマンスが崩れるのか、そしてこれをどのように改善できるのか目で見て手で改善できる感覚が身につきます。React、Vueのようなフレームワークに進む前に、その基盤で動作するCRPを理解すれば、パフォーマンス最適化とデバッグはずっと簡単になります。

🎯 ウェブパフォーマンス最適化が漠然としているフロントエンド開発者

コードを減らしたのにページが遅い理由が気になるなら、ブラウザ内部の動作を段階別に追跡しながら答えを見つけることができます。

🧱 UIを実装したが「なぜ遅いのか」説明できないパブリッシャー/デザイナー

コードを減らしたのにページが遅い理由が気になるなら、ブラウザ内部の動作を段階別に追跡しながら答えを見つけることができます。

🧩 大規模DOMとリストを扱うプロジェクト経験者

Virtual Listの実装を通じて、数千個の要素もスムーズに扱う構造を直接設計し、最適化する感覚を身につけます。

💻 実務でCore Web Vitalsを改善する必要があるエンジニア

CLS、LCPなどのGoogleパフォーマンス指標と直接連携した最適化戦略を学習できます。

🔍 React/Vueに移る前にブラウザの基礎を固めたい学習者

Virtual DOMや最適化技法がなぜ必要なのか、その背景となるCRPの原理をまず理解することができます。

アニメーションが途切れてFPSが低下する原因を把握したい開発者

Performanceタブでフレーム単位まで分析し、GPUに優しいアニメーションを設計する方法を学びます。

📱 モバイル環境のパフォーマンス低下に悩む開発者

低スペックデバイスで発生するレイアウトシフト、スクロールのカクつき、入力遅延の問題をDevToolsと最適化技法で解決したい方に適しています。

🌐 検索露出とSEO性能まで一緒に考慮する企画者/開発者

Core Web Vitalsスコアが検索ランキングに与える影響を理解し、CLS/LCP/FID最適化を通じてユーザーエクスペリエンスと検索パフォーマンスを同時に強化することができます。

📌 この講義の特徴

  1. 100% ビジュアル学習
    ブラウザレンダリングパイプラインをコードとDevToolsで直接目で確認します。

  2. 理論と実習のバランスの取れた学習
    核心概念を明確に説明し、すぐに実習コードとDevTools分析で検証しながらバランス感を持って学習します。

  3. 実務型ミッション訓練
    CLS最適化、ダッシュボードレンダリング診断、ショッピングカート/決済ページ最適化など、現場の問題をそのまま再現したプロジェクトミッションを解決します。

  4. ウェブ核心性能指標完全攻略
    CLS、LCP、FCPなどのCore Web Vitalsを直接測定し改善する実習で、検索露出とUXの両方を強化できます。

  5. レンダリング性能分析能力の強化
    Paint Flashing、FPSモニタリング、Layers可視化などDevTools性能ツールを自由に扱えるようになります。

  6. パフォーマンス最適化戦略の習得
    不要なLayout/Paintの最小化、GPU合成の活用、Critical CSSの分離、async/defer読み込みまで体系的にトレーニングします。

  7. フレームワーク以前の必須知識
    React/Vueのようなライブラリのパフォーマンス最適化を理解するために必ず知っておくべきCRPの内部メカニズムを深く扱います。

  8. 実践的なUX改善体験
    安定したレイアウト、高速な初回レンダリング(LCP改善)、60fps アニメーション維持など、実際のUX指標改善を直接体験します。

  9. 実務に直結するプロジェクト感覚
    単純なコード練習を超えて、サービス運営環境で発生するパフォーマンスボトルネックを診断・解決できる実務感覚を身につけます。

🎯 このような内容を学びます

🧱 レンダリングパイプラインの直接実装

HTML・CSSDOM/CSSOM → Render Tree → Layout → Paint → Compositeへと続く過程をコードでシミュレーションします。

🔍 DevToolsでDOM & CSSOM分析

Elements / ComputedタブでDOM構造と最終スタイル、Box Model計算を目で確認します。

📈 PerformanceタブでCRP追跡

Recalculate Style → Layout → Paint → Compositeの実行フローとLayerize·Commitプロセスをタイムラインで確認します。

📐 Layout Shift & CLS最適化

予期しない画面の揺れを実験し、CLSスコアを測定・改善する方法を学びます。

🎨 Paint Flashing & Layers の可視化

繰り返しペイントされる要素を識別し、GPUレイヤー分離を3Dで分析します。

FPS・フレーム性能分析

FPSとフレームタイムを測定してアニメーションのボトルネック区間を見つけて最適化します。

🛠 実務型パフォーマンス最適化

予約・決済・ダッシュボードなどの事例でCLS改善、Lazy Loading, Virtual List, Infinite Scroll技法を実習します。

🚀 レンダリングブロック要素の改善

Critical CSSの抽出、JS async/defer、preload・preconnect・prefetchLCP/FCPを短縮します。

📂 ブラウザライフサイクルの活用

DOMContentLoaded, load, beforeunloadイベントのタイミングを理解し、UX保護・セッションログを最適化します。

🧩 全体CRP最適化戦略総合

DOMからピクセルまでつながる全体のレンダリングフローを貫通し、パフォーマンス指標と最適化パターンを総合的にまとめます。

🧩 このような実務型ミッションを扱います

今回の[DOM 完全攻略 Part 3]講義では、単純なコードサンプルではなく、実際のサービス開発で直面する問題状況をそのまま持ってきた実務型ミッションを解決しながら学習します。


Mission #1 – タイトルスタイル修正ミッション
実習目標: デザイナーの案と異なるUI問題を追跡し修正する能力を身につけます。
内容要約: DevTools Elements/Stylesパネルを利用してタイトルの間違ったCSS属性を分析し、案と同じ結果が出るようにスタイルを修正します。

🎨 Mission #2 – プロモーション価格表リデザインミッション
実習目標: 散漫なレイアウト問題を分析し、UIを改善します。
内容要約: DevToolsで不要なスタイル競合を追跡した後、コードリファクタリングを通じて価格表セクションをすっきりと整理し、視覚的階層構造を改善します。

📏 Mission #3 – CLS最適化ミッション
実習目標: レイアウトシフト問題を数値で測定し、安定したUIを実装します。
内容要約: PerformanceタブでLayout Shiftイベントを追跡し、CLSスコアを計算した後、画像サイズ指定・フォント読み込み戦略などを適用して揺れのないページを完成させます。

📊 Mission #4 – ダッシュボードレンダリングボトルネック診断ミッション
実習目標: KPIカード・表・ミニチャートが多いダッシュボードの性能をチェックします。
内容要約: Paint FlashingとLayersタブを活用して頻繁な再レンダリング区間を見つけ出し、GPU合成(transform/opacity)ベースの最適化でフレーム安定性を確保します。

🧾 Mission #5 – 予約/領収書UX最適化ミッション
実習目標: 実際の予約および決済領収書シナリオを最適化します。
内容要約: 最適化前後をPerformanceタブで比較し、不要なRecalculate StyleとPaintを削減して予約/決済フローがスムーズに動作するよう改善します。

🛒 Mission #6 – ショッピングカート&決済ページのパフォーマンス改善ミッション
実習目標:Eコマースの核心フローで安定したパフォーマンスを維持します。
内容要約:ショッピングカートの商品追加・削除時にLayoutコストを最小化し、決済段階でリソースローディングを最適化してユーザーエクスペリエンスを途切れなく維持します。

Mission #7 – ブラウザライフサイクル管理ミッション
実習目標: ブラウザの初期化とセッションログを正しく制御します。
内容要約: DOMContentLoaded、load、beforeunloadなどのイベントタイミングを分析し、UXデータ保護とログの安定性を保証する構造を設計します。

🎯 Mission #8 – Critical CSS最適化ミッション
実習目標: 初期レンダリングをブロックするCSS問題を解決します。
内容要約: 核心的なAbove-the-Fold領域のみをCritical CSSとして残し、残りは遅延ローディング方式で分離してページローディング速度を大幅に改善します。

Mission #9 – JS async/defer 最適化ミッション
実習目標: レンダリングをブロックするスクリプトを最適化します。
内容要約: scriptタグの実行タイミングをasync、defer属性で調整し、ブロッキングなしでページが高速にレンダリングされるよう改善します。

🚀 Mission #10 – Preload & Prefetch戦略ミッション
実習目標: LCPを早め、初期体感速度を向上させます。
内容要約: preload、preconnect、prefetchを活用してコア画像・フォント・リソースを先に読み込み、パフォーマンスを最大化します。

🎬 Mission #11 – メディアランディングページ最適化ミッション
実習目標: 大規模な画像・動画が多いページの初期パフォーマンスを改善します。
内容要約: Video遅延読み込み、画像Lazy Loadingを適用してLCP/FCPを短縮し、体感パフォーマンスを向上させます。

📱 Mission #12 – 新商品フィード性能最適化ミッション
実習目標: 大規模データフィードでも性能を維持します。
内容要約: Virtual ListとInfinite Scrollを実装し、メディア/スクリプトLazy Loadingを組み合わせて高速なUXを提供します。

受講前の注意事項

前提知識および注意事項

  • HTML/CSSの基本構造とJavaScriptの基礎文法をご存知でしたら、スムーズについてこられます。

  • 特にaddEventListener、if/else、forEach、オブジェクトアクセス方式程度は知っておいた方が良いです。

  • Mac/Windows環境の両方で受講可能で、別途インストールなしにウェブブラウザさえあれば実習できます。

  • 最新のChromeブラウザの使用を推奨します。

  • (選択) Part 1: [DOM 完全攻略 Part 1] – 構造探索と操作のすべて


  • (選択) Part 2: [DOM 完全攻略 Part 2] – イベントからSPAまで、インタラクティブWebの必須エンジン


こんな方に
おすすめです

学習対象は
誰でしょう?

  • 高速なWebサイトを作りたいフロントエンド初心者

  • 遅いページによるユーザー離脱を減らしたいスタートアップ開発者

  • ポートフォリオに「パフォーマンス最適化プロジェクト」を追加したい就職準備生

  • 画像、フォント、動画のせいで読み込み速度が遅くて悩んでいるデザイナー兼開発者

  • React、Vueのようなフレームワークでリストが多くて性能が落ちた経験のある開発者

  • 「async、defer」のような属性に混乱していたJavaScript学習者

  • 実際のサービスでCore Web Vitalsスコアを改善しなければならないWebパブリッシャー

  • 開発者ツールでパフォーマンス分析はやってみたものの、どこを修正すべきか途方に暮れていた方

  • SPAベースプロジェクトでスクロール、レンダリング最適化に関心のあるフロントエンドジュニア

  • 「なぜ私のWebは遅いのか?」という疑問を最後まで掘り下げたい情熱的な学習者

前提知識、
必要でしょうか?

  • HTML/CSSの基礎タグとDOM構造に関する基本理解

  • JavaScript基本文法

  • querySelector および DOM 要素の選択・操作経験

  • (選択) [DOM 完全攻略 Part 1] – 構造探索と操作のすべて

  • (選択) [DOM 完全攻略 Part 2] – イベントからSPAまで、インタラクティブWebの必須エンジン

こんにちは
です。

147

受講生

6

受講レビュー

4.3

講座評価

9

講座

안녕하세요, 우리동네코딩 스튜디오에 오신 것을 환영합니다!

우리동네코딩 스튜디오는 카네기 멜론, 워싱턴, 토론토, 워터루 등 북미의 주요 대학에서 컴퓨터공학을 전공하고, Google, Microsoft, Meta 등 글로벌 IT 기업에서 실무 경험을 쌓은 개발자들이 함께 만든 교육 그룹입니다.

처음에는 미국과 캐나다의 컴퓨터공학 전공자들끼리 함께 공부하며 성장하고자 만든 스터디 모임에서 시작되었습니다. 각기 다른 대학, 다른 시간대에 있었지만 함께 문제를 해결하고 서로에게 배운 그 시간은 매우 특별했고, 자연스럽게 이런 생각이 들었습니다.

“우리가 공부하던 이 방식, 그대로 다른 사람에게도 전하면 어떨까?”

그 물음이 바로 우리동네코딩 스튜디오의 출발점이었습니다.

현재는 약 30명의 현직 개발자와 컴퓨터공학 전공 대학생들이 각자의 전문 분야를 맡아, 입문부터 실전까지 아우르는 커리큘럼을 직접 설계하고 강의합니다. 단순한 지식 전달을 넘어, 진짜 개발자의 시선으로 배우고 함께 성장할 수 있는 환경을 제공합니다.

“진짜 개발자는, 진짜 개발자에게 배워야 합니다.”

저희는 웹 개발의 전 과정을 처음부터 끝까지 체계적으로 다루되, 이론에 머무르지 않고 실습과 실전 중심의 피드백을 통해 실력을 키워드립니다.
수강생 한 사람, 한 사람의 성장을 함께 고민하고 이끌어가는 것이 우리의 철학입니다.

🎯 우리의 철학은 분명합니다.
"진정한 배움은 실천에서 오고, 성장은 함께할 때 완성된다."

개발을 처음 시작하는 입문자부터, 실무 능력을 키우고 싶은 취업 준비생, 진로를 탐색 중인 청소년까지.
우리동네코딩 스튜디오는 모두의 출발점이자, 함께 걷는 든든한 동반자가 되고자 합니다.

이제, 혼자 고민하지 마세요.
우리동네코딩 스튜디오가 여러분의 성장을 함께하겠습니다.


Welcome to Neighborhood Coding Studio!

Neighborhood Coding Studio was founded by a team of developers who studied computer science at top North American universities such as Carnegie Mellon, the University of Washington, the University of Toronto, and the University of Waterloo, and went on to gain hands-on experience at global tech companies like Google, Microsoft, and Meta.

It all began as a study group formed by computer science students across the U.S. and Canada, created to grow together by sharing knowledge, solving problems, and learning from one another.
Though we were attending different schools in different time zones, the experience was so meaningful that it led us to one simple thought:

“What if we shared this way of learning with others?”

That thought became the foundation of Neighborhood Coding Studio.

Today, we are a team of around 30 active developers and computer science students, each taking responsibility for their area of expertise—designing and delivering a curriculum that spans from foundational knowledge to real-world development.
We’re not just here to teach—we’re here to help you see through the lens of real developers and grow together.

“To become a real developer, you must learn from real developers.”

Our courses take you through the entire web development journey—from start to finish—focused on hands-on practice, real-world projects, and practical feedback.
We care deeply about each learner’s growth and are committed to supporting your path every step of the way.

🎯 Our philosophy is simple but powerful:
"True learning comes from doing, and true growth happens together."

Whether you're just getting started, preparing for your first job, or exploring your future in tech,
Neighborhood Coding Studio is here to be your launchpad—and your trusted companion on the journey.

You don’t have to do it alone.
Let Neighborhood Coding Studio walk with you toward your future in development.

カリキュラム

全体

42件 ∙ (2時間 15分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

まだ十分な評価を受けていない講座です。
みんなの役に立つ受講レビューを書いてください!

期間限定セール

¥24,200

38%

¥4,716

nhcodingstudioの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!