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
Yahoo! ズバトクにおけるフロントエンド開発
Search
LINEヤフーTech (LY Corporation Tech)
PRO
December 16, 2024
Technology
0
89
Yahoo! ズバトクにおけるフロントエンド開発
2024年12月11日に開催された中途採用向けフロントエンドエンジニア採用説明会で投影したYahoo! ズバトクにおけるフロントエンド開発の紹介スライドです。
LINEヤフーTech (LY Corporation Tech)
PRO
December 16, 2024
Tweet
Share
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
300
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
98
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
250
連合学習を用いたスタンプの推薦
lycorptech_jp
PRO
0
46
Will Positron accelerate us?
lycorptech_jp
PRO
2
140
Try using dbtplyr
lycorptech_jp
PRO
0
17
EthernetベースのGPUクラスタ導入による学びと展望
lycorptech_jp
PRO
1
630
LY Accessibility Guidelines @fukuoka_a11yconf_前夜祭
lycorptech_jp
PRO
1
160
Yahoo! JAPANトップページにおけるマイクロフロントエンド - 大規模組織におけるFE開発を加速させるには
lycorptech_jp
PRO
2
2.2k
Other Decks in Technology
See All in Technology
KubeCon NA 2024 Recap: Managing and Distributing AI Models Using OCI Standards and Harbor / Kubernetes Meetup Tokyo #68
pfn
PRO
0
210
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
410
目玉アップデート!のSageMaker LakehouseとUnified Studioは何たるかを見てみよう!
nayuts
0
230
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
170
リクルートのデータ基盤 Crois 年3倍成長!1日40,000コンテナの実行を支える AWS 活用とプラットフォームエンジニアリング
recruitengineers
PRO
2
310
2024年のModern Data Stackを振り返ろう~分野別の目玉アップデート情報まとめ~
sagara
0
620
Amazon Bedrock Knowledge BasesがGraphRAGに対応!! ・・・それってつまりどういうコト!? をチョット深堀ってみる
tokushun
0
200
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
130
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
2
140
同一クラスタ上でのFluxCDとArgoCDのリソース最適化の話
kumorn5s
0
200
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
110
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
1
220
Featured
See All Featured
RailsConf 2023
tenderlove
29
930
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.8k
Making the Leap to Tech Lead
cromwellryan
133
9k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
84
Into the Great Unknown - MozCon
thekraken
33
1.5k
Designing for Performance
lara
604
68k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Embracing the Ebb and Flow
colly
84
4.5k
It's Worth the Effort
3n
183
28k
Code Review Best Practice
trishagee
65
17k
Why Our Code Smells
bkeepers
PRO
335
57k
Transcript
© LY Corporation Yahoo! ζότΫʹ͓͚Δ ϑϩϯτΤϯυ։ൃ ෦ ஐ࢙
© LY Corporation 2 ෦ ஐ࢙ LINEϠϑʔגࣜձࣾ ϑϩϯτΤϯυΤϯδχΞ 2016ʹϠϑʔגࣜձࣾʹ৽ଔೖࣾ ಉ͔ΒݱࡏʹࢸΔ·Ͱू٬αʔϏεʢओʹζότΫʣ
ͷ։ൃʹैࣄ ݱࡏζότΫͷ։ൃνʔϜʹͯϦʔμʔΛΊΔ © LY Corporation
© LY Corporation Yahoo! ζότΫʹ͍ͭͯ “ຖϫΫϫΫʂ͓τΫ͕ͨΔˍΒ͑Δ” ͘͡ΩϟϯϖʔϯΛܝࡌ͢ΔͨΊͷϓϥοτϑΥʔϜ • நબΤϯτϦʔɺελϯϓͳͲ༷ʑͳػೳΛఏڙ •
ଟ༷ͳछྨͷΩϟϯϖʔϯͷ։࠵͕Մೳ • ࣾαʔϏεɺࣾ֎ͷاۀ༷ͱ࿈ܞ 3
© LY Corporation Yahoo! ζότΫʹ͍ͭͯ ζότΫҎ֎ʹʮ͓τΫλϒʯʮLYPϚΠϨʔδʯαʔϏε։ൃɾӡ༻ 4 • ͓τΫλϒ •
Yahoo! JAPAN τοϓϖʔδͷίϯςϯπ ͷ1ͭ • ͓ಘͳใΫʔϙϯɺΩϟϯϖʔϯͳͲ Λൃ৴ • εϚϗWEBɺΞϓϦʢiOS/Androidʣͷσ όΠεͰఏڙ • LYPϚΠϨʔδ • Yahoo! γϣοϐϯάͷରళฮ֗ͷ͓ ళͰPayPayܾࡁͰΛߪೖ݅͠Λୡ ͢Δ͜ͱͰɺPayPayϙΠϯτͳͲͷಛ య͕֫ಘͰ͖ΔαʔϏε
© LY Corporation ٕज़ελοΫ ू٬αʔϏεΛࢧ͑Δٕज़ 5 ϑϩϯτΤϯυ • TypeScript •
Next.js • React • CSS Modules • jest • Cypress • MFEʢMicro Frontendʣ • ͓τΫλϒͰ׆༻͞Ε͍ͯΔ ΞʔΩςΫνϟ • Yahoo! JAPANτοϓϖʔδ͕ App ShellͱͳΓɺ͓τΫλϒ Fragmentͱͯ͠Քಇ͍ͯ͠Δ όοΫΤϯυ • Java • SpringBoot • Docker • Kubernetes
© LY Corporation MFEʢMicro Frontendʣ ू٬αʔϏεΛࢧ͑Δٕज़ 6 Ҿ༻ Yahoo! JAPANτοϓϖʔδʹ͓͚ΔϚΠΫϩϑϩϯτΤϯυ
- େن৫ʹ͓͚ΔFE։ൃΛՃͤ͞Δʹ • MFEʢMicro Frontendʣ • Yahoo! JAPANͷτοϓϖʔδνʔϜ͕։ൃͨ͠MFEͷΈʢSDKʣΛ༻͍͓ͯτΫλϒ ʢFragmentʣΛ։ൃ • ΞϓϦέʔγϣϯΛػೳຖʹׂ • ׂ͞Εͨখ͞ͳγεςϜΛΈ߹ΘͤΔ͜ͱͰେ͖ͳγεςϜΛߏ͢Δ • App ShellʢʣͱͳΔτοϓϖʔδγεςϜ͕֤FragmentʢλϒʣΛݺͼग़͢ߏͱͳͬ ͍ͯΔ • զʑू٬αʔϏε͓τΫλϒΛ։ൃ͠ɺτοϓϖʔδͷҰίϯςϯπͱͯ͠Ϣʔβʔʹఏڙ
© LY Corporation • νʔϜA/B͕ओʹϏδωεҊ݅ͷ։ൃΛߦ͏ • ϏδωεҊ݅ͷଞʹόοΫΦϑΟεܥͷπʔϧͷ։ൃ୲͢Δ • SREνʔϜԣஅతͳٕज़՝ͷղܾΠϯϑϥɾϑϨʔϜϫʔΫͷ࠷৽ԽʢݕূʣΛߦ͏ ৫ɾνʔϜ
7 ू٬αʔϏεͷ։ൃମ੍ νʔϜA νʔϜB SREνʔ Ϝ
© LY Corporation ΞδϟΠϧ։ൃ • εΫϥϜʹΑΔ։ൃͰ1िؒ1εϓϦϯτͰӡӦ • εΫϥϜνʔϜ։ൃϝϯόʔ͚ͩͰͳ͘σβΠφʔاը৬ͷϝϯόʔ͍Δ • ֤৬छ͕͍ۙڑͰϫϯνʔϜͰ։ൃ͕ਐߦͰ͖Δ
όοΫΤϯυ͔ΒϑϩϯτΤϯυ·Ͱ͍ྖҬͷܦݧ • όοΫ/ϑϩϯτͦΕͧΕͷΞϓϦέʔγϣϯ։ൃɾӡ༻͕ܦݧͰ͖Δ ٕज़՝ͷఏҊɾվળ࣮ࢪ • ௨ৗͷۀͱҟͳΔٕज़తͳ՝ΛఏҊɾվળΛߦ͏ • ex. ύϑΥʔϚϯεվળɺϦϑΝΫλϦϯάɺӡ༻ޮԽͳͲ • ݱঢ়ʹຬͤͣΑΓྑ͍ڥͮ͘ΓΞϓϦέʔγϣϯ࡞ΓΛࢦ͢ • ௨ৗͷۀͷத͚ͩͰಘΒΕͳ͍ܦݧεΩϧͷ֫ಘ͕Մೳ ಛ 8 ू٬αʔϏεͷ։ൃମ੍
© LY Corporation 9 ΩϟϦΞ • ೖࣾҎདྷΒ͘όοΫΤϯυͷྖҬΛ୲ • 2021ԼظʹPayPayϛχΞϓϦͷ։ൃҊ݅Λ୲ •
͔͜͜ΒϑϩϯτΤϯυͷྖҬΛॳΊͯ୲ • TypeScript / React / Next.js ͲΕະܦݧͷঢ়ଶ • ࣾͷϑϩϯτΤϯυ༗ࣝऀͷॿྗ͋ͬͯϛχΞϓϦͷϩʔ ϯνʹޭ • ॳΊͯͷྖҬֶ͕ͩͬͨͿָ͠͞ͱͦΕ͕Ξτϓοτͱ ͯ͠αʔϏεʹؐݩ͞ΕΔָ͠͞ͷ྆ํ͕Ϟνϕʔγϣϯ ʹͳ͍ͬͯͨ • PayPayϛχΞϓϦͷ্ཱͪ͛Ҏ߱ݱࡏʹࢸΔ·Ͱ͓τΫλϒͷ։ ൃؚΊϑϩϯτΤϯυྖҬʹؔΘΔػձ૿͍͑ͯΔঢ়گ
© LY Corporation 10 ΩϟϦΞ • ϑϩϯτΤϯυͷྖҬʹؔΘΕͨ͜ͱͰReactNext.jsͱ͍ͬͨࣾ֎ͱଟ͘ར༻͞Ε͍ͯΔϥΠϒϥ ϦϑϨʔϜϫʔΫΛֶͿػձΛಘΒΕͨͷඇৗʹྑ͍ܦݧͱͳͬͨ • αʔϏεΛ࡞Γ্͍͔͛ͯͳ͚ΕͳΒͳ͍ϓϨογϟʔ͕͋ͬͨɺͦͷ࣮༻తͳֶͼ͕Ͱ
͖ͨ • JavaScriptͷݴޠಛੑͱͯ͘͠͠ײ͡Δ໘͋ͬͨʢγϯάϧεϨουϞσϧʣ͕ɺόοΫΤϯυ ͰͦΕͳΓʹίʔσΟϯάྺ͔ͬͨ͜ͱ͔Βݴޠͷนײͮ͡Β͔ͬͨ • όοΫΤϯυͷσβΠϯઃܭΞʔΩςΫνϟʹ৮ΕΔػձ͕ଟ͔ͬͨͨΊɺMFEAtomic Designͷ Α͏ͳϑϩϯτΤϯυͷσβΠϯύλʔϯΛΔ͜ͱ͕Ͱ͖ઃܭͷ෯Λ͛Δ͜ͱ͕Ͱ͖ͨ • όοΫΤϯυͷҊ݅Ҏ֎ʹϑϩϯτΤϯυͷҊ݅ʹؔΘΔػձ૿͑ɺΩϟϦΞͷ෯͕ΓϞν ϕʔγϣϯΞοϓʹܨ͕ͬͨ • όοΫΤϯυʹൺΔͱ • ·ͩ·ͩΒͳ͍͜ͱ͕ଟ͍ྖҬ͕ͩɺͦͷΔָ͕͋͠͞Δ • ڥͷมԽ͕·͙Δ͘͠ɺมԽʹै͢Δ͚ͩͷεΩϧ͕ඞཁͩͱ௧ײ
© LY Corporation ٕज़ʹରͯ͠લ͖ʹऔΓΊΔ ༩͑ΒΕͨۀ͚ͩͰͳ͘ɺࣗͰ՝ΛൃݟɾఏҊ͠ղܾ͍ͨ͠ ϑϩϯτΤϯυͪΖΜɺͦͷଞ͍ྖҬʹνϟϨϯδͯ͠Έ͍ͨ 11 ͜Μͳํʹདྷͯ΄͍͠
© LY Corporation ΤϯτϦʔΛ͓͍ͪͯ͠·͢ʂ 12
© LY Corporation