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.4k
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
19
5.6k
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
okunokentaro
6
1.7k
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
okunokentaro
5
680
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
14
6.4k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1.1k
Other Decks in Technology
See All in Technology
コスト削減の基本の「キ」~ コスト消費3大リソースへの対策 ~
smt7174
2
200
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
18
5.5k
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
1
240
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
Backboneとしてのtimm2025
yu4u
4
1.6k
広島銀行におけるAWS活用の取り組みについて
masakimori
0
140
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
120
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
260
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
3
390
開発と脆弱性と脆弱性診断についての話
su3158
1
1.1k
Webアクセシビリティ入門
recruitengineers
PRO
2
450
JavaScript 研修
recruitengineers
PRO
4
380
Featured
See All Featured
For a Future-Friendly Web
brad_frost
179
9.9k
Fireside Chat
paigeccino
39
3.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
900
Designing Experiences People Love
moore
142
24k
Typedesign – Prime Four
hannesfritz
42
2.8k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building an army of robots
kneath
306
46k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
How GitHub (no longer) Works
holman
315
140k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Music & Morning Musume
bryan
46
6.7k
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