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
Angular中〜大規模アプリ設計
Search
OKUNOKENTARO
October 10, 2017
Technology
5
1.8k
Angular中〜大規模アプリ設計
2017/10/10 ng-japan meetup 2017 Autumnで発表した資料です。
OKUNOKENTARO
October 10, 2017
Tweet
Share
More Decks by OKUNOKENTARO
See All by OKUNOKENTARO
トレタO/X アーキテクチャ移行記 Next.js App Router化への道のり / TORETA TECH UPDATE 1
okunokentaro
5
11k
Podcastを継続する技術 / refactoradio-240119
okunokentaro
1
190
Webアプリケーション設計の第一歩は ディレクトリの整理から / Encraft 1
okunokentaro
34
10k
JSONとJSON Schemaを改めて理解する / tokyo_study
okunokentaro
9
2.3k
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
19
5.5k
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
okunokentaro
6
1.7k
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
okunokentaro
5
670
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
14
6.4k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1.1k
Other Decks in Technology
See All in Technology
ObsidianをMCP連携させてみる
ttnyt8701
2
120
Create a Rails8 responsive app with Gemini and RubyLLM
palladius
0
120
宇宙パトロール ルル子から考える LT設計のコツ
masakiokuda
2
100
Javalinの紹介
notoh
0
110
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
2
230
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
290
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
460
Model Mondays S2E01: Advanced Reasoning
nitya
0
360
Long journey of Continuous Delivery at Mercari
hisaharu
1
210
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
400
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
360
「伝える」を加速させるCursor術
naomix
0
640
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
910
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Designing for humans not robots
tammielis
253
25k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Cost Of JavaScript in 2023
addyosmani
50
8.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
"OHVMBSதʙେنΞϓϦઃܭ 0DU OHKBQBONFFUVQ"VUVNO !PLVOPLFOUBSP
"CPVUNF w Ԟݡଠ!PLVOPLFOUBSP w גࣜձࣾϐΫηϧάϦ ο υ w $PEF(SJE࿈ࡌத 3Y+4
5ZQF4DSJQU w OHLZPUP OHKBQBO 8FC"VEJPUPLZP
ࢲͱ"OHVMBS w "OHVMBS+4 w w "OHVMBS w ʢBMQIB͔࣌Β͑ͯʣ
w "OHVMBSWYར༻த
ࠓճ͢͜ͱ
ࠓճ͢͜ͱ w "OHVMBSϑϧελοΫ w ࣮ࡍɺ ͳΜͰ࡞ΕΔ w ͋͞࡞ΕͱݴΘΕΔͱɺ w
νϡʔ τ ϦΞϧͷ࣍ʹͲ͏͢Ε͍͍͔͕͍͠ w தʙେنΞϓϦ։ൃͰʹͳΔͱ͜ΖΛɺ ࣮ମݧΛݩʹղઆ
ఆٛ ʢ͋͘ ·Ͱɺ ࠓճʹ͓͍ͯʣ w খن w ΞϓϦण໋ ɿ Ҏ
w தن w ΞϓϦण໋ ɿ Ҏ্ w τʔλϧສߦҎ ʢIUNMɺ DTTআ͘ɺ ۭߦؚΉʣ w େن w ͦΕҎ্
࣮େ͕தن wʮͲ͏ͤখ͍͞ΞϓϦ͔ͩΒʯ ͱԿߟ͑ͳ͍ͱ w ҙ֎ͱ͘͏ ͜ͱʹʜ w தنʹ֘͢ΔͷͰ͋ͱ͋ͱࠔΔ w খنΞϓϦ
ͱ w ͍ࣺͯͷπʔϧͳͲʹ͔֘͠͠ͳ͍
தنΞϓϦ
தنͩͱԿʹࠔΔ͔ w ίʔ υʹॏෳ͕ੜ·ΕΔ w Ͳ͜ʹڞ௨Խ͠Α ͏ w ΞϓϦશମͰཧ͢Δ͕ग़ͯ͘ Δ
w Ͳ͜ʹஔ͜͏ w ࢹςε τ͚ͩͰݶքʹ w ࣗಈςε τΛߟ͑͡ΊΔ w Կߟ࣮͔͑ͣΓਐΊΔͱςε τ͕ॻ͖ʹ͍͘ίʔ υʹʜ
"OHVMBSͷఏڙൣғ 7JFX $PNQPOFOU 5FNQMBUF 4UPSBHF GSPN9)3 *OEFYFE%#FUD ͜ͷลͲ͏࡞Ε͍͍ͷ
"OHVMBSͷఏڙൣғ 7JFX $PNQPOFOU 5FNQMBUF 4UPSBHF GSPN9)3 *OEFYFE%#FUD ͜ͷลͲ͏࡞Ε͍͍ͷ Ͱɺ ͜͏ͳΔ
"OHVMBS։ൃઃܭͱͷઓ͍ 7JFX $PNQPOFOU 5FNQMBUF 4UPSBHF GSPN9)3 *OEFYFE%#FUD ͜͜ΛͲ͏ͬͯΩϨΠʹ࡞Δ͔
جຊʹΔ w 'MVY $234 Ұ୴ΕΑ ͏ w "OHVMBSʹৄ͘͠ͳ͍ ʁ େৎ
w ΤϯδχΞͱͯ͠جຊʹΔ w 40-*%ݪଇ ʢΦϒδΣΫ τࢦઃܭݪଇʣ w :"(/* ,*44 ʢඞཁʹͳΔ·Ͱ࣮͢Δͳɺ γϯϓϧʹ͓͚ͯ͠ʣ w %3: ʢ%POUSFQFBUZPVSTFMGʣ
4FSWJDFΛͲ͏࡞Δ͔ 7JFX $PNQPOFOU 5FNQMBUF 4UPSBHF GSPN9)3 *OEFYFE%#FUD ͜͜"OHVMBSཁૉ͕গͳ͍ Ͳ͏4FSWJDFΛఆٛ͢Δ͔ʹݒ͔͍ͬͯΔ w
4FSWJDF5ZQF4DSJQUͷDMBTT୯Ґ w DMBTTͷΓํ40-*%ݪଇʹ ै͑Α͍ w దͳେ͖͞ͷDMBTTςε τॻ͖ ͍͢ w "OHVMBSʹґଘੑೖ͋Δ w DMBTT୯ମͷςε τ͕࣮ࢪ͍͢͠
DMBTTͷΓํΘ͔ͬͨɺ ࣍ʹؾʹ͢Δ͜ͱ ʁ w Πϕϯ τඇಉظॲཧ w Ϣʔβͷೖྗɺ Ϋ Ϧ
οΫͳͲͷૢ࡞ w αʔό͔ΒͷϨεϙϯε w "OHVMBSʹݶΒ͕ͣͩɺ 8FCΞϓϦέʔγϣϯ։ൃϋϯ υ Ϧ ϯάͱͷ͖߹͍
ඇಉظͰ͋Δ͜ͱΛલఏͱ͢Δ w "OHVMBS͕3Y+4Λ࠾༻͍ͯ͠Δͷ w ͍ͭى͜Δ͔Θ͔Βͳ͍ॲཧΛ౷Ұతʹѻ͏ͨΊ w 3Y+4͕ා͍ͳΒ1SPNJTFΛ͏Ͱ͍͍ w ͨͩ͠ɺ جຊతʹͯ͢ඇಉظΛલఏʹઃܭ͢Δ͜ͱ
w ಉظॲཧɺ ΄΅օແ
େنΞϓϦ
தنͷઓ͍ํͰେنʹউͯͳ͍ w தنରࡦ w DMBTTΛ͚ͨɺ ςε τॻ͍ͨ w ॏෳίʔ υ
Ϧ ϑΝΫλ Ϧϯάͨ͠ w ͜Ε͚ͩͰେنΞϓϦʹ͢Δͱ͖ʹ಄ଧͪʹͳΓ ·͢
େنಛ༗ͷࣄ w ཁ݅ͷଟ͞ʹର͢Δೲظͷ͞ w ͜ΕΛOϲ݄Ͱ࡞Δͷʜ ʁ w ͡Ό͋ҰਓͰ։ൃ͢Δͷ͍͠ w
ˠେن΄ͲνʔϜମ੍ʹͳΔ
େنͱͷઓ͍νʔϜϚωδϝϯ τͱͷઓ͍ w νʔϜ։ൃͰ࣍ͷ͕ى͜Δ w ΤϯδχΞಉ࢜ͷϨϕϧࠩɺ هड़ελΠϧࠩɺ Ϛφʔҙࣝ w ૬ޓίʔ
υ ϨϏϡʔඞਢ ʢରଟμϝઈରʣ w ίʔ υελΠϧMJOUͰͳΜͱ͔ͳΔ
ίʔ υελΠϧ͡Όͳ͍ w ͲΕΛͲ͜ʹॻ͘ͷ w ͷ͍͍ਓͷΤϯδχΞ͕͍ͯɺ DMBTTͷ͚ํ͕όϥόϥͩͱɺ w ॏෳॲཧ͕ੜ·Εͨͱ͖ཧత
ɾ ػցతͳϦ ϑΝΫλ Ϧ ϯά͕ߦ͑ͳ͍ wʮԶ͕͍͍ͬͪ͜ͱࢥ͏ʯ ʮ͍͍Զʜʯ w ຖճͦͷٞΓ ·͔͢ ʁ
٬؍తͳֶͱઃܭख๏ w υϝΠϯۦಈઃܭ%PNBJOESJWFOEFTJHO w ྺ࢙తʹཱ֬͞Εͨख๏ʹ͕͢Δ w ઌਓͷܙɺ ྑஶΛ࠾ΓೖΕΔ wʮ͜ͷࢦͷԼͰͲ͏͋Δ͖͔ʯ Ͱٞ
w %%%ʹৄ͘͠ͳΕͱݴΘͳ͍ w νʔϜશһ͕ೲಘͰ͖Δ٬؍తͳࢦΛઃ͚ͨ΄͏͕Α͍ɺ ͱ͍͏
ϨΠϠʔ υ ɾ ΞʔΩςΫνϟ 7JFX &YUFSOBM4UPSBHF $PNNBOE 2VFSZ "EBQUFS 3FQPTJUPSZ
3Y+43FBM8PSMEࢀরIUUQTTQFBLFSEFDLDPNBSNPSJLSYKTSFBMXPSME
͍·Ͳ͜ͷΛͯ͠Δ ʁ w ϨΠϠʔ υΞʔΩςΫνϟ w ։ൃλεΫͷݟੵΓٞʹศར w λεΫΛదͳཻʹ͍ͬͯΔલఏͰ͋Δ w
ͦͷλεΫɺ ͦͷػೳͷͲͷՕॴΛ࣮ͤͶͳΒͳ͍͔ɺ νʔϜͰࢹ֮తʹೝࣝͰ͖Δ
ϨΠϠʔ͝ͱʹ࡞ۀݟੵ Γ " ɿ ͜ͷJTTVF7JFXͷʙͷػೳ࣮ʹ͍ͭͯͰ͢ #7JFX͔Β"1*ΛݺͿ͚Ͳɺ ͔ͦ͜Βઌ ɹ$PNNBOEͷͳͷͰผJTTVF͔ $͡Ό͋7JFXͰͷΠϕϯ τϋϯ
υ Ϧ ϯάͷ࣮࡞ۀ ɹ͚ͩݟੵΕ͍͍ΜͩͶ 7JFX &YUFSOBM4UPSBHF $PNNBOE 2VFSZ "EBQUFS 3FQPTJUPSZ ˡ͍·ίίͷΛͯ͠Δ
نͷ֦େ
ඞͣ௧Έ͕ग़ͯ͘ Δ wʮͳΜͰԶ͋ͷ࣌͋͋͠ͳ͔ͬͨΜͩʜʯ wʮ͜ΜͳʕʕΈ͍ͨͳ"1*༷ॻ͕ૹΒΕ͖ͯͨͧʯ wʮ͓͍͓͍ࠓࠒͦΕΛݴ͏͔ɺ େ͖ͳͪΌͿฦͩ͠ ʂ ʂ
ʯ w ࣮͔Ͳ͏͔͓͍ͩ͘͠͞ w ͲΕ͚ͩॳظઃܭΛؤுͬͯඞͣΔ͠ɺ ཧෆਚͳํసΛٻΊΒΕΔ w Ͱɺ ରԠ͠ͳ͘ ͪΌ͍͚ͳ͍
ഊΛڪΕΔͳ w Βͳ͍Α ͏ͳίʔ υΛॻ͘ ͜ͱෆՄೳ w Δ w ͬͨͱ͖ʹɺ
Ͳ͏͢Ε؆୯ʹআڈͰ͖Δ͔Λߟ͑Δ͜ͱՄೳ w ࠓͳʹ͕͔ɺ ͦͷೝࣝ͢Δ w ෛ࠴ܭըతʹฦࡁ͢Δ w ໟͷ͍ϠΫΛ์͠ࣂ͍ʹ͠ͳ͍
ΞϓϦ։ൃͱઓ͍ଓ͚Δ͜ͱ w ͦͷͨΊͷֶ w ͦͷͨΊͷઃܭ w ͦͷͨΊͷϧʔϧ
5IBOLZPV