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
ウェブサイトをもっと速く!
Search
Takayuki Miyauchi
April 15, 2018
Technology
7
620
ウェブサイトをもっと速く!
2018年4月に和歌山のITコミュニティWackerで発表した資料です。
Takayuki Miyauchi
April 15, 2018
Tweet
Share
More Decks by Takayuki Miyauchi
See All by Takayuki Miyauchi
Geolonia のデータ連携基盤とスマートシティ構想
miya0001
1
97
データ連携基盤としてのベクトルタイル
miya0001
1
200
不動産に関連しそうなデータもろもろ
miya0001
0
67
Geolonia Maps for SmartCity
miya0001
0
720
ベクトルタイルで見えてきたデジタル地図の未来
miya0001
0
270
不動産IDの仕組みと今後の課題
miya0001
0
300
オープンソースでつくるオープンソースっぽい地図の会社の挑戦
miya0001
0
260
ITエンジニアのための住所システムのお話
miya0001
0
160
TileCloudの裏側
miya0001
0
370
Other Decks in Technology
See All in Technology
Datadog APM におけるトレース収集の流れ及び Retention Filters のはなし / datadog-apm-trace-retention-filters
k6s4i53rx
0
330
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
350
RSNA2024振り返り
nanachi
0
570
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
0
230
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
670
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7k
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
720
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
2.9k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
205
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Navigating Team Friction
lara
183
15k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Designing for Performance
lara
604
68k
Practical Orchestrator
shlominoach
186
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
What's in a price? How to price your products and services
michaelherold
244
12k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
ΣϒαΠτΛ ͬͱ͘ʂ 8BDLFS ٶོߦ !NJZB
w גࣜձࣾλϩεΧΠ w Ұൠࣾஂ๏ਓ͡Ί·ͨ͠ʂ w 8PSE1SFTTͷਓɻ81$-*ίϛολʔͳͲͳͲɻ w དྷिຊ͞Μ͠·͢ɻ(PPHMF$MPVE 8PSE1SFTTͷղઆॻ Λߴڮจथ͞Μͱॻ͖·ͨ͠ʂ
ΞδΣϯμ
w ͍ͷਖ਼ٛ w ͍ͬͯͳʹʁ w ϒϥβ͕ϖʔδΛදࣔ͢Δ·ͰͷྲྀΕ w )551 w 3FTPVSDF)JOUT
w ΫϦςΟΧϧ$44 w 8PSE1SFTTͰͷߴԽ
͍ͷਖ਼ٛ
IUUQTXXXUIJOLXJUIHPPHMFDPNNBSLFUJOHSFTPVSDFTEBUBNFBTVSFNFOU NPCJMFQBHFTQFFEOFXJOEVTUSZCFODINBSLT
None
None
None
w ݸਓͷϒϩάʢIUUQTNJZBJPʣͰඵ͔Βඵʹॖ·ͬͨ݁Ռ17͕૿͑ͨʂ w ͜ΕʹऔΓΉաఔͷதͰ̓ͭ΄Ͳ8PSE1SFTTϓϥάΠϯΛ࡞Γͨ͠Γ৽نʹ࡞ͬͨΓ ͨ͠ɻ w ద༻ͨ͠΄΅ͯ͢ͷαΠτͰ্ͷΑ͏ʹ17͕૿Ճͨ͠ɻ
͍ͦͦͬͯԿʁ
ڑϥϯφʔͱͯ͠ͷ͞ͱ ڑϥϯφʔͱͯ͠ͷ͞ผ
ͨ͘͞ΜͷτϥϑΟοΫʹରͯ͠ ͘Ԡ͍ͤͨ͞ w /HJOY"QBDIFɺ.Z42-ͷνϡʔχϯά w εέʔϧΞτεέʔϧΞοϓ w αʔόʔαΠυΩϟογϡ w ΦϒδΣΫτΩϟογϡ
w ΞϓϦέʔγϣϯͷ࠷దԽ
ମײΛ͍ͨ͘͠ w $44+4ɺը૾ͷαΠζͷ࠷దԽ w )551 w 3FTPVSDF)JOU w ΫϥΠΞϯταΠυΩϟογϡ w
ඇಉظ w ଞʹࢁ΄Ͳʂ
ϒϥβ͕ϖʔδΛ දࣔ͢Δ·ͰͷྲྀΕ
໊લղܾ ଓ αʔόʔαΠυͷΞϓϦέʔγϣϯ͕ൃՐ ϒϥβ͕ίϯςϯπΛμϯϩʔυ ϨϯμϦϯά
্ͷͯ͢ͷϙΠϯτͰߴԽ͕Մೳ
IUUQTXXXIUNMSPDLTDPNKBUVUPSJBMTJOUFSOBMTIPXCSPXTFSTXPSL
UFMOFUͰ)551ͯ͠ΈΔͱ ۩ମతʹΠϝʔδ͍͔͢͠ $ telnet example.com 80 GET / HTTP/1.1 Host:
example.com
)551
)551 )551
w )551Ͱϒϥβ֤ϦιʔεΛ࠷େͰ̒ͭʢʁʣ ·Ͱ͔͠ಉ࣌ʹμϯϩʔυ͠ͳ͍ɻ w ͦͷͨΊʹੲ$44εϓϥΠτͱ͔υϝΠϯγϟʔσΟ ϯάͱ͔͍Ζ͍Ζؤுͬͨʂ w )551Ͱɺͻͱͭͷ5$1ଓͰ·ͱΊͯμϯϩʔ υͰ͖Δɻ
)5514FSWFS1VTI
w ͋ͱ͔Β༻͢Δ͜ͱ͕Θ͔ͬͯΔ$44+4ɺը૾ͳͲ Λϒϥβ͔ΒͷϦΫΤετΛͨͣʹ1VTIɻ
8PSE1SFTTϓϥάΠϯΛ࡞ͬͯΈͨ
w ϒϥβʹΩϟογϡ͕͋ͬͯ1VTIͯ͠͠·͏ͷͰɺͳΜ Ͱ͔ΜͰ1VTIͯ͠͠·͏ͷɺ͍·͍ͪͳ͜ͱ͕Θ͔ͬ ͨɻ8PSE1SFTTϓϥάΠϯͱͯ͠͏গ͠ݕ౼͕ඞཁɻ w ଚܟ͢Δ8PSE1SFTTͷίϛολʔͷҰਓɺ"BSPO+PSCJO͕ ৯͍͍ͭͯ͘Εͨͷ͕خ͔ͬͨ͠ɻʢҧ
3FTPVSDF)JOUT
w %/41SFGFUDI w 1SFDPOOFDU w 1SFGFUDI w 1SFSFOEFS IUUQTXDHJUIVCJPSFTPVSDFIJOUT
<link rel=“prerender" href="//example.com/next-page.html"> ͨͩ͠1SFSFOEFSϖʔδʹ͖͔ͭͭ͑͠ͳ͍ʜɻ 3FTPVSDF)JOUTɺMJOLͰຒΊࠐΉ͚ͩͳͷͰ ׂͱ؆୯ʹಋೖՄೳ
8PSE1SFTTͰ ҎԼͷΑ͏ͳײ͡Ͱ࣮Մೳ function makewp_example_resource_hints( $hints, $relation_type ) { if (
'dns-prefetch' === $relation_type ) { $hints[] = '//make.wordpress.org'; } else if ( 'prerender' === $relation_type ) { $hints[] = 'https://make.wordpress.org/great-again'; } return $hints; } add_filter( 'wp_resource_hints', 'makewp_example_resource_hints', 10, 2 );
ΫϦςΟΧϧ$44
<?php sleep( 10 ); // すげー重たいCSS header( 'Content-Type: text/css; charset=UTF-8'
); ?> h1 { color: #ff0000; } ͜ΕΛϒϥβͰಡΈࠐΜͩΒͲ͏ͳΔ͔ࢼͯ͠ΈΑ͏ʂ
ϑΝʔετϏϡʔͰදࣔ͞Εͯͳ͍ͱ͜Ζ͕͍ͬͺ͍͋Δɻ ϝσΟΞΫΤϦʔΛۦͯ͠ϑΝʔετϏϡʔͰ ෆཁͳ$44+4ʹΑΔϨϯμϦϯάϒϩοΫΛ͙ɻ
IUUQTEFWFMPQFSTHPPHMFDPNXFCGVOEBNFOUBMTQFSGPSNBODFDSJUJDBM SFOEFSJOHQBUISFOEFSCMPDLJOHDTT IMKB
8PSE1SFTTͷߴԽ
8PSE1SFTTॏ͍ʁ w 8PSE1SFTT͕ॏ͍ͱ͍͏ΑΓɺ؆୯ʹॏ͘Ͱ͖Δͱ͍ ͏ͷ͕ਖ਼͍͠ɻ
ॏ͘ͳΓ͕ͪͳϙΠϯτ
ϓϥάΠϯଟ͗͢ w ϓϥάΠϯͷઃఆ߲ϩʔυ࣌ʹͯ͢·ͱΊͯಡΈࠐ ·ΕΔɻϓϥάΠϯΛΞϯΠϯετʔϧͨ͠ޙͦΕΒ ΔͷͰຊ൪ڥͰϓϥάΠϯΛ͋Ε͜Εࢼ͚ͩ͢Ͱύ ϑΥʔϚϯεԼͷݪҼʹͳΓ͏Δɻ w γϣʔτίʔυͳͲͷϓϥάΠϯɺͦͷγϣʔτίʔυ Λ༻͍ͯ͠ͳ͍ϖʔδͰ$44ΛಡΈࠐΉɻͦͷγϣʔ τίʔυ΄ΜͱʹͬͯΔʁ
ΩϟογϡܥϓϥάΠϯΛ ৴༻͗͢͠ w ΩϟογϡܥϓϥάΠϯॏ͍αΠτΛͪΐͬͱϚγ ʹͯ͘͠ΕΔͬͯఔͷظͰɻ w ڞ༗αʔόʔͰٯޮՌʹͳΔ͜ͱ͕ଟ͍ɻʢԤถͷڞ༗ αʔόʔͰར༻ېࢭʹͳ͍ͬͯΔ͜ͱ͕΄ͱΜͲɻʣ w ͍͜ͳͨ͢Ίʹߴͳ͕ࣝඞཁɻ
ॏ͘ͳΔϓϥάΠϯͷύλʔϯ w ؔ࿈هࣄܥ w ϦϯΫνΣοΫͯ͘͠ΕΔܥ ͋ͱ+FU1BDLʜ
͘͢ΔͨΊͷϙΠϯτ
w 1)18PSE1SFTT1)1Ҏ্Λਪʂ w /HJOYγϯάϧϓϩηεɺΠϕϯτۦಈɺඇಉظʂ w ը૾ͷ࠷దԽKQFHPQUJN QOHRVBOUͳͲͳͲɻ w +4ɺ$44ͷ࠷దԽɻಡΈࠐΈλΠϛϯάͷมߋɻ ҎԼͷ߲͚ͩͰ͔ͳΓҧ͏ʂ
1)1ͷར༻͕͍ͷͰڞ༗αʔόʔͷਓ͍·͙͢ίϯτϩʔϧύωϧʂ
IUUQTNJZBJPPQUJNJ[FJNBHFTGPSXPSEQSFTTXJUIUIF KQFHPQUJN 8PSE1SFTTͰͷKQFHPQUJNʹΑΔ ը૾ͷ࠷దԽͷ࣮ྫ ίΞίϛολʔʹ ๙ΊΒΕͨʂ
8PSE1SFTTͰ$44ͷಡΈࠐΈλΠϛϯάΛมߋ͢Δ+4ͷྫ ͻͱͭͻͱͭಓʹؤுͬͨΒɺ ͔ͨ͠ʹτοϓϖʔδͰ.#Ҏ্ͷαΠζݮʹޭͨ͠ɻ ʢASFMTVCSFTPVSDFAͷ΄͏͕͍͍͔ʣ
ͦͷଞ w 8PSE1SFTTͷ৽ΤσΟλʔɺ(VUFOCFSH͕ಋೖ͞ΕΔͱαʔυ ύʔςΟͷϓϥάΠϯʹΑͬͯେྔͷ$44+4͕ϩʔυ͞ΕΔ Մೳੑ͕͋ΔɻϑϩϯτΤϯυʹؔ͢ΔεΩϧͷཁٻਫ४্͕ ͕ͬͯ͠·͏͔ɻ w 8PSE1SFTTͷK2VFSZͱKRVFSZNJHSBUFIFBEͰಡΈ ࠐ·ΕͯϨϯμϦϯάΛϒϩοΫ͢ΔͷͰཁҙɻ
5IBOLT ͓ࣄͷ૬ஊҎԼ·Ͱɻ IUUQTUBSPTLZDPKQ IUUQTMJDUKQ