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
Redux/Middlewareを酷使するためにスロットマシーン書いた
Search
8845musign
July 20, 2017
Technology
0
570
Redux/Middlewareを酷使するためにスロットマシーン書いた
We Are JavaScripters! @9th
8845musign
July 20, 2017
Tweet
Share
More Decks by 8845musign
See All by 8845musign
Ubie Vitalsの取り組み紹介
8845musign
0
930
業務システムの銀の弾丸? メモ機能を考察する
8845musign
2
240
業務システムに必要なアクセシビリティ
8845musign
1
1k
業務システム狂詩曲
8845musign
4
2k
READING The Atomic Workflow
8845musign
3
700
いまさら styled components 入門した
8845musign
3
900
いろはとアップデート LIGHTNING DESIGN SYSTEM
8845musign
0
1.7k
チームをかえていくこと そして、泥臭さについて
8845musign
1
2k
感性デザインとは?
8845musign
4
1.8k
Other Decks in Technology
See All in Technology
TODAY 看世界(?) 是我們在看扣啦!
line_developers_tw
PRO
0
260
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
320
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
210
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
150
OCI Oracle Database Services新機能アップデート(2025/03-2025/05)
oracle4engineer
PRO
1
170
What's new in OpenShift 4.19
redhatlivestreaming
1
300
Amazon Q Developer for GitHubとAmplify Hosting でサクッとデジタル名刺を作ってみた
kmiya84377
0
3.5k
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
990
Long journey of Continuous Delivery at Mercari
hisaharu
1
220
「規約、知識、オペレーション」から考える中規模以上の開発組織のCursorルールの 考え方・育て方 / Cursor Rules for Coding Styles, Domain Knowledges and Operations
yuitosato
6
1.9k
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
130
DB 醬,嗨!哪泥嘎斯基?
line_developers_tw
PRO
0
250
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
Designing for humans not robots
tammielis
253
25k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building Applications with DynamoDB
mza
95
6.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Docker and Python
trallard
44
3.4k
Balancing Empowerment & Direction
lara
1
310
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Transcript
MiddlewareΛ͏Β͢ΔͨΊʹ εϩοτŵŕţŎŖƃॻ͍ͨ We Are JavaScripters! @9th
ෲےϩʔϥʔͷྗΛ৴͡Ζ !NVTJHO גࣜձࣾνʔϜεϐϦοτےτϨͱྉཧΛ୲ ݄ҰͰ̏LHʙմΛমͬͯ·͢ ͓·͚ͰϑϩϯτΤϯυΛগʑ
? ReduxɺͲ͜ʹϩδοΫΛॻ͘ʁ
View Provider Store State Reducer Middle ware User Actions
View Provider Store State Reducer Middle ware User Actions ίίʁ
ίίʁ ίίʁ
! MiddlewareͲ͏ʁ
View Provider Store State Reducer Middle ware User Actions ίί
Pros. Dispatch 1 ࣗ༝ʹActionͷ ϑϩʔ੍͕ޚՄೳ State 2 ඞཁͳState Middlewareࣗମ͕ ͍ͬͯΔ
Action 3 ͋ΒΏΔActionʹ հೖͰ͖Δ
νʔϜʮϝϦοτ͕૾͔ͭΜʯ ouch!
࣮ྫΛަ͑ͳ͚ΕΘΒͳ͍ ͦͦ͜͜ͷنΛ࡞Βͳ͚ΕΘ͔Βͳ͍
ΞϓϦॻ͍ͪΌ͑
BINGO༻εϩοτŵŕţŎŖƃ ˞ձࣾͷࣾΠϕϯτͰ࣮ઓೖ https://github.com/8845musign/bingo-2017
DEMO
? ReduxԿΛͬͯΔͷ͔
ήʔϜશମͷ੍ޚ
εϩοτΞχϝͷ੍ޚ
ࢴਧઇͷ੍ޚ
? MiddlewareͲ͏ͳͬͯΔ͔
நબ Ϣʔβͷૢ࡞ʹΑΓ Ұͭͷ"DUJPO͕͛ΒΕΔ
நબ ࢴਧઇ εϩοτ։࢝ εϩοτऴྃ "DUJPO.JEEMFXBSF ʹΑͬͯෳͷ"DUJPO ʹղ͞ΕΔ Ξχϝʔγϣϯϧʔϓ ىಈʢεϩοτʣ Ξχϝʔγϣϯϧʔϓ
ىಈʢࢴਧઇʣ εϩοτͷ։࢝ εϩοτΞχϝ εϩοτΞχϝ εϩοτΞχϝ ࢴਧઇΞχϝ ऴྃఆ
நબ ࢴਧઇ εϩοτ։࢝ εϩοτऴྃ .JEEMFXBSFͰ ඞཁͳܭࢉ͕ ߦΘΕΔ Ϧʔϧͷֆฑͷੜ ΞλϦͷநબ εϩοτΞχϝ
εϩοτΞχϝ εϩοτΞχϝ ࢴਧઇΞχϝ ࠲ඪܭࢉ ࠲ඪܭࢉ
"DUJPOͷൃߦ ؆ུԽͯ͠ΈΔͱ 3FEVDFSʹΑΔॲཧ "DUJPOͷൃߦ .JEEMFXBSF ܭࢉ ʜ
"DUJPOͷൃߦ "DUJPOͱ3FEVDFS ͓ͦΖ͘͠ γϯϓϧʹͳΔ 3FEVDFSʹΑΔॲཧ "DUJPOͷൃߦ .JEEMFXBSF ܭࢉ ʜ தؒॲཧ
"DUJPOͷൃߦ "DUJPOͱ3FEVDFS ͓ͦΖ͘͠ γϯϓϧʹͳΔ 3FEVDFSʹΑΔॲཧ "DUJPOͷൃߦ .JEEMFXBSF ܭࢉ ʜ T
தؒॲཧ Πϕϯτͷൃߦ εςʔτͷཧ
"DUJPOͷൃߦ .JEEMXBSF ԿʹԠͯ͠ ԿʹॲཧΛܨ͙͔ ͚ͩΛߟ͑Εྑ͍ 3FEVDFSʹΑΔॲཧ "DUJPOͷൃߦ .JEEMFXBSF ܭࢉ ʜ
͕໌֬ʹͳΓׂͰ͖ͨ
ٯʹॲཧͷͭͳ͕ΓͷѲ͕େม
ٯʹॲཧͷͭͳ͕ΓͷѲ͕େม %6$,4ύλʔϯͰཧ
MiddlewareɺΞϦ͔
Έͳ͞Μ.JEEMFXBSFΛ ͏Βͯ͠Έ͍͔͕ͯʁ
એ ͝Μ৯ͳ͕ΒϑϩϯτΤϯυΛ ޠΒ͏ձΛʹߦ͍·͢ɻ IUUQTDPOOQBTTDPNFWFOU
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠