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
530
Redux/Middlewareを酷使するためにスロットマシーン書いた
We Are JavaScripters! @9th
8845musign
July 20, 2017
Tweet
Share
More Decks by 8845musign
See All by 8845musign
Ubie Vitalsの取り組み紹介
8845musign
0
690
業務システムの銀の弾丸? メモ機能を考察する
8845musign
2
220
業務システムに必要なアクセシビリティ
8845musign
1
970
業務システム狂詩曲
8845musign
4
2k
READING The Atomic Workflow
8845musign
3
650
いまさら styled components 入門した
8845musign
3
830
いろはとアップデート LIGHTNING DESIGN SYSTEM
8845musign
0
1.6k
チームをかえていくこと そして、泥臭さについて
8845musign
1
1.9k
感性デザインとは?
8845musign
4
1.7k
Other Decks in Technology
See All in Technology
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
Terraform Stacks入門 #HashiTalks
msato
0
350
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
590
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
Engineer Career Talk
lycorp_recruit_jp
0
170
いざ、BSC討伐の旅
nikinusu
2
780
10XにおけるData Contractの導入について: Data Contract事例共有会
10xinc
6
620
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
What's new in Ruby 2.0
geeforr
343
31k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Site-Speed That Sticks
csswizardry
0
24
Scaling GitHub
holman
458
140k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
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
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠