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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
OKUNOKENTARO
October 10, 2017
Technology
1.8k
5
Share
Angular中〜大規模アプリ設計
2017/10/10 ng-japan meetup 2017 Autumnで発表した資料です。
OKUNOKENTARO
October 10, 2017
More Decks by OKUNOKENTARO
See All by OKUNOKENTARO
トレタO/X アーキテクチャ移行記 Next.js App Router化への道のり / TORETA TECH UPDATE 1
okunokentaro
5
12k
Podcastを継続する技術 / refactoradio-240119
okunokentaro
1
210
Webアプリケーション設計の第一歩は ディレクトリの整理から / Encraft 1
okunokentaro
34
10k
JSONとJSON Schemaを改めて理解する / tokyo_study
okunokentaro
9
2.4k
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
19
5.7k
TypeScriptは10年でこんなに進化しました / TechFeed Experts Night 11
okunokentaro
6
1.8k
Hasura.io RDBをサクサク作る方法はARやO/RMだけじゃなくなりました/hasura-io
okunokentaro
5
700
コードには型アノテーションよりも要件アノテーションを増やせ!/harajukuts2
okunokentaro
14
6.5k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1.1k
Other Decks in Technology
See All in Technology
BIツール「Omni」の紹介 @Snowflake中部UG
sagara
0
180
組織的なAI活用を阻む 最大のハードルは コンテキストデザインだった
ixbox
1
420
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
プロダクトを育てるように生成AIによる開発プロセスを育てよう
kakehashi
PRO
1
600
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
650
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
310
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.2k
Databricks Lakebaseを用いたAIエージェント連携
daiki_akimoto_nttd
0
150
建設的な現実逃避のしかた / How to practice constructive escapism
pauli
3
140
サイボウズフロントエンドの活動から考える探究と発信
mugi_uno
0
110
TanStack Start エコシステムの現在地 / TanStack Start Ecosystem 2026
iktakahiro
1
280
AIを活用したアクセシビリティ改善フロー
degudegu2510
1
140
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
780
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Scaling GitHub
holman
464
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Raft: Consensus for Rubyists
vanstee
141
7.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Designing for humans not robots
tammielis
254
26k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
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