Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2019-09 Chrome Developer Toolsの使い方/2019-09 How ...
Search
Cybozu
PRO
June 13, 2019
Technology
170k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2019-09 Chrome Developer Toolsの使い方/2019-09 How to use Chrome DevTools
Cybozu
PRO
June 13, 2019
More Decks by Cybozu
See All by Cybozu
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
94k
新卒1年目QAが リリース基準の"なぜ"をたどってみた
cybozuinsideout
PRO
1
940
kintone リサーチ副部/UXリサーチャー 業務紹介
cybozuinsideout
PRO
0
200
私たちが『JaSST協賛』から『外部コネクト』チームになった理由
cybozuinsideout
PRO
0
620
LLMでもいつものテスト技術〜意外と半分はこれまでのテストでした〜
cybozuinsideout
PRO
1
1.2k
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
1
1.8k
LLMアプリの品質保証
cybozuinsideout
PRO
1
900
技術広報チームに丸投げしない!「一緒につくる」スポンサー活動
cybozuinsideout
PRO
0
320
テクニカルライター (グループウェア) について
cybozuinsideout
PRO
0
320
Other Decks in Technology
See All in Technology
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
160
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
150
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
300
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
140
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
210
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
180
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
920
How to Design Configuration for Rails Applications
willnet
1
900
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
300
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
150
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
930
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
450
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
19k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Done Done
chrislema
187
17k
Site-Speed That Sticks
csswizardry
13
1.6k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Why Our Code Smells
bkeepers
PRO
340
58k
Transcript
開運研修 2019 Chrome Developer Toolsの使い⽅ 2019/6/13 フロントエンドエキスパートチーム 外松 俊尚
この講義について ▌【概要】 l Webの開発に関わっていくうえで無くてはならない「Chrome Developer Tools」についての講義です。 l 全体の使い⽅や今後の開発に役⽴つ機能を紹介します。 l 知っている/知ってないで⼤きく変わるので、知るにフォーカス
▌【ターゲット】 l ブラウザで動くものの開発に関わっていく⼈ l Developer ToolsはElementパネルくらいしか知らない⼈
⽬次 ▌Chrome Developer Toolsについて/全体像/各パネルについて ▌困った時は編 ▌UI/デザイン編 ▌Webアプリ開発編 ▌JavaScript編 ▌パフォーマンス編 ▌その他便利な機能編
Chrome Developer Toolsについて/全体像 /各パネルについて
Chrome Developer Tools ▌Google Chromeに組み込まれた開発者向けツール ▌Web開発を⾏う上で便利な機能がたくさん実装されている ▌使いこなすとDX(Developer Experience)が爆上げする
Developer Tools ▌もちろんSafariやFirefoxなどのブラウザにもDeveloper Toolsはある ▌各ブラウザによってできることが若⼲違う ▌ChromeのDeveloper Toolsが機能が豊富で⼈気 ▌例) l Firefox
l CSS Flexboxのレイアウトを調べられるFlexBox Inspector l Safari l html Canvasについて調べられるCanvas Debugging
Developer Toolsを使うタイミング(経験談) ▌JavaScriptのコードをちょっと試してみたい ▌⾃分が書いたJavaScriptコードのデバッグ ▌画⾯のデザインの調整/表⽰が崩れた時の調査 ▌いまどんなCSSが適⽤されているか調べる ▌Webアプリ開発中、いまどんなAPIが叩かれているのか調べる ▌パフォーマンスのボトルネックを探す etc…
ChromeのバージョンとCanary ▌開発者向けに毎⽇更新されるChrome Canaryを使えば最新の機 能を使える l https://www.google.com/intl/ja/chrome/canary/ Stable v75 Canary v77
Developer Toolsを起動してみる ▌Mac l Command + option + i or
F12 ▌Windows/Linux l Ctrl + Shift + i or F12 ▌右クリック→検証
パネル切り替え
まずはいくつかデモを⾒せます ▌DOMの操作やデザイン調整 ▌CSSの確認 ▌モバイルでのデザインチェック ▌JavaScriptを試す ▌ネットワークリクエストの調査 ▌パフォーマンスの計測
よく使うパネル ▌Elements l DOMツリーやCSSのスタイルについて知りたい時など主にUI/デ ザイン周り ▌Console l JavaScriptコードを試したり、Logを出⼒して情報を収集 ▌Sources l
JavaScriptコードのデバッグ ▌Network l APIやJSや画像ファイルなどのリクエストを知る
困った時は編
各機能が⾒つけられない ▌「Command Menu」 ▌Cmd/Ctrl+Shift+pでコマンドメニューを表⽰できる ▌以降のスライドで紹介する機能は⼀部デフォルトで表⽰されな いパネルがあるので、コマンドメニューを利⽤すると便利
なんかいろいろ編集しちゃって戻したい ▌リロードしてください ▌DevTools上の変更はリロードするとリセットされます
UI/デザイン編
いま適⽤されているCSSを調べたい ▌Elementsパネル > StylesやCommuted ▌⾒たいUIにフォーカスを当てると適⽤されているCSSがStylesに表⽰ される ▌適⽤されているスタイルを⼀覧で⾒たい場合はComputedを⾒る ▌値を変更すると画⾯に反映される
要素をホバーされている状態にしておきたい ▌Elementsパネル > Styles > :hover ▌適⽤したい状態にチェックを⼊れると、要素がその状態になる ▌hover時のスタイルや挙動を確認したい時に便利
モバイル・レスポンシブ対応のチェック ▌Elementsパネル左のDevice Modeボタン ▌モバイル時の表⽰やレスポンシブに画⾯サイズを切り替えれる
DOM要素の調整 ▌Elementsパネル > DOMツリー ▌表⽰されているDOM要素はドラッグ&ドロップで移動できる
Webアプリ開発編
いまどんなファイルがブラウザに読み込まれてるか知りたい ▌Sourcesパネル > Page ▌HTMLやCSS、JavaScript、画像ファイルなど読み込んでいる ファイルを確認できる
あのファイルを開きたい ▌Windows/Linux l Control + o ▌Mac l Command +
o ▌ブラウザに読み込まれているファイルにアクセスできる
いまどんなリクエストが送られているのか知りたい ▌Networkパネル ▌いまブラウザがリクエストを送信した内容が⼀覧で表⽰される ▌リクエストの種類やキーワードで絞り込みができる ▌どんなAPIが投げられているのか知りたい時によく使う
ネットワークリクエストと同等のコードを知りたい ▌ 「Copy as Fetch」 ▌ Networkパネル > リクエストを右クリック >
Copy > Copy as Fetch ▌ ネットワークリクエストと同等のfetch()のコードを⽣成 ▌ 例) l fetch("https://ssl.gstatic.com/gb/images/i1_1967ca6a.png", {"credentials":"omit","referrer":"https://www.google.co.jp/","referrerPolicy":"origin","body":null," method":"GET","mode":"cors"});
特定のリクエストがあった時のブレイクポイント ▌「 XHR/Fetch Breakpoints 」 ▌Sourcesパネル > XHR/Fetch Breakpoints >
「+」 ▌URLを指定して、そのURLへのリクエストを引き起こすコードに Breakpointsを張れる ▌例えば、誤ったリクエストを実⾏しているコードをすばやく⾒つける事 ができる
値を常に監視したい ▌「 Live Expressions」 ▌Consoleパネル > ⽬のアイコン ▌リアルタイムで指定した値を監視できる ▌スクロールやDOMの状態など画⾯操作中に動的に変わる値を リアルタイムで確認したい時に便利
CookieやLocal Storageにどんなデータが⼊っているか ▌Applicationパネル ▌Local StorageやCookieに値がちゃんと⼊っているか確認
デバッグするときにCookieやCacheを⼀括で消したい ▌「Clear Site Data」 ▌実⾏したページの以下データを⼀括で削除してくれる(個別指定もできる) l Cookies l WebSQL l
Service Workers l Cache Storage l IndexedDB l Local Storage l Application Cache
JavaScript編
ちょっとJavaScriptのコードを試したい ▌Console or Sources/Snippets ▌Consoleで複数⾏書く場合はShift + Enterで改⾏ ▌JavaScriptのコードを書くと実⾏結果が取得できる
console.logしたい ▌Logpoints ▌Sourcesパネル > ⾏番号 > 右クリック > Add logpoint
▌console.log()呼び出しでコードを乱雑にすることなく、 Devtoolsからconsole.logへの出⼒を仕込むことができる
JavaScriptコードのデバッグをしたい ▌Sourcesパネル > ⾏番号 > クリック ▌ステップ実⾏などでコードがどのように動くのか、変数の中⾝ などを確認できる ▌JavaScriptのコードはブラウザで実⾏しないと挙動がわからな いので開発中よく使う
特定の条件でだけbreakpointを貼りたい ▌Conditional Breakpoint ▌Sourcesパネル > ⾏番号 > 右クリック > Add
conditional breakpoint... ▌毎回⽌めるのは⾯倒で、特定の条件の時だけ⽌めたい場合など
JSによるDOMへの参照コードを知りたい ▌「Copy JS Path 」 ▌Elementsパネル > DOM要素を右クリック > Copy
> Copy JS Path ▌DOMノードへのJSによる参照を取得できる l Shadow DOMも対応 ▌例) l document.querySelector ('body > label:nth-child(2)') l document.querySelector('#demo1') .shadowRoot .querySelector('p:nth-child(2)')
ブラウザからJavaScriptやCSSを上書きしたい ▌「Local Overrides」 ▌Sourcesパネル > Overrides > Select folder for
overrides ▌Devtools上で変更したJSやCSSをファイルとして保存しておける l リロードしても変更が残る ▌ローカルにファイルを持っていない場合や変更した内容によるリ ロード後の挙動を確認したい場合などに便利
JavaScriptやCSSのカバレッジを知りたい ▌「 Code Coverage 」 ▌CSS/JSの使⽤されたコード/使⽤されてないコードが分かる ▌ページ読み込みや特定の操作を⾏った際のコードカバレッジが ⾒れる
パフォーマンス編
オフライン/低スペックな環境ではどんな⾵に動作するのか ▌オフラインでの動作を確認 l Networkパネル > Offlineにチェック ▌低スペック/遅い回線での動作を確認 l Performanceパネル >
Network/CPUドロップダウン l 低スペック l Slow 3G l 遅い回線 l 6x slowdown
とりあえずパフォーマンスを計測してみたい ▌Auditsパネル l LighthouseというWebアプリの品質を計測するツールを使っ て以下の項⽬をチェックできる l Performance l PWA l
Best practices l Accessibility l SEO
パフォーマンスのボトルネックを探したい ▌Performanceパネル > Start Profiling ▌⾚くなっている箇所は怪しい l ボトルネックになる原因を教えてくれるものも ▌どの項⽬に時間がかかっている? l
Loading l Scripting l Rendering l Painting
その他便利な機能編
スクリーンショットが撮りたい ▌「Screenshots」 ▌エリア選択 ▌特定の要素 ▌全画⾯
Devtoolsの拡張(ReactやRedux) ▌React Developer Tools ▌Redux DevTools ▌ReactやReduxといったライブラリに特化した機能をDevtoolsに 追加できるChrome拡張があるのでおすすめ ▌拡張機能をインストールするとパネルが追加される
さいごに
まずは⾊々試してみる ▌機能が豊富過ぎて難しそうに感じるけど、まずは⾊々試してみ るのがおすすめ ▌普段から使うのは数個なので、それは使っていると⾃然に覚え る ▌新しく知ったTipsは是⾮周りの⼈に教えてあげて
Tools for Web Developers ▌公式の開発者向けドキュメント ▌Tools for Web Developres >
Chrome DevTools ▌各種機能についての詳しい説明 ▌https://developers.google.com/web/tools/chrome-devtools/
Devtoolsの便利な機能をもっと知りたい What's New In DevTools /dev tips https://developers.google.com/web/updates/2019/ 01/devtools https://umaar.com/dev-tips/