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
非機能要件を文化に _株式会社ニジボックス Yosuke Furukawa
Search
株式会社NIJIBOX
December 18, 2020
Programming
0
300
非機能要件を文化に _株式会社ニジボックス Yosuke Furukawa
リクルートグループ主催!『大規模メディアにおけるWeb開発の最前線』
https://business-and-creative.connpass.com/event/188628/
株式会社NIJIBOX
December 18, 2020
Tweet
Share
More Decks by 株式会社NIJIBOX
See All by 株式会社NIJIBOX
Tableau トレーニング【株式会社ニジボックス】
nbkouhou
0
23k
Adobe Analytics勉強会の種類とレベル分け【株式会社ニジボックス】
nbkouhou
0
14
Adobe Analytics入門講座【株式会社ニジボックス】
nbkouhou
0
23k
[Adobe Analytics]主な役割と必要な知識【株式会社ニジボックス】
nbkouhou
0
27
SQL初級中級_トレーニング【株式会社ニジボックス】
nbkouhou
0
23k
アクセシビリティ_株式会社ニジボックス Katsuhito Karube
nbkouhou
1
9.8k
モダンWebパフォーマンス2020_株式会社ニジボックス Yuki Irisawa
nbkouhou
9
14k
SUUMOでのパフォーマンス_株式会社ニジボックス Satoshi Arai
nbkouhou
1
9.4k
カスタマージャーニーマップを共通言語に、UXリサーチをアウトプットにつなげたい話_Qrio株式会社 神谷 郁
nbkouhou
0
2.2k
Other Decks in Programming
See All in Programming
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
110
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
160
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
2
130
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
360
nekko cloudにおけるProxmox VE利用事例
irumaru
3
450
Beyond ORM
77web
8
1.2k
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
220
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
340
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
120
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
200
return文におけるstd::moveについて
onihusube
1
1.2k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
BBQ
matthewcrist
85
9.4k
The Pragmatic Product Professional
lauravandoore
32
6.3k
How GitHub (no longer) Works
holman
311
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Making Projects Easy
brettharned
116
6k
Transcript
ඇػೳཁ݅ΛจԽʹ 2020/12/10 @ Business & Creative
Twitter: @yosuke_furukawa Github: yosuke-furukawa ࠷ۙͷ׆ಈ $ISPNF"EWJTPSZ#PBSE +4$POG+1PSHBOJ[FSFUD
ඇػೳཁ݅ʹͩ͜ΘΔ
ػೳཁ݅ͱඇػೳཁ݅ • ػೳཁ݅ɿ ࣮͠ͳ͖Ό͍͚ͳ͍ػೳ Ϣʔβʔ͔ΒͷཁٻΛ͑ΔγεςϜͷػೳ • ඇػೳཁ݅ɿ ඞ࣮ͣ͠͠ͳ͖Ό͍͚ͳ͍Θ͚Ͱͳ͍͕ɺ ϓϩδΣΫτΛ্ͤ͞ΔͨΊʹඞཁͳ͜ͱ
ඇػೳཁ݅ • ηΩϡϦςΟ • XSS/XSRF/DoS etc • ύϑΥʔϚϯε • SPA/PWA/AMP
etc • ϝϯςφϯαϏϦςΟ • ςετॻ͘/e2e/storyboard etc
ػೳཁ݅Λຬͨͯ͠ظʹ ΘΕΔதͰͲ͜·Ͱඇػೳཁ ݅ΛೖΕࠐΊΔ͔ͱ͍͏ͷ͕ ΤϯδχΞͷҰछͷೳྗ
ඇػೳཁ݅จԽ • ߴͰϝϯςφϒϧͰΞΫηγϒϧͰૉ Β͍͠ͷΛ࡞ͬͨͱͯͦ͠ΕΛҡ࣋͠ଓ ͚ΒΕͳ͚Εҙຯ͕ͳ͍ɻ • ύϑΥʔϚϯεʹͤΑϝϯςφϯαϏϦςΟ ʹͤΑɺҰ࣌తͳରࡦ͚ͩͰͳ͘ɺϝϯ όʔͷҭؚΊͨ߃ٱతͳରࡦ͕ඞཁɻ
ϦΫϧʔτͱχδϘοΫε
ϦΫϧʔτͱχδϘοΫε • ϦΫϧʔτͷϑϩϯτΤϯυΛڠۀ͍ͯ͠Δύʔτφʔ • ϦΫϧʔτଆͷϑϩϯτΤϯυ༷͕ະ֬ఆͩͬͨΓɺٕज़ελο Ϋ͕ܾ·ͬͯͳ͔ͬͨΓͱ͍ͬͨෆ࣮֬ੑͷߴ͍ΞϓϦέʔγϣϯͰ ࣮֬ʹ࡞Δ͜ͱʹओ؟Λ͓͍ͯΔ • χδϘοΫεଆͷϑϩϯτΤϯυ࡞ͬͨͷΛҡ࣋ɾͤ͞Δ͜ ͱʹओ؟Λ͓͍ͯΔ
• ͲͪΒҰॹʹ࡞͓ͬͯΓɺڥքΛ͖ͬΓҾ͍ͯΔΘ͚Ͱͳ͍ • ҰॹʹࣄۀΛͤ͞Δɺඇػೳཁ݅ʹͩ͜ΘΔͱ͍͏ҙຯͰͲͪ Βಉ͡ɻ
͜Ε·Ͱ͖ͬͯͨ͜ͱ
ϦΫϧʔτͷWebΛߴԽ ͠ɺϢʔβϏϦςΟΛ্͞ ͤΔ׆ಈΛ֤αΠτͰ࣮ࢪ
466.0 ੑೳͷఆ؍ଌπʔϧΛ ࡞ ڝ߹ͱͷࠩΛఆৗൺֱ "JS4)*'5 ͍ͱݴΘΕ͍ͯͨΫϥ ΠΞϯτΛ๚͠ɺ ߴԽ )1#ίεϝ ".1'JSTUͳαΠτΛߏ
ஙɺύϑΥʔϚϯεΛվ ળͭͭ͠ɺϊϋ͕શ ମʹਁಁͰ͖ΔΑ͏ʹ͠ ͨ
AirSHIFT https://web.dev/five-ways-airshift-improved-their-react-app/ virtual rendering ͰදࣔཁૉΛݮ Ұ෦ͷཁૉΛComlinkͰ workerize
SUUMO ͍ͬͯͳ͍CSS Λ95%ݮ ը૾αΠζΛ90%ݮ Core Web Vitals All Green ୡ
https://recruit-tech.co.jp/blog/2020/08/07/suumo_performance_improvement/
HPBCosme https://youtu.be/S_UttIYzKtM Lighthouse CI Λͬͯఆظతʹ ύϑΥʔϚϯεܭଌ StoryBookͱreg-suitͰVRT
͍Ζ͍Ζ͖͚ͬͯͨͲ... • ϓϩμΫτ࣭Λվળ͚ͨͩ͠Ͱಓ • ͜ͷվળΛจԽʹ͠ɺܧଓతʹଓ͚ɺϏδω εΰʔϧʹͭͳ͛ͯͦ͜ޭ • վળ׆ಈΛܧଓͭͭ͠ɺ࠷ऴతͳϏδωε ΰʔϧΛࢦ͢
จԽʹ͢ΔͨΊʹԿΛͬͯ ͖͔ͨ
ͨΓతʹվળ => ͍͖ͳ ΓίϯόʔδϣϯͷୡͳͲ ͷநͷߴ͍ͱ͜ΖΛૂ͏ μϝύλʔϯ Ϙʔϧ࣋ͬͨΒ͍͖ͳΓγϡʔτଧͬͪΌ͏λΠϓ
ඇػೳཁ݅Λ্͍͛ͯ͘ͷʹ ઓུ͕͋Δ
ݟ͑ͳ͍ͷଌΕͳ͍ ଌΕͳ͍ͷվળͰ͖ͳ͍
·ͣݟ͑ΔΑ͏ʹ͠Α͏
ՄࢹԽ͕ॏཁ • AirSHIFTͰϢʔβʔͷ࣮ࡍͷૢ࡞Λجʹ͔ ͔ͬͨඵΛݟ͑ΔΑ͏ʹ͍ͯ͠Δɻ ݟ͑ΔͱؾʹͳΔɺෆࢥٞͱվળͨ͘͠ͳΔ
ݟ͑ͨΒܧଓతʹଌΖ͏
ଌΔ͜ͱΛश׳ʹ͠Α͏ɻ • HPBίεϝͰͷࣄྫ • Speed Curve ͳͲͷಋೖݕ౼͠ɺଌΓଓ͚Δ श׳Λ࡞Δɻ
ܧଓతʹଌΕͨΒ ܧଓతʹվળ͢ΔྲྀΕΛ࡞Δ
վળΛී௨ʹεϓϦϯτʹ ͤΔ • ඇػೳཁ݅ͷվળΛػೳͷՃͱ͘͠ѻ͍ɺ εϓϦϯτʹೖΕͯվળ͢ΔྲྀΕΛ࡞Δɻ • ߹ʹΑͬͯOSSʹPRΛग़͢ͱ͔ݕ౼͢ Δɻ AMP Optimizer
Bug... ƅ̖ƅ;)
ՄࢹԽ => ϞχλϦϯάͷश ׳ͮ͘Γ => վળΛॏͶΔ উͪύλʔϯ
ͱ͍͑ɺͦΜͳ࣌ؒ࡞Ε·ͤΜΑ
ͦΕͪΖΜͦ͏ɻ ϝϯόʔؒͰͷೳྗ্ඞཁɻ ೳྗ͕͋Δఔߴ͍ϝϯόʔ͡Όͳ͍ ͱΤϯϋϯε͠ͳ͕ΒվળͰ͖ͳ͍ɻ
ϝϯόʔͷҭηοτͰߟ ͑ΔɻҰ࣌తͳվળͰऴΘΓ ʹ͠ͳ͍ɻ
Ωʔϫʔυ ͦͷ1: ήʔϛϑΟέʔγϣϯ
ࢀըॳ 1ޙ ήʔϛϑΟέʔγϣϯ ήʔϜͷݸମάϥϑΈ͍ͨ ͳײ֮ͰεΩϧϚοϓΛ࡞Δ
ࢀըॳ 1ޙ ͜ͷϨʔμʔνϟʔτάϥϑΛ ίʔϯϑϨʔΫάϥϑͱݺΜͰ ͍Δʢອ࠽ͷωλΑΓʣ
ۀͷߦʹΓ͍ͯͳ͍ॴ ͕ՄࢹԽ͞Εɺೳྗ্ͷα ϙʔτʹ͑Δɻ
Ωʔϫʔυ ͦͷ2: εϐʔυϋοΧιϯ
ΣϒϑϩϯτΤϯυ͚ͩͰ Ͳ͜·ͰLighthouseͷείΞ Λ্͛ΒΕΔ͔ڝ͏େձ
ظతʹੑೳʹؔ͢ΔφϨο δΛ࣮ઓܗࣜͰஷΊΒΕΔɻ
ϝϯόʔͷೳྗ্ɺҭ· ͰηοτͰඇػೳཁ݅ͷจԽ ͷৢͱͯ͠औΓΉ
·ͱΊ
·ͱΊ • χδϘοΫεϦΫϧʔτͲͪΒඇػೳཁ݅ʹͩ͜Θͬ ͍ͯΔɻ • ඇػೳཁ݅ΛͨͩҰ࣌తʹୡ͢Δ͚ͩͰͳ͘தظతʹ औΓΜͰ͍͘ = จԽʹ͢ΔͨΊʹ͍ͬͯΔ͜ͱ •
ݟ͑ΔԽ => ܭଌͷश׳Խ => վળͷश׳Խ • ҭ·ͰηοτͰߟ͑Δ͖ɺεϐʔυϋοΧιϯήʔ ϛϑΟέʔγϣϯΛ׆༻ֶָͯ͘͠͠Δֻ͚࡞ΓΛɻ