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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Toshihisa Tomatsu
July 06, 2019
Technology
6k
5
Share
大規模フロントエンドの技術的負債と向き合う。
Battle Conference Under30 の資料です。
https://bcu30.jp/2019/talk/tomatsu-toshihisa/
Toshihisa Tomatsu
July 06, 2019
More Decks by Toshihisa Tomatsu
See All by Toshihisa Tomatsu
"フロントエンドの技術"を移行する技術 / Frontend Migrations
10shi10ma
0
66
Service Workerとは、それを使ってできること / what-is-service-worker
10shi10ma
3
2k
フロントエンドのエコシステム / Frontend Ecosystem
10shi10ma
8
3.3k
Service Workerとブラウザでの通知について
10shi10ma
3
370
意外に知らないnpmと便利なCLI
10shi10ma
8
2.4k
歴史から学ぶ現代のフロントエンド
10shi10ma
17
11k
サイボウズ フロントエンドエキスパートチームとOSSの管理について
10shi10ma
0
1.1k
Google I/O ’19から見る新しいJavaScript
10shi10ma
5
3.2k
React+Storybook ことはじめ
10shi10ma
8
2.6k
Other Decks in Technology
See All in Technology
データ定義の混乱と戦う 〜 管理会計と財務会計 〜
wonohe
0
140
Rapid Start: Faster Internet Connections, with Ruby's Help
kazuho
2
760
CloudTrail を見つめ直してみる
kazzpapa3
1
110
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
210
AWS DevOps Agentはチームメイトになれるのか?/ Can AWS DevOps Agent become a teammate
kinunori
6
760
Choose your own adventure in agentic design patterns
glaforge
0
150
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
2.4k
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
980
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
4
1.4k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.4k
AI: Making Admin and Users, Lives Better
kbmsg
0
110
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
12
4.8k
Featured
See All Featured
A Soul's Torment
seathinner
6
2.7k
Being A Developer After 40
akosma
91
590k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.8k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
200
Google's AI Overviews - The New Search
badams
0
980
Rails Girls Zürich Keynote
gr2m
96
14k
The browser strikes back
jonoalderson
0
980
Context Engineering - Making Every Token Count
addyosmani
9
840
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
180
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Transcript
େنϑϩϯτΤϯυͷ ٕज़తෛ࠴ͱ͖߹͏ɻ αΠϘζגࣜձࣾ 5PTIJIJTB5PNBUTV #BUUMF$POGFSFODF6 1
֎দढ़ঘ 5PTIJIJTB5PNBUTV αΠϘζגࣜձࣾ ৽ଔ LJOUPOF։ൃνʔϜ ࠷ۙϑϩϯτΤϯυΤΩεύʔτ νʔϜͱ݉ 2 !UPTIJUPNB
!UPTIJ@@UPNB
ٕज़తෛ࠴ 3
͍·ݱͰ๊͍͑ͯΔ ͜Ε·Ͱͷ׆ಈʹ͍ͭͯ ͳٕͥज़తෛ࠴ͱ͖߹͏ͷ͔ ٕज़తෛ࠴ͱ͖߹͏͜ͱͷϝϦοτ ! ੌΤϯδχΞʹΑΔվम ಛఆٕज़ϥΠϒϥϦʹ͍ͭͯ ۜͷؙతͳ " ࠓ͢͜ͱ
͍·ٕज़తෛ࠴Ͱۤ͠ΜͰ͍Δਓ͕ ࠓޙલ͖ʹऔΓΜͰ͍͖͔͚ͬ͘ʹͳΕخ͍͠ 4
5
w 8FC͕ओઓͷϓϩμΫτ w ϦϦʔε w ϓϩμΫτͷϥΠϑαΠΫϧ͕ͱ͍ͯ ܧଓతͳ։ൃ͕ඞཁ w େن͔ͭෳࡶͳΞϓϦέʔγϣϯ
+BWB4DSJQU͕ສߦ w ΤϯδχΞϑϩϯτΤϯυ͔ΒαʔόʔαΠυ·Ͱ୲ 6 LJOUPOF
7 େنϑϩϯτΤϯυ
มԽͷܹ͍͠ϑϩϯτΤϯυ 8 Ծ%0. ίϯϙʔωϯτࢤ ੩తܕ͚ ΤίγεςϜ &$."4DSJQUYY ϒϥβͷਐԽ ਓ͕ؒϑΥʔϚοτΛҙࣝ͠ͳ͍ ৽͍ٕ͠ज़ϥΠϒϥϦɺπʔϧ͕ੜ·Εଓ͚͍ͯΔ
ϏϧυτϥϯεύΠϧ
ੈؒਐԽ͍ͯ͠ΔɻLJOUPOFʁ 9
։ൃελʔτ࣌ͷϑϩϯτΤϯυͱ ͪΖΜঢ়گҧ͍ͬͯΔ ੲ׆༂͍ٕͯͨ͠ज़͍·ෛ࠴ͱ͍ͯͬͯ͠Δ 10
wಛఆͷϥΠϒϥϦίϯύΠϥʹڧ͘ґଘ wOQNͷΤίγεςϜͷԸܙΛड͚ਏ͍ w։ൃελʔτ࣌ͷݹ͍ϥΠϒϥϦπʔϧΛ๊͍͑ͯΔ wશͯͷίϯϙʔωϯτΛ৽͍͠ϥΠϒϥϦʹஔ͖͑ΕΔنͰͳ͍ w7JFXͱ.PEFMͷີ݁߹ wFUDʜ LJOUPOF๊͕͑Δ 11
ٕज़తෛ࠴ 12
ͲΜͳ;͏ʹ͖߹͖ͬͯͨʁ 13
wझຯͰͬͯΔϑϩϯτΤϯυ։ൃͷମݧͱͳΜ͔ҧ͏ w3FBDU5ZQF4DSJQU1SFUUJFS&4-JOU&4.PEVMFTʜ wීஈͷ։ൃͰ͍͍ମݧ͍ͨ͠ʂ w͍·͋ΔΛվળ͍ͯ͜͠͏ʂͱߟ͑ΔΑ͏ʹͳͬͨ ͖͔͚ͬ 14
։ൃܥͷվળΛςʔϚʹϫʔΫγϣοϓΛ։࠵ͯ͠Έͨ άϧʔϓʹ͔Εͯվળ͍ͨ͠ΞΠσΞΛϒϨετ ग़ͨΞΠσΞΛ༏ઌͭͰάϧʔϐϯά νʔϜͰߟ͑Δ 15
wͨΓલ͚ͩͲɺΈΜͳ͕ࣗͱಉ͡ײ֮ߟ͑ͳΘ͚Ͱͳ͍ w͜Ε͕͍·ͷσϑΝΫτ͔ͩΒͱ͍͏આ໌ͩΊˠ࣮ߦʹܨ͕Βͳ͍ wࣗಋೖ͍ٕͨ͠ज़ϥΠϒϥϦͷՁʹ͍͔ͭͯͬ͠Γઆ໌Ͱ͖ͳ͍ wπʔϧϥΠϒϥϦΛઌߦͯ͠ߟ͑ΔͱΘΒͳ͍ wͰීஈͷπϥϛͳΒΈΜͳڞײͯ͘͠ΕΔ ΈΜͳͱͯ͠Θ͔ͬͨ͜ͱ 16
w৽͍ٕ͠ज़πʔϧɺϥΠϒϥϦ wͳΜͱͳ͘ྑͦ͞͏ͳͷΘ͔Δ wͰຊʹಋೖ͖͢ͳͷ͔͔Βͳ͍ wͦͦɺମݧͯ͠ͳ͍͔ΒΠϝʔδͰ͖ͳ͍ ࣗҎ֎ͷਓ͔Βͷݟ͑ํ 17
w৽͍ٕ͠ज़πʔϧɺϥΠϒϥϦ wͳΜͱͳ͘ྑͦ͞͏ͳͷΘ͔Δ wͰຊʹಋೖ͖͢ͳͷ͔͔Βͳ͍ wͦͦɺ͍·ͷϞμϯͳϞϊΛΒͳ͍͔ΒΠϝʔδͰ͖ͳ͍ ࣗҎ֎ͷਓ͔Βͷݟ͑ํ 18 ৽͍͠πʔϧϥΠϒϥϦɺٕज़ʹ͍ͭͯ νʔϜͷΈΜͳͰֶΔϑϩϯτΤϯυษڧձΔͱ͍͍͔
wΈΜͳͰϫΠϫΠ৮Δͷͱָ͍ͯ͠ wීஈͷ։ൃ͚ͩͩͱֶͳ͍ٕज़ΛΕΔ w৽͍͠πʔϧͷྑ͞ΛΈΜͳ͕ମݧͰ͖Δˠ࣮ߦʹͭͳ͕Δ wࢀՃऀಉ͡νʔϜͷਓ͔ͩΒɺΑΓ۩ମతͳ͕Ͱ͖Δ w͜Εಋೖ͍ͨ͠ʂͱ͍͏ ษڧձΛ։࠵ͯ͠Έͨ 19
ͱ͜ΖͰɺٕज़తෛ࠴ʁ 20
wۭ͍͍ͯΔ࣌ؒʹ୳ٻͯ͠Έ͚ͨͲɺยखؒͰશવਐ·ͳ͔ͬͨ wܧଓతͳվળΛ͢ΔͨΊʹɺͪΌΜͱ͖߹Θͳ͍ͱ ٕज़తෛ࠴ʁ 21 ઐੑΛߴΊͯɺ࣌ؒΛ͔͚͖ͯ߹͏ඞཁ͕͋Δ
ϑϩϯτΤϯυΤΩεύʔτνʔϜͱ ݉͢Δ͜ͱʹͨ͠ 22
wϑϩϯτΤϯυ͕ಘҙͳϝϯόʔͱݱঢ়ͷʹ͍ͭͯߟ͑ΔΑ͏ͳͬͨ w୳ٻͷ࣌ؒΛܧଓతʹͱΓ͘͢ͳͬͨ w৫ԣஅతͳઐνʔϜʹॴଐ͢Δ͜ͱͰɺଞͷϓϩμΫτͰಋೖ͍ͯ͠ ΔπʔϧͳͲɺLJOUPOFʹ࣋ͪؼΕͦ͏ͳݟ͕૿͑ͨ ݉Λ͡Ίͯ 23
w͍·ɺڊେͳ͔Βখ͞ͳ·ͰͪΌΜͱ͖߹͍ͬͯΔ wڧ͘ґଘ͍ͯ͠ΔϥΠϒϥϦπʔϧΛݮΒ͢ w%9্͕͢ΔΑ͏ͳπʔϧͷಋೖ wLJOUPOFͷྑ͍ઃܭʹ͍ͭͯߟ͑Δձ wϞϒϓϩάϥϛϯάͷ׆༻ wෆ࣮֬ੑ͕େ͖͍ఆظతͳϞϒϓϩΛεέδϡʔϦϯά͢Δ ࣍ͷεέδϡʔϧ·Ͱʹϝϯόʔ͕ղܾͯ͘͠ΕΔ͜ͱ͋Δ wΔ͜ͱ͕໌֬ͳΒظతʹɺҰؾʹਐΊͯ13Λ࡞Δ
ٕज़తෛ࠴ͷղফ͕ਐΜͰ͖ͨ 24
͓ɺͪΌΜͱ͖߹͑ͯΔʂ 25
w1SFUUJFSͷಋೖΛͬͯΈͨ wٕज़తෛ࠴ͱಛఆͷʹͿ͔ͭͬͯɺಋೖ͕Ͱ͖ͳ͔ͬͨ wٕज़తෛ࠴Λղফ͠ͳ͍ͱੈؒͷਐԽʹैͰ͖ͳ͍ ˠԸܙΛड͚Εͳ͘ͳΔͱ࠶ೝࣝͨ͠ ࠷ۙͷ 26
ͬͺΓٕज़తෛ࠴ͱ͖߹Θͳ͍ͱ 27
w࠷ॳ͔ΒΔͷͱɺେنͳϓϩδΣΫτʹೖΕΔͷͰқ͕ҧ͏ w৽͍ٕ͠ज़πʔϧɺϥΠϒϥϦʹ͍ͭͯͪΌΜͱཧղͯ͠ͳ͍ͱͰ͖ͳ͍ wݸਓ։ൃͰ͋ͨΓ·͑ʹ͍ͬͯΔϞϊͷϝϦοτΛߟ͑Δ͖͔͚ͬʹ ͳͬͨ wͳΜͰ3FBDUೖΕΔͷʁͦΕͰͲΕ͘Β͍վળ͢Δʁ5ZQF4DSJQUೖΕΔͷʁ &4-JOU1SFUUJFSʜͳΜͰʁ w͔֬ʹ͋·Γਂ͘ҙࣝͰ͖ͯͳ͔ͬͨ ٕज़తෛ࠴ͱ͖߹͏ͱ 28
wੌΤϯδχΞ͡Όͳ͍ɺ৽ଔ̏ͷΤϯδχΞͰҰาҰาਐΊͯΔ wษڧձϞϒϓϩΛ׆༻ͯ͠νʔϜͰٕज़తෛ࠴ͱ͖߹͑ා͘ͳ͍ wٕज़తෛ࠴ͱ͖߹͏͜ͱɺࣗͷʹܨ͕Δ ͍͞͝ʹ 29
5)"/,:06 νʔϜͱࣗͷͨΊʹٕज़తෛ࠴ͱ͖߹͓͏ʂ 30