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
状態管理ライブラリZustandの導入から運用まで
Search
daiki
September 06, 2024
Programming
800
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
状態管理ライブラリZustandの導入から運用まで
daiki
September 06, 2024
More Decks by daiki
See All by daiki
大規模プロダクトで実践するAI活用の仕組みづくり
daikimkw
8
4.2k
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
daikimkw
9
2.2k
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
180
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.7k
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
4
3k
えっ!!コードを読まずに開発を!?
hananouchi
0
230
act2-costs.pdf
sumedhbala
0
120
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
500
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
650
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
280
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
130
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
170
Android CLI
fornewid
0
130
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.3k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Scaling GitHub
holman
464
140k
Become a Pro
speakerdeck
PRO
31
6k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
230
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
330
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
190
How to Ace a Technical Interview
jacobian
281
24k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Mind Mapping
helmedeiros
PRO
1
290
Designing for Timeless Needs
cassininazir
1
400
sira's awesome portfolio website redesign presentation
elsirapls
0
310
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Transcript
ঢ়ଶཧϥΠϒϥϦ;VTUBOEͷಋೖ͔Βӡ༻·Ͱ EBJLJ!LUJLVSJTV$ZCP[V*OD
EBJLJ • αΠϘζגࣜձࣾ৽ଔ • 8FCϑϩϯτΤϯυΤϯδχΞ • 𝕏 ɿ!LUJLVSJTV
αΠϘζͷओྗLJOUPOF αΠϘζΤϯδχΞ࠾༻ϐον<> <>IUUQTTQFBLFSEFDLDPNDZCP[VJOTJEFPVUDZCP[VFOHJOFFSSFDSVJU TMJEF
LJOUPOFͷϑΥʔϜͷঢ়ଶཧʹ;VTUBOEΛ͍ͬͯΔ LJOUPOFͰ࡞ͨ͠ΞϓϦʹσʔλΛՃ͢Δը໘ ίίʹ;VTUBOE͕ʂ
ΞδΣϯμ • ঢ়ଶཧʹ;VTUBOEΛ࠾༻ͨ͠എܠ • ͬ͘͟Γ;VTUBOE • ;VTUBOEΛಋೖͯ͠Έ࣮ͯࡍͲ͏͔ • ;VTUBOEWͷظ
ঢ়ଶཧʹ;VTUBOEΛ࠾༻ͨ͠എܠ
࠶ϨϯμϦϯά࠷దԽͷ՝ײ
࠶ϨϯμϦϯά࠷దԽͷ՝ײ • ͱͱ3FBDUͷVTF4UBUFVTF3FEVDFSͰঢ়ଶཧΛ͍ͯͨ͠ • ϑΥʔϜͷঢ়ଶΛͭͷΦϒδΣΫτͱͯ͠ཧ͓ͯ͠Γɺಛผ੍ޚ ͠ͳ͚ΕͭͷJOQVUͷΛߋ৽͢Δ͚ͩͰϑΥʔϜશମ͕࠶Ϩϯ μϦϯά͞ΕΔ ◦ ϑΥʔϜશମͷ༨ͳϨϯμϦϯάΛආ͚ΔͨΊʹ࣮͕ෳࡶԽ ͢Δ
ˠൺֱత༰қʹ࠶ϨϯμϦϯάͷ੍ޚ͕Մೳͳঢ়ଶཧϥΠϒϥϦͷಋೖ ʹࢸͬͨ
ϥΠϒϥϦબఆͷ۩ମతͳཁ݅ • ঢ়ଶཧʹಛԽ͍ͯ͠Δ ◦ طଘίʔυͱาௐΛ߹ΘͤΔඞཁ͕͋Δ • όϯυϧαΠζ͕খ͘͞ґଘύοέʔδ͕গͳ͍ ◦ LJOUPOFେنͳϓϩμΫτͷͨΊɺྦྷੵతʹେ͖ͳӨڹΛ༩ ͑Δ
• ͋ΔఔͷγΣΞͷߴ͞ͱܧଓతͳ։ൃ͕ೝΊΒΕΔ
ঢ়ଶཧϥΠϒϥϦͷҟͳΔΞϓϩʔν
τοϓμϯతͳΞϓϩʔνɿ;VTUBOEɺ3FEVY SPPU DPNQPOFOU DPNQPOFOU DPNQPOFOU DPNQPOFOU • 4JOHMF4UPSF •
தԝूݖతʹཧ͞Εͨ4UPSFΛ֤ DPNQPOFOUͰݺͼग़ͯ͠༻͢Δ 4UPSF
ϘτϜΞοϓతͳΞϓϩʔνɿ+PUBJɺ3FDPJM SPPU DPNQPOFOU DPNQPOFOU DPNQPOFOU DPNQPOFOU "UPN • "UPNͱݺΕΔখ͞ͳঢ়ଶ୯ҐΛج
ຊͱ͢Δ • ֤"UPNಠཱ͓ͯ͠ΓɺඞཁʹԠ͡ ͯΈ߹ΘͤΔ͜ͱ͕Ͱ͖Δ ◦ ࠷খ୯Ґ͔Β࢝Ίͯঃʑʹେ͖ͳ ߏΛ࡞Γ্͛ΔϘτϜΞοϓత ͳߟ͑ํ "UPN
ϥΠϒϥϦൺֱͷҰ෦ • ;VTUBOEˠ࠾༻ ◦ ଞͷJOQVUͷʹԠͯ͡ผͷJOQVUͷ͕࠶ܭࢉ͞ΕΔ͜ͱ͕͋ Γɺ·ͱΊͯঢ়ଶཧͰ͖ΔτοϓμϯͷΞϓϩʔν͕ద͢Δ • +PUBJ ◦ ࠓճͷཁ݅Ͱ͏·͘4UBUFΛϘτϜΞοϓʹׂ͢Δͷ͕͍͠
• 3FEVYUPPMLJU ◦ SFBDUSFEVYͱ!SFEVYKTUPPMLJUͷґଘ͕૿͑Δ ◦ 1SPWJEFSΛՃ͢ΔͷͰɺطଘͷςετίʔυΛมߋ͢Δඞཁ͕ ͋Δ
ͬ͘͟Γ;VTUBOE
;VTUBOEͱʁ • ʮγϯϓϧͰܰྔͳγϯάϧετΞͷঢ়ଶཧϥΠϒϥϦʯ • ϝΠϯͷ+4ίʔυेߦ΄Ͳ • όϯυϧαΠζLCఔʢNJOJGJFEʣ *OUSPEVDUJPO;VTUBOEɿIUUQT[VTUBOEEPDTQNOEST
;VTUBOEͰͷ4UPSFఆٛ DSFBUFͱ͍͏͔ؔΒશͯ࢝·Δ
;VTUBOEͰͷ4UPSFఆٛ • DSFBUFؔͷҾʹɺTFU HFU TUPSF ΛҾʹऔΔίʔϧόοΫΛ͢ • Γ͕4UPSFΛѻ͏ͨΊͷ)PPLʹͳ
Δ
ίʔϧόοΫঢ়ଶมʢ4UBUFʣͱͦͷ ߋ৽ؔʢ"DUJPOʣΛఆٛͨ͠ΦϒδΣ ΫτΛฦ͢ ;VTUBOEͰͷ4UPSFఆٛ
ίϯϙʔωϯτͰ4UPSFΛࢀর )PPLΛݺͼग़͠ɺཉ͍͠ 4UBUF·ͨ"DUJPOΛબ͢ Δʢ4FMFDUPSʣ ड͚औͬͨ4UBUF"DUJPOΛ ར༻͢Δ
5ZQF4DSJQUͰͷར༻ํ๏ 4UBUFͱ"DUJPOͷܕΛ༻ҙ͢ Δ DSFBUFؔͷܕҾʹ͢
࣮ࡍͷӡ༻ํ๏ɾͳͲ
• ঢ়ଶߋ৽͕ෳࡶ • ϑΥʔϜશମΛͭͷΦϒδΣΫτͱͯ͠ ѻ͍ͬͯΔͨΊɺ·͞ʹ͜Μͳײ͡ʹͳ Δ ී௨ʹॻ͘ͱωετͨ͠ΦϒδΣΫτͷঢ়ଶૢ࡞େม ωετͨ͠ΦϒδΣΫτ
ɿ*NNFSΛ༻ͨ͠Πϛϡʔλϒϧͳঢ়ଶૢ࡞ ˔ DSFBUFؔʹ*NNFSϛυϧΣΞΛڬΈࠐ Ή͚ͩͰ͑Δ ˔ ࣗ࡞ͨ͠ϛυϧΣΞࠩ͠ࠐΉ͜ͱ͕Ͱ͖ ΔͨΊɺଞͷϥΠϒϥϦʹม͕͑ޮ͘ ˔ ؆ܿʹॻ͚Δ
˔ ࣮ࡍʹΠϛϡʔλϒϧͳߋ৽͕ߦΘΕΔ
ɿ4UPSFఆٛϑΝΠϧʹ4FMFDUPSΛूੵ • 4FMFDUPS4UPSFఆٛϑΝΠϧ ʹूੵ͠ɺίϯϙʔωϯτଆͰ ͦΕΛݺͿ͚ͩʹ͢Δ • Ծʹ4UPSFͷ࣮ঢ়ଶཧϥΠ ϒϥϦΛมߋ͢Δ͜ͱʹͳͬͨͱ ͯ͠ɺݺͼग़͠αΠυͰͷ٧Ί
ସ͑ϩδοΫ͕࠷ݶͰࡁΉ
ɿঢ়ଶͷఆٛͱߋ৽Ҏ֎ͷॲཧͳΔ͘ॻ͔ͳ͍ ݱࡏͷ4UBUFΛऔಘͯ͠ܭࢉ Λߦ͏"DUJPO
ɿঢ়ଶͷఆٛͱऔಘɾߋ৽Ҏ֎ͷॲཧͳΔ͘ॻ͔ͳ͍ • ϏδωεϩδοΫؔʹΓग़ ͢ • ूੵ͢ΔؔͰϑΝΠϧ͕ංେԽ ͍ͨ͢͠Ίɺ4UPSFϑΝΠϧͷ Λ੍ݶ
༨ஊɿ4MJDFT1BUUFSO • ؔ৺͝ͱʹ4UBUFͱ"DUJPOͷΈ Λ4MJDFͱׂͯ͢͠Δ • 4MJDFಠཱͨؔ͠ͱͯ͠ఆٛ • 4MJDFΛΈ߹ΘͤͯετΞΛ࡞ ͢Δ
༨ஊɿ3FEVYMJLFQBUUFSOT • ΠϕϯτʹΑͬͯঢ়ଶͷߋ৽ॲ ཧΛग़͚͠ΔSFEVDFSΛ࡞ • EJTQBUDIͱ͍͏"DUJPOΛఆٛ • ݺͼग़͠ଆͰEJTQBUDIʹΠ ϕϯτͷใΛ͢
ಋೖͯ͠Έͯخ͍͠ͱ͜Ζɺඍົͳͱ͜Ζ
خ͍͠ͱ͜Ζ • 1SPWJEFSແ͠ͰطଘͷίʔυʹಋೖͰ͖ΔͨΊɺطଘίʔυςε τͷมߋ͕࠷খݶͰɺ)PPLͷςετ༰қʹͰ͖Δ • ঢ়ଶཧʹඞཁͳॲཧΛҰׅͰએݴͰ͖Δ ◦ Γͦ͏ͱࢥͬͨ࣌ʹΓͤΔ ◦
FTMJOUQMVHJOTUSJDUEFQFOEFODJFTͱΈ߹Θͤͯɺ JNQPSUͰ͖ΔϞδϡʔϧͷ੍ݶͳͲ؆୯ • ϛυϧΣΞͰػೳΛ֦ுͰ͖Δ ◦ ґଘϥΠϒϥϦΛ͑ΔɾίϯτϩʔϧͰ͖Δ
ඍົͳͱ͜Ζɿܕਪ • ͦͷ··ར༻͢Δͱ5ZQF4DSJQUͷܕఆٛΛશͯॻ͘ඞཁ͕͋Δ
༨ஊɿܕਪΛޮ͔ͤΔํ๏͋Γ·͢ • DPNCJOFϛυϧΣΞΛ༻͢Δ ◦ ଞͷϛυϧΣΞͱͷซ༻͕͍͠ ◦ ಛఆͷ߹ʹܕ҆શͰͳ͍<> • [VTUBOETMJDFT
[VTUBOEWBMUJP [VTUBOEYTͳͲͷϥΠϒϥϦΛ ซ༻͢Δ ◦ ॻ͖৺͕มΘΔ͜ͱͱɺґଘΛۃྗݮΒ͍ͨ͜͠ͱ͔Β༻͠ ͍ͯͳ͍ ◦ ؤுͬͯॻ͍ͨΒྑ͍Ͱ͋ΔͷͰɺɺ <>IUUQT[VTUBOEEPDTQNOESTHVJEFTUZQFTDSJQUUZQFTDSJQUHVJEF
• 4UBUFͱ"DUJPOΛͭͷΦϒδΣΫτͱͯ͠એݴ͢ΔͨΊɺܕΤϥʔ ͕4UPSFશମʹٴͿ͜ͱ͕͋Δ • 4UPSFϑΝΠϧ͕େ͖͘ͳΔͱݪҼͷಛఆ͕ࠔʹͳΓ͍͢ ◦ ࠓճͷཁ݅Ͱ4UPSFͷׂ͕͘͠ڐ༰͢Δ͔͠ͳ͍ ඍົͳͱ͜ΖɿܕΤϥʔ
;VTUBOEWͷظ
Wͷظ • ಛʹػೳ͕૿͑ΔΘ͚Ͱͳ͍ʢ#SFBLJOH͕͋Δʣ ◦ FTɺ3FBDUҎલͷαϙʔτΛΊΔͳͲ • όϯυϧαΠζ͕খ͘͞ͳΔ ◦ ݹ͍ػೳΛͬͯεϦϜԽ ◦
LCˠLC΄ͲʢNJOJGJFEʣ ◦ *NNFSΛซ༻͢ΔؔͰαΠζ͕ Ћ͞ΕΔͨΊຊମ͕খ͍͞ͱ خ͍͠ IUUQTHJUIVCDPNQNOEST[VTUBOESFMFBTFTUBHWSD
·ͱΊ
·ͱΊ • 4UPSFͷׂ͕͘͠τοϓμϯͷΞϓϩʔν͕దͨ͠ͷͰ ;VTUBOEΛબΜͩ • ঢ়ଶཧʹඞཁͳॲཧΛҰׅͰએݴͰ͖Δ • جຊDSFBUF͚ؔͩͳͷͰɺ͍ΖΜͳύλʔϯͰཁ݅ʹ߹Θ ͍ͤͨํ͕Ͱ͖Δ
• 5ZQF4DSJQUͰ͏߹͕ඞཁ͔ • དྷΔWͰ͞Βʹܰྔʹͳͬͯخ͍͠