Skip to content

Commit 9b24196

Browse files
m92opetele
authored andcommitted
Fix typo ja critical-rendering-path (google#6507)
1 parent fa82834 commit 9b24196

File tree

8 files changed

+37
-38
lines changed

8 files changed

+37
-38
lines changed

src/content/ja/fundamentals/performance/critical-rendering-path/adding-interactivity-with-javascript.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ JavaScript はブラウザで実行される動的な言語であり、あらゆ
2929

3030
[サンプルを見る](https://googlesamples.github.io/web-fundamentals/fundamentals/performance/critical-rendering-path/script.html){: target="_blank" .external }
3131

32-
* JavaScript を使用すると DOM の内部にアクセスして非表示の span ノード(レンダーツリーに表示されなくても、DOM にあるノード)へのリファレンスを取得することができます。リファレンスを取得すると、テキストの変更(.textContent を利用)や、計算済みの表示スタイルのプロパティを「none」から「inline」にオーバーライドすることができます。サンプルページには「**Hello interactive students!**」と表示されます。
32+
* JavaScript を使用すると DOM の内部にアクセスして非表示の span ノード(レンダリング ツリーに表示されなくても、DOM にあるノード)へのリファレンスを取得することができます。リファレンスを取得すると、テキストの変更(.textContent を利用)や、計算済みの表示スタイルのプロパティを「none」から「inline」にオーバーライドすることができます。サンプルページには「**Hello interactive students!**」と表示されます。
3333

3434
* JavaScript では、DOM の要素の新規作成、スタイル設定、追加、削除を行うこともできます。技術的には、ページ全体を単一の大きな JavaScript ファイルにして、1 つずつ要素を作成してスタイル設定を行うことも可能です。ただし、実際には HTML や CSS と連携させる方がはるかに簡単です。この JavaScript 関数の後半では、新しい div 要素を作成し、テキスト コンテンツ、スタイルの設定を行って、body に追加しています。
3535

src/content/ja/fundamentals/performance/critical-rendering-path/analyzing-crp.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ description: クリティカル レンダリング パスにおけるパフォ
2424
* サーバーまでのネットワーク ラウンドトリップ(プロパゲーション レイテンシ)は 100 ms
2525
* サーバーの応答時間は、HTML ドキュメントの場合は 100 ms、その他のファイルの場合は 10 ms
2626

27-
## Hello World サンプル
27+
## Hello World サンプル
2828

2929
<pre class="prettyprint">
3030
{% includecode content_path="web/fundamentals/performance/critical-rendering-path/_code/basic_dom_nostyle.html" region_tag="full" adjust_indentation="auto" %}
@@ -49,7 +49,7 @@ HTML コンテンツが利用可能になると、ブラウザはバイトを解
4949
ただし、`load` イベント(`onload`)は、画像によってブロックされます。DevTools では、335 ms で `onload` イベントが記録されています。前に説明したとおり、`onload` イベントは、ページに必要な**すべてのリソース**がダウンロードされ、処理が完了した時点を表します。この段階で、ブラウザの読み込み中マークの回転が止まります(ウォーターフォール上の赤色の縦線に相当)。
5050

5151

52-
## JavaScript と CSS をサンプルに追加する
52+
## JavaScript と CSS をサンプルに追加する
5353

5454
「Hello World サンプル」ページは、一見するとシンプルに見えますが、内部ではさまざまな処理が実行されていました。また、現実的には HTML 以外の要素も必要になります。CSS スタイルシートと 1 つ以上のスクリプトを組み合わせて、インタラクティブなページにするケースも多くあります。この両者をサンプルに追加して、どうなるか見てみましょう。
5555

@@ -59,7 +59,7 @@ HTML コンテンツが利用可能になると、ブラウザはバイトを解
5959

6060
[サンプルを見る](https://googlesamples.github.io/web-fundamentals/fundamentals/performance/critical-rendering-path/measure_crp_timing.html){: target="_blank" .external }
6161

62-
_JavaScript と CSSを追加する前_
62+
_JavaScript と CSSを追加する前:_
6363

6464
<img src="images/waterfall-dom.png" alt="DOM の CRP" >
6565

@@ -116,13 +116,13 @@ _非同期(外部)JavaScript:_
116116

117117
<img src="images/waterfall-dom-css-inline-js-inline.png" alt="DOM、インライン CSS、インライン JS" >
118118

119-
`domContentLoaded` のタイミングは、前のサンプルとほぼ変わりません。今回は avaScript を非同期にする代わりに、CSS と JavaScript の両方を直接ページにインライン化しています。これにより、HTML ページのサイズはかなり大きくなっていますが、すべてがページ内にあるため、ブラウザで外部リソースの取得を待つ必要がないというメリットがあります。
119+
`domContentLoaded` のタイミングは、前のサンプルとほぼ変わりません。今回は JavaScript を非同期にする代わりに、CSS と JavaScript の両方を直接ページにインライン化しています。これにより、HTML ページのサイズはかなり大きくなっていますが、すべてがページ内にあるため、ブラウザで外部リソースの取得を待つ必要がないというメリットがあります。
120120

121121
以上のように、非常にシンプルなページでも、クリティカル レンダリング パスの最適化は簡単ではありません。さまざまなリソース間の依存関係図を把握し、どのリソースが「クリティカル」であるか特定し、そのようなリソースをページに組み込む方法をさまざまな戦略の中から選ぶ必要があります。ただし、ページごとに違いがあるため、対策は 1 つではありません。最適な戦略を特定するには、このようなプロセスを自身で実践する必要があります。
122122

123123
では、これらのことを踏まえて、一般的なパフォーマンス パターンを特定していきましょう。
124124

125-
## フォーマンス パターン
125+
## パフォーマンス パターン
126126

127127
最もシンプルなページは、CSS、JavaScript、その他のリソースを含まず、HTML マークアップだけで構成されているページです。このページをレンダリングするために、ブラウザはリクエストを開始し、HTML ドキュメントが届くのを待ち、それを解析し、DOM を構築して、ようやく画面上にレンダリングします。
128128

src/content/ja/fundamentals/performance/critical-rendering-path/constructing-the-object-model.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: ブラウザで DOM ツリーおよび CSSOM ツリーを構築す
55
{# wf_updated_on: 2014-09-11 #}
66
{# wf_published_on: 2014-03-31 #}
77

8-
# オブジェクト モデルの構築 {: .page-title }
8+
# オブジェクト モデルの構築 {: .page-title }
99

1010
{% include "web/_shared/contributors/ilyagrigorik.html" %}
1111

@@ -48,9 +48,9 @@ description: ブラウザで DOM ツリーおよび CSSOM ツリーを構築す
4848

4949
Chrome DevTools を開き、ページの読み込み時にタイムラインを記録すると、そのステップを実行するために実際にかかった時間を確認できます。上記のサンプルの場合、一連の HTML を DOM ツリーに変換するのに 5 ms 近くかかっています。さらに大きなページの場合は、このプロセスが大幅に長くなる可能性があります。スムーズなアニメーションを作成するとき、ブラウザが大量の HTML を処理しなければならない場合に、この仕組みによって容易にボトルネックが生じるおそれがあります。
5050

51-
DOM ツリーは、ドキュメント マークアップのプロパティおよび関係性をキャプチャしていますが、各要素がレンダリング時にどのように表示されるのかは示していません。こは CSSOM の範疇です。
51+
DOM ツリーは、ドキュメント マークアップのプロパティおよび関係性をキャプチャしていますが、各要素がレンダリング時にどのように表示されるのかは示していません。それは CSSOM の範疇です。
5252

53-
## CSS オブジェクト モデル(CSSOM)
53+
## CSS オブジェクト モデル(CSSOM)
5454

5555
ブラウザで、このシンプルなページの DOM を構築している間に、ドキュメントの head セクションで link タグに遭遇しました。このタグは、外部の CSS スタイルシート style.css を参照しています。ブラウザは、ページのレンダリングにはこのリソースが必要であると想定して、このリソースに対するリクエストを即座にディスパッチします。これにより、次のコンテンツが返されます。
5656

@@ -74,11 +74,11 @@ CSSOM はなぜツリー構造をしているのでしょうか。ページ上
7474

7575
また、上記のツリーは、完全な CSSOM ツリーではなく、独自のスタイルシートでオーバーライドすると決めたスタイルだけが表示されています。各ブラウザには、「ユーザー エージェント スタイル」というデフォルトの一連のスタイルが用意されています。独自のスタイルを指定していない場合は、このスタイルで表示されます。スタイルを指定すると、このデフォルト([デフォルト IE スタイル](http://www.iecss.com/){: .external }など)が単純にオーバーライドされます。
7676

77-
CSS の処理時間を把握するには、DevTools でタイムラインを記録し、「Recalculate Style」イベントを探します。DOM 解析とは異なり、タイムラインには個別の「Parse CSS」エントリはありません。代わりに、この単一のイベントにおいて、解析、CSSOM ツリー構築、計算済みスタイルの再起計算がキャプチャされます
77+
CSS の処理時間を把握するには、DevTools でタイムラインを記録し、「Recalculate Style」イベントを探します。DOM 解析とは異なり、タイムラインには個別の「Parse CSS」エントリはありません。代わりに、この単一のイベントにおいて、解析、CSSOM ツリー構築、計算済みスタイルの再帰計算がキャプチャされます
7878

7979
<img src="images/cssom-timeline.png" alt="DevTools での CSSOM 構築のトレース">
8080

81-
この小さなスタイルシートは、処理に最大 0.6 ms かかり、ページ内の 8 つの要素に影響を与えています。ささいな影響とはいえ、ゼロではありません。ところで、この 8 個の要素はどこにあったのでしょう。CSSOM と DOM は独立したデータ構造です。そうです、ブラウザに重要なステップが隠されているのです。次に、DOM と CSSOM をリンクする[レンダリング ツリー](/web/fundamentals/performance/critical-rendering-path/render-tree-construction)について説明します。
81+
この小さなスタイルシートは、処理に最大 0.6 ms かかり、ページ内の 8 つの要素に影響を与えています。些細な影響とはいえ、ゼロではありません。ところで、この 8 個の要素はどこにあったのでしょう。CSSOM と DOM は独立したデータ構造です。そうです、ブラウザに重要なステップが隠されているのです。次に、DOM と CSSOM をリンクする[レンダリング ツリー](/web/fundamentals/performance/critical-rendering-path/render-tree-construction)について説明します。
8282

8383
<a href="render-tree-construction" class="gc-analytics-event"
8484
data-category="CRP" data-label="Next / Render-Tree Construction">

src/content/ja/fundamentals/performance/critical-rendering-path/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: クリティカル レンダリング パスの最適化は、現
55
{# wf_updated_on: 2015-10-05 #}
66
{# wf_published_on: 2014-03-31 #}
77

8-
# クリティカル レンダリング パス {: .page-title }
8+
# クリティカル レンダリング パス {: .page-title }
99

1010
{% include "web/_shared/contributors/ilyagrigorik.html" %}
1111

src/content/ja/fundamentals/performance/critical-rendering-path/measure-crp.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ description: クリティカル レンダリング パスの測定方法を説
2222

2323

2424

25-
## Lighthouse を使用したページの監査{: #lighthouse }
25+
## Lighthouse を使用したページの監査{: #lighthouse }
2626

2727
Lighthouse は、指定したページに対して一連のテストを実行し、ページの結果をレポートにまとめて表示するウェブアプリの監査ツールです。
2828
Lighthouse は Chrome 拡張機能または NPM モジュールとして実行できるため、Lighthouse を継続的インテグレーション システムと統合する場合に便利です。
@@ -41,7 +41,7 @@ Lighthouse を Chrome 拡張機能として実行すると、ページの CRP
4141

4242
[crc]: /web/tools/lighthouse/audits/critical-request-chains
4343

44-
## Navigation Timing API でコードを計測する {: #navigation-timing }
44+
## Navigation Timing API でコードを計測する {: #navigation-timing }
4545

4646
Navigation Timing API と、ページの読み込み時に発行されたその他のブラウザ イベントを組み合わせると、任意のページでの実際の CRP パフォーマンスを取得および記録できます。
4747

@@ -83,7 +83,7 @@ HTML 仕様では、イベントを発行するタイミング、満たすべき
8383

8484
以上です。これで、トラッキング対象の具体的なマイルストーンと、その測定値を出力するシンプルな関数がそろいました。これらのメトリックをページに出力する代わりに、コードを修正してアナリティクス サーバーに送信することもできます([Google アナリティクスではこれを自動で実行](https://support.google.com/analytics/answer/1205784))。これは、ページのパフォーマンスを正しく把握し、最適化作業によってメリットが生じそうなページを特定する方法として優れています。
8585

86-
## DevTools とは {: #devtools }
86+
## DevTools とは {: #devtools }
8787

8888
このようなドキュメントでは、Chrome DevTools の [Network] パネルを使用して、CRP のコンセプトを説明している場合がありますが、DevTools は現在、CRP の測定に最適というわけではありません。クリティカルなリソースを特定する仕組みが組み込まれていないためです。
8989
クリティカルなリソースを特定するには、[Lighthouse](#lighthouse) の監査を実行します。

0 commit comments

Comments
 (0)