Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20181017_spa_ssr.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ozaki25
October 17, 2018
Technology
0
39
20181017_spa_ssr.pdf
ozaki25
October 17, 2018
Tweet
Share
More Decks by ozaki25
See All by ozaki25
20210526_a11y.pdf
ozaki25
0
200
20210525_react_next.pdf
ozaki25
0
160
Webフロントエンドはなぜ複雑なのか
ozaki25
1
150
utility first css
ozaki25
0
110
20201225_how_to_learn_technology.pdf
ozaki25
0
170
20201124_blitz.pdf
ozaki25
0
110
20200727_liff_app.pdf
ozaki25
1
660
20200721_web_vitals.pdf
ozaki25
0
120
20200624_web_otp_api.pdf
ozaki25
1
150
Other Decks in Technology
See All in Technology
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
1
440
Tebiki Engineering Team Deck
tebiki
0
27k
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
1
780
"作る"から"使われる"へ:Backstage 活用の現在地
sbtechnight
0
220
Google系サービスで文字起こしから勝手にカレンダーを埋めるエージェントを作った話
risatube
0
200
Go標準パッケージのI/O処理をながめる
matumoto
0
240
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
1
230
楽しく学ぼう!ネットワーク入門
shotashiratori
1
490
TypeScript 7.0の現在地と備え方
uhyo
7
1.9k
今のWordPress の制作手法ってなにがあんねん?(改) / What’s the Deal with WordPress Development These Days?
tbshiki
0
520
詳解 強化学習 / In-depth Guide to Reinforcement Learning
prinlab
0
320
Agent ServerはWeb Serverではない。ADKで考えるAgentOps
akiratameto
0
120
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
150
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
770
Scaling GitHub
holman
464
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
53k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
180
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Exploring anti-patterns in Rails
aemeredith
2
290
The Curse of the Amulet
leimatthew05
1
10k
How to build a perfect <img>
jonoalderson
1
5.3k
We Have a Design System, Now What?
morganepeng
55
8k
Transcript
41"Ͱ443͢Δ
41"ͱԿͷུশͰ͠ΐ͏͔
41"ͱԿͷུশͰ͠ΐ͏͔ 㱺4JOHMF1BHF"QQMJDBUJPO
443ͱԿͷུশͰ͠ΐ͏͔
443ͱԿͷུশͰ͠ΐ͏͔ 㱺4FSWFS4JEF3FOEFSJOH
ͱ͍͏༁ͰࠓͷςʔϚ ʮ4JOHMF1BHF"QQMJDBUJPOͰ 4FSWFS4JEF3FOEFSJOH͢Δʯ Ͱ͢
ࠓͷΰʔϧ w ϑϩϯτΤϯυͷจ຺Ͱʮ443ʯͱݴΘΕͨ࣌ʹ ʮ͋͊͋Εͷ͜ͱͶʯͱࢥ͑ΔΑ͏ʹͳΔ w ͳͥ41"Ͱ443Λ͢Δͷ͔ཧ༝Λཧղ͢Δ
࣍ w ୈҰ෦ w 41"ʹ͍ͭͯ w ୈೋ෦ w 443ʹ͍ͭͯ
ୈҰ෦ɿ41"ʹ͍ͭͯ
41"ʹ͍ͭͯ 41"ͱ 41"ͱඇ41"ͷॲཧͷྲྀΕ ΫϥΠΞϯταΠυʹ͓͚ΔύϑΥʔϚϯεࢦඪ 41"·ͱΊ
41"ͱ
41"ͱ w 4JOHMF1BHF"QQMJDBUJPOͷུ w 8FCϖʔδ+BWB4DSJQUΛ͏ͱಈతͳ)5.-ͷॻ͖͕͑Ͱ ͖Δ w ϖʔδભҠؚΊ)5.-ͷߏஙΛશͯ+BWB4DSJQUͰߦ͏͜ͱͰ 69Λ্ͤ͞Δ
41"ͱඇ41"ͷॲཧͷྲྀΕ
ඇ41"ͷॲཧͷྲྀΕ w Έͳ͞ΜʹೃછΈਂ͍ํͷύλʔϯ w 4QSJOH#PPU 5IZNFMFBG K2VFSZ w
1MBZ'SBNFXPSL 4DBMB5FNQBMBUF K2VFSZ
ඇ41"ͷॲཧͷྲྀΕ
ඇ41"ͷॲཧͷྲྀΕ
ඇ41"ͷॲཧͷྲྀΕ
ඇ41"ͷॲཧͷྲྀΕ
ඇ41"ͷॲཧͷྲྀΕ
ඇ41"ͷॲཧͷྲྀΕ
ඇ41"ͷॲཧͷྲྀΕ w 5IZNFMFBG+41ͷΑ͏ͳςϯϓϨʔτΤϯδϯͰ)5.-Λߏங͠ +BWB4DSJQUͰಈతͳ)5.-ͷॻ͖͑Λ࣮ݱ͢Δύλʔϯ w ϖʔδભҠ࣌αʔόʹΞΫηε͠)5.-Λऔಘ͢Δ w ϖʔδͰ+BWB4DSJQUͰΠϯλϥΫςΟϒͳॲཧΛ࣮ݱ͢Δ
41"ͷॲཧͷྲྀΕ
41"ͷॲཧͷྲྀΕ
41"ͷॲཧͷྲྀΕ
41"ͷॲཧͷྲྀΕ
41"ͷॲཧͷྲྀΕ ※ϔЄό΄ݐ΅API䌏ͭͼ㳨᭔ᶋݶ๗᭗מΨᤈ͜
41"ͷॲཧͷྲྀΕ w αʔό͔ΒCPEZ͕ۭͬΆͷ)5.-Λऔಘ͠ )5.-ͷߏஙΛશͯ+BWB4DSJQUͰߦ͏ύλʔϯ w ϖʔδભҠ࣌ͷը໘ͷॻ͖͑+BWB4DSJQUͰߦ͏ w ϖʔδͷಈ࡞͚ͩͰͳ͘ϖʔδભҠؚΊͯΠϯλϥΫςΟϒ ͳಈ࡞Λ࣮ݱͰ͖Δ
ΫϥΠΞϯταΠυʹ͓͚ΔύϑΥʔϚϯ εࢦඪ
ϖʔδ͕දࣔ͞ΕΔ·Ͱͷஈ֊ https://havelog.ayumusato.com/develop/performance/e744-performance_metrics.html 'JSTU1BJOU Կ͔͕දࣔ͞Ε࢝Ίͨ࣌ 'JSTU$POUFOUGVM1BJOU ίϯςϯπ͕දࣔ͞Ε࢝Ίͨ࣌ 'JSTU.FBOJOHGVM1BJOU ҙຯͷ͋Δදࣔʹͳͬͨ࣌
5JNFUP*OUFSBDUJWF ૢ࡞͕Մೳʹͳͬͨ࣌
ύϑΥʔϚϯεࢦඪʹ͋ͯΊͯߟ͑Δ w ඇ41"ͷ߹ w )5.-Λฦ٫͞Εͨ࣌Ͱ '$1͕࢝·Γ'.1·Ͱୡ͢Δ w ͦͷޙ+BWB4DSJQUͷಡΈࠐΈ ͕ྃͨ͠λΠϛϯά͕55*
'JSTU.FBOJOHGVM1BJOU ҙຯͷ͋Δදࣔʹͳͬͨ࣌ 5JNFUP*OUFSBDUJWF ૢ࡞͕Մೳʹͳͬͨ࣌
ύϑΥʔϚϯεࢦඪʹ͋ͯΊͯߟ͑Δ w 41"ͷ߹ w )5.-+BWB4DSJQUͰߏங͢ ΔͷͰ'.1+4ͷ࣮ߦ͕ ྃͨ͠ޙʹͳͬͯ͠·͏ w '.1ͱ΄΅ಉ࣌ʹ55*Λܴ͑ Δ
'JSTU.FBOJOHGVM1BJOU ҙຯͷ͋Δදࣔʹͳͬͨ࣌ 5JNFUP*OUFSBDUJWF ૢ࡞͕Մೳʹͳͬͨ࣌
ύϑΥʔϚϯεࢦඪʹ͋ͯΊͯߟ͑Δ w 41"ͷ߹ w )5.-+BWB4DSJQUͰߏங͢ ΔͷͰ'.1+4ͷ࣮ߦ͕ ྃͨ͠ޙʹͳͬͯ͠·͏ w '.1ͱ΄΅ಉ࣌ʹ55*Λܴ͑ Δ
'JSTU.FBOJOHGVM1BJOU ҙຯͷ͋Δදࣔʹͳͬͨ࣌ 5JNFUP*OUFSBDUJWF ૢ࡞͕Մೳʹͳͬͨ࣌ શϖʔδͷॲཧΛؚΉͷͰ +4ϑΝΠϧͷαΠζ͕େ͖͘ͳΓ͕ͪ
ύϑΥʔϚϯεࢦඪʹ͋ͯΊͯߟ͑Δ w 41"ͷ߹ w )5.-+BWB4DSJQUͰߏங͢ ΔͷͰ'.1+4ͷ࣮ߦ͕ ྃͨ͠ޙʹͳͬͯ͠·͏ w '.1ͱ΄΅ಉ࣌ʹ55*Λܴ͑ Δ
'JSTU.FBOJOHGVM1BJOU ҙຯͷ͋Δදࣔʹͳͬͨ࣌ 5JNFUP*OUFSBDUJWF ૢ࡞͕Մೳʹͳͬͨ࣌ ͜ͷ௨৴͕͍ͱ'.1·Ͱͷ ͕ͪ࣌ؒ͘ͳͬͯ͠·͏
41"·ͱΊ
ඇ41"ͱ41"ͷಈ͖Λൺͯ w ϖʔδભҠΛΠϯλϥΫςΟϒʹ࣮ߦͰ͖Δͱ͍͏Ͱ41"ͷํ ͕ύϑΥʔϚϯε্ѹతʹ༏Ґ w ॳظϖʔδͷදࣔʹؔͯ͠'JSTU.FBOJOHGVM1BJOU·Ͱͷ͞ ͱ͍͏ҙຯͰඇ41"ͷํ͕༏Ґ w 㱺41"͍͚ͲॳظදࣔͷύϑΥʔϚϯε͕՝
ୈೋ෦ɿ443ʹ͍ͭͯ
443ʹ͍ͭͯ 443ͱ 443ͷΈ 443ͷॲཧͷྲྀΕ 443ͷϝϦοτɾσϝϦοτ
ؔ࿈ٕज़ 443·ͱΊ
443ͱ
443ͱ w 4FSWFS4JEF3FOEFSJOHͷུ w 41"ͷॳظදࣔͷύϑΥʔϚϯε্ςΫχοΫͷҰͭ w ॳظද͚ࣔͩαʔόαΠυͰϨϯμϦϯά͠ɺ ͦͷޙΫϥΠΞϯταΠυͰϨϯμϦϯά͢Δͱ͍͏ͷ 㱺41"ͱඇ41"ͷ͍͍ͱ͜ͲΓʂ
443ͷΈ
443ͷΈ w 41"ͷॲཧ w )5.-+BWB4DSJQUʹΑͬͯߏ ங͞Ε͍ͯΔ
443ͷΈ w 41"ͷॲཧ w )5.-+BWB4DSJQUʹΑͬͯߏ ங͞Ε͍ͯΔ 㱺+BWB4DSJQUαʔόαΠυͰ ಈ͘ /PEFKT
443ͷΈ w 41"ͷॲཧ w )5.-+BWB4DSJQUʹΑͬͯߏ ங͞Ε͍ͯΔ 㱺+BWB4DSJQUαʔόαΠυ Ͱಈ͘ /PEFKT
㱺αʔόαΠυͰ+4Λಈ͔͠ ͯ)5.-Λߏஙͯ͠͠·͑ʂ
443ͷॲཧͷྲྀΕ
443ͷॲཧͷྲྀΕ
443ͷॲཧͷྲྀΕ
443ͷॲཧͷྲྀΕ 'JSTU.FBOJOHGVM1BJOU ҙຯͷ͋Δදࣔʹͳͬͨ࣌
443ͷॲཧͷྲྀΕ
443ͷॲཧͷྲྀΕ 5JNFUP*OUFSBDUJWF ૢ࡞͕Մೳʹͳͬͨ࣌
443ͷϝϦοτɾσϝϦοτ
443ͷϝϦοτɾσϝϦοτ w ϝϦοτ w 'JSTU.FBOJOHGVM1BJOU·Ͱͷ࣌ؒΛॖͰ͖Δ w σϝϦοτ w ΞʔΩςΫνϟ͕ෳࡶԽ͠։ൃɾϝϯςͷෛՙ্͕͕Δ
ؔ࿈ٕज़
443࣮ݱͷͨΊͷϥΠϒϥϦ w 41"ϑϨʔϜϫʔΫ͝ͱʹϥΠϒϥϦ͕͋Δ w 3FBDU/FYUKT w 7VF/VYUKT w "OHVMBS"OHVMBS6OJWFSTBM
443͚ͩΕྑ͍༁͡Όͳ͍ w 443ύϑΥʔϚϯεվળͷखஈͷҰͭʹ͗͢ͳ͍ w ଞʹ৭Μͳٕज़ཁૉ͕͋ΔͷͰΩʔϫʔυΛฒ͓ͯ͘ w 4FSWJDF8PSLFS w -B[Z-PBEJOH w
$PEF4QMJUJOH w IUUQ
443·ͱΊ
443·ͱΊ w ΞʔΩςΫνϟ͕ෳࡶʹͳΔ͚ͲύϑΥʔϚϯεʹͩ͜ΘΔͨΊ ʹඞཁͳςΫχοΫ w ύϑΥʔϚϯε্ͷͨΊͷςΫχοΫͷҰͭʹա͗ͳ͍ͷͰଞ ͷςΫχοΫซ༻͍ͯ͘͠ͱΑΓྑ͍
%FNP
σϞ w ಉ͡ػೳͰ443͋Γͱͳ͠ͷ41"Λ༻ҙ w ॳظදࣔͷΛൺֱ͢Δ w ܭଌ-JHIUIPVTFΛ͏ https://developers.google.com/web/tools/lighthouse/?hl=ja
σϞ w -JHIUIPVTFͷܭଌ݁Ռ SSRͭ SSR͘Π 'JSTU.FBOJOHGVM1BJOU ͕վળ͍ͯ͠Δʂ
·ͱΊ w 41"ϖʔδભҠ͠ͳ͍ͷͰಈ࡞͕͍ w ͨͩ͠ॳظද͍ࣔ w 443Λ͏ͱॳظදࣔͷ͞ΛվળͰ͖Δ
ࠓͷΰʔϧͷ͓͞Β͍ w 443ͬͯԿ w 41"ͰॳظදࣔͷύϑΥʔϚϯεΛ্ͤ͞ΔςΫχοΫ w ͳͥ41"Ͱ443͢Δͷʁ w 41"ॳظදࣔͷύϑΥʔϚϯε͕՝͔ͩΒ
͋Γ͕ͱ͏͍͟͝·ͨ͠