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
160
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
640
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
14
6.2k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1k
Other Decks in Technology
See All in Technology
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
180
シフトライトなテスト活動を適切に行うことで、無理な開発をせず、過剰にテストせず、顧客をビックリさせないプロダクトを作り上げているお話 #RSGT2025 / Shift Right
nihonbuson
3
2.1k
20250116_自部署内でAmazon Nova体験会をやってみた話
riz3f7
1
100
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
230
re:Invent2024 KeynoteのAmazon Q Developer考察
yusukeshimizu
1
150
【Oracle Cloud ウェビナー】2025年のセキュリティ脅威を読み解く:リスクに備えるためのレジリエンスとデータ保護
oracle4engineer
PRO
1
100
Goで実践するBFP
hiroyaterui
1
120
ゼロからわかる!!AWSの構成図を書いてみようワークショップ 問題&解答解説 #デッカイギ #羽田デッカイギおつ
_mossann_t
0
1.5k
Azureの開発で辛いところ
re3turn
0
240
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
140
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
150
駆け出しリーダーとしての第一歩〜開発チームとの新しい関わり方〜 / Beginning Journey as Team Leader
kaonavi
0
120
Featured
See All Featured
BBQ
matthewcrist
85
9.4k
Done Done
chrislema
182
16k
Building an army of robots
kneath
302
45k
The Cult of Friendly URLs
andyhume
78
6.1k
Docker and Python
trallard
43
3.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Why Our Code Smells
bkeepers
PRO
335
57k
Building Your Own Lightsaber
phodgson
104
6.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
180
Speed Design
sergeychernyshev
25
740
Visualization
eitanlees
146
15k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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