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
NgRxは入れるだけでいいのか? 発生する懸念と考えられるアーキテクチャ / NgRx Ar...
Search
OKUNOKENTARO
March 27, 2019
Technology
7
2.5k
NgRxは入れるだけでいいのか? 発生する懸念と考えられるアーキテクチャ / NgRx Architecture
2019年3月27日、Classi Angular Night #2にて発表した資料です。
OKUNOKENTARO
March 27, 2019
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
170
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.3k
10年と3ヶ月でWebサービスを作った話 / Piyogrammer Conference 2021
okunokentaro
2
1k
Other Decks in Technology
See All in Technology
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.3k
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
18
7.5k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
530
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
5
740
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
980
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
730
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
130
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
360
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
Featured
See All Featured
Making Projects Easy
brettharned
116
6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Writing Fast Ruby
sferik
628
61k
Being A Developer After 40
akosma
89
590k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Visualization
eitanlees
146
15k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Transcript
/H3YೖΕΔ͚ͩͰ͍͍ͷ͔ ൃੜ͢Δݒ೦ͱߟ͑ΒΕΔΞʔΩςΫνϟ .BS $MBTTJ"OHVMBS/JHIU
୭ w Ԟݡଠ!PLVOPLFOUBSP w ΫϨεΣΞද w ΞϓϦέʔγϣϯ ɾ ΤϯδχΞ w
"OHVMBSຊϢʔβʔձ OHLZPUPΦʔΨφΠβ
ຊͷ༰ w ͳͥΞʔΩςΫνϟΛߟ͑Δඞཁ͕͋Δ͔ w /H3YԿΛॿ͚Δ͔ w /H3YԿΛॿ͚ͯ͘Εͳ͍͔
ͳͥΞʔΩςΫνϟΛߟ͑Δඞཁ͕͋Δ͔
ੲ 5FNQMBUF)5.- "OHVMBS+4OHDPOUSPMMFS IUUQ "OHVMBS+4'JMUFS
"OHVMBSWFS 5FNQMBUF)5.- !$PNQPOFOU )UUQ !BOHVMBSIUUQ "OHVMBS1JQF
"OHVMBSWFS 5FNQMBUF)5.- !$PNQPOFOU )UUQ$MJFOU !BOHVMBSDPNNPOIUUQ "OHVMBS1JQF
ྺ࢙ͷੵ 5FNQMBUF)5.- !$PNQPOFOU )UUQ$MJFOU !BOHVMBSDPNNPOIUUQ "OHVMBS1JQF
4FSWJDFΛ࡞ͬͯΈΔ 5FNQMBUF)5.- !$PNQPOFOU )UUQ$MJFOU !BOHVMBSDPNNPOIUUQ "OHVMBS1JQF 6TFST4FSWJDF "QJ4FSWJDF
ͳΜͪΌΒ4FSWJDF૿͑͗͢ 5FNQMBUF)5.- !$PNQPOFOU )UUQ$MJFOU !BOHVMBSDPNNPOIUUQ "OHVMBS1JQF 6TFST4FSWJDF "QJ4FSWJDF 4PNFUIJOH"QJ1BSBNT#VJME4FSWJDF "OZUIJOH7BMVFT.FSHF4FSWJDF
"VUI4FSWJDF (VBSE4FSWJDF 6MUSB(SFBU4FSWJDF
͜ΕΛ 5FNQMBUF)5.- !$PNQPOFOU )UUQ$MJFOU !BOHVMBSDPNNPOIUUQ "OHVMBS1JQF
͜͏ ͚ͨͩ͠ 5FNQMBUF)5.- !$PNQPOFOU )UUQ$MJFOU !BOHVMBSDPNNPOIUUQ "OHVMBS1JQF 6TFST4FSWJDF "QJ4FSWJDF 4PNFUIJOH"QJ1BSBNT#VJME4FSWJDF
"OZUIJOH7BMVFT.FSHF4FSWJDF "VUI4FSWJDF (VBSE4FSWJDF 6MUSB(SFBU4FSWJDF
ͳͥ4FSWJDF͕૿͑Δͷ͔ w ڊେͳDMBTTͷղΛ೦಄ʹஔ͍ͯ͠·ͬͯͳ͍͔ w ͦͷ4FSWJDF͕ ʮԿΛ͢ΔͨΊͷ4FSWJDF͔ʯ ։ൃऀ͕ࣗཧղ͍ͯ͠Δ͔ w ͨͩͷॲཧ܈ʹ໊લۭؒΛ༩͚͑ͨͩʹͳ͍ͬͯͳ͍͔
ͳͥ4FSWJDF͕ඞཁͳͷ͔Λߟ͑Δ w ·ͣ"OHVMBSελΠϧΨΠ υʹै͏ͷྑ͍ϓϥΫςΟ ε w ࣍ʹҋӢʹ4FSWJDFΛ࡞Δ͜ͱΛආ͚ɺ ඞવతͳ4FSWJDFΛ࡞ΔΑ ͏ʹ͢Δ w
431 ʢ4JOHMF3FTQPOTJCJMJUZ1SJODJQMF୯Ұݪଇʣ ʹϐϯͱདྷͳ͚Ε ͦͷ4FSWJDFͷΞϓϦέʔγϣϯͰͷݱࡏҐஔΛѲ͢Δ
աڈεϥΠ υΑ ΓҾ༻ https://speakerdeck.com/okunokentaro/angularzhong-da-gui-mo-apurishe-ji?slide=13 https://speakerdeck.com/okunokentaro/angularzhong-da-gui-mo-apurishe-ji?slide=25 https://speakerdeck.com/okunokentaro/frontend-conference-fukuoka-2018?slide=63
Ϟμϯ8FCΞϓϦέʔγϣϯ͕Γ͍ͨ͜ͱ ௨৴͍ͨ͠ ඳը͍ͨ͠
ݱࡏҐஔΛҙࣝͨ͠ઃܭ $PNQPOFOUඳըدΓ )UUQ$MJFOU௨৴ৄࡉͷӅṭ 3FQPTJUPSZ௨৴دΓ 5FNQMBUFඳը "QJ4FSWJDF௨৴ 'BDBEF.FEJBUPSඳը㲗௨৴ؒͷநԽ ࠓॻ͍ͯΔίʔ υɺ
ඳըدΓ ʁ ௨৴دΓ ʁ ։ൃऀಉ࢜ͷ ڞ௨ೝࣝΛ࣋ͭ
ͳͥ͜ΕͰͩΊ͔ ௨৴ ඳը
ͯ͢ςε τͷͨΊ ඳըͷςετΛ͘͢͢͠Δ ௨৴ औಘͨ͠ΤϯςΟςΟͷू߹ͳͲΛςετ͘͢͢͠Δ ඳը ࣮ࡍʹ௨৴ͤͣύϥϝʔλʹ͍ͭͯςετΛ͘͢͢͠Δ %0.ࣝΛؚ·ͳ͍ϩδοΫͷςετΛ͘͢͢͠Δ %3:ͱ͔ 40-*%ݪଇͱ͔͋Δ͚Ͳ
શ෦ςε τͷͨΊͷ Α ͏ͳΜ
ͦͷ4FSWJDFͳΜͷͨΊ ʁ ඳըͷςετΛ͘͢͢͠ΔͨΊʁ ௨৴ औಘͨ͠ΤϯςΟςΟͷू߹ͳͲΛςετ͘͢͢͠ΔͨΊʁ ඳը ࣮ࡍʹ௨৴ͤͣύϥϝʔλʹ͍ͭͯςετΛ͘͢͢͠ΔͨΊʁ %0.ࣝΛؚ·ͳ͍ϩδοΫͷςετΛ͘͢͢͠ΔͨΊʁ
/H3YԿΛॿ͚Δ͔
/H3YԿ͔ w /H3YΞʔΩςΫνϟͰͳ͍ w ௨৴ʹΑͬͯऔಘͨ͠σʔλɺ Ϣʔβͷૢ࡞ʹΑͬͯੜ·ΕͨมΛ ֨ೲ͓ͯͨ͘͠Ίͷγϯάϧ τϯ w -B[ZMPBEΛߟྀ͢Δͱඞਢͷػߏ
w /H3Yʹ֨ೲ͞Εͨ܈Λ༻͢Δखஈͷఏڙͱ ύϑΥʔϚϯεʹؔ͢ΔॲཧͷӅṭ
/H3YΛΘͳ͍ͱ͖ $PNQPOFOU )UUQ$MJFOU 3FQPTJUPSZ 5FNQMBUF "QJ4FSWJDF 'BDBEF.FEJBUPS new ReplaySubject() new
ReplaySubject() new ReplaySubject() new ReplaySubject()
/H3YΛಋೖ )UUQ$MJFOU 5FNQMBUF /H3Y $PNQPOFOU "QJ4FSWJDF
/H3YԿΛॿ͚ͯ ͘Εͳ͍͔
༉அ͢Δͱ͜͏ͳΔ )UUQ$MJFOU 5FNQMBUF /H3Y 'FBUVSF 'FBUVSF $PNQPOFOU "QJ4FSWJDF 4FMFDUPS 4FMFDUPS
4FMFDUPS 4FMFDUPS 4FMFDUPS 4FMFDUPS 4FMFDUPS &GGFDUT &GGFDUT &GGFDUT &GGFDUT &GGFDUT &GGFDUT /H3YΞʔΩςΫνϟ Ͱͳ͍ ผ్ߟ͑Δඞཁ͕͋Δ
/H3Y ϨΠϠʔΛҙࣝͨ͠/H3YͷཱͪҐஔ $PNQPOFOUը໘ͰͰ͖Δ͜ͱͱɺࣸ͢ͷΛհ 5FNQMBUFը໘ )UUQ$MJFOU 3FQPTJUPSZ "QJ4FSWJDF 2VFSJFT ͦͷը໘ʹԿΛࣸ͢ʁ $PNNBOET
ͦͷը໘ͰԿ͕Ͱ͖Δʁ 'FBUVSF 'FBUVSF 'FBUVSF 'FBUVSF
&GGFDUTิࠤ 5FNQMBUFը໘ )UUQ$MJFOU 3FQPTJUPSZ "QJ4FSWJDF 2VFSJFT ͦͷը໘ʹԿΛࣸ͢ʁ $PNNBOET ͦͷը໘ͰԿ͕Ͱ͖Δʁ /H3Y&GGFDUT
$PNQPOFOUը໘ͰͰ͖Δ͜ͱͱɺࣸ͢ͷΛհ /H3Y 'FBUVSF 'FBUVSF 'FBUVSF 'FBUVSF
&GGFDUTଟ༻͠ͳ͍ w ෭࡞༻͕ଘࡏ͠ͳ͍ͳΒɺ 9)3͕བྷΉͱ͍͏͚ͩͰ&GGFDUTΛ༻͠ͳ͍ w UBQ ͕ग़ͯ͜ͳ͚Ε&GGFDUTͰ͋Δඞཁ΄΅ແ͍ • https://www.notion.so/Learn-NgRx-a6fa8691e2584682949852183254bebd
4FMFDUPSΛཧղ͢Δ w $PNQPOFOUʹTFMFDU ͷࢁΛங͍͍ͯͳ͍͔ w UIJTTUPSFEJTQBUDITVCTDSJCFͰ͖ΔҰํɺ ςε τ͠ʹ͍͘ 'BDBEFͳΓ.FEJBUPSͳΓͰӅṭ͢Δ w
લͷਤͩͱ$PNNBOET 2VFSJFTͱͯ͠Ϋϥε໊ʹσʔλϑϩʔํΛ໌ه ʢ$234ΞʔΩςΫνϟΑ Γணʣ w 'FBUVSFͷࡉԽ͗͢͠ʹཁҙ ࡉԽ͗ͯ͢͠͠·ͬͨͳΒ2VFSJFTͰґଘΛٵऩ w $PNQPOFOUͰେྔͷ4FMFDUPSʹґଘ͠ͳ͍ ʢґଘੑೖͷԸܙ͕ಘΒΕͳ͍ʣ
ͳΜͷͨΊͷ4FSWJDF͔ҙࣝ͢Δ w ΞϓϦέʔγϣϯશମʹ͓͍ͯ ֤͕ࣗࣗԿΛ͖͢DMBTTͳͷ͔ҙࣝͤΑ w ͯ͢Λ ʮͳΜͪΌΒ4FSWJDFʯ ʹ͢Δ ͘ Β͍ͳΒ
ׂ͍ͬͦΛϋοΩ Ϧ ໋໊ͤͨ͞ͷ΄͏͕Α͍ ʢ˞ͨͩ͠"OHVMBSελΠϧΨΠ υ֎ʣ
5IBOLZPV গ͠ͷͰߴ͍ੜ࢈ੑΛ