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
Architecture_for_mobile_development.pdf
Search
itome
March 14, 2019
Technology
0
260
Architecture_for_mobile_development.pdf
itome
March 14, 2019
Tweet
Share
More Decks by itome
See All by itome
今日始め るCloudflare Browser Rendering
itome
1
230
Android accessibility and automated check tools
itome
1
4.8k
Accessibility in CATS
itome
4
2.4k
Introduce_Owl.pdf
itome
0
89
Introducing Android Accessibility Test with Accessibility Testing Framework
itome
1
710
Introduction of accessibility for mobile development
itome
0
240
Android_Accessibility_Suite.pdf
itome
0
150
Introducing Owl
itome
0
1.1k
Migrate to Koin
itome
2
330
Other Decks in Technology
See All in Technology
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
テストを軸にした生き残り術
kworkdev
PRO
0
210
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
190
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
460
研究開発と製品開発、両利きのロボティクス
youtalk
1
530
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
480
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
240
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
270
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
560
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
112
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
RailsConf 2023
tenderlove
30
1.2k
Why Our Code Smells
bkeepers
PRO
339
57k
Docker and Python
trallard
45
3.6k
Gamification - CAS2011
davidbonilla
81
5.4k
BBQ
matthewcrist
89
9.8k
The Invisible Side of Design
smashingmag
301
51k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Transcript
ϞόΠϧ։ൃͷͨΊͷ ΞʔΩςΫνϟೖ @AbemaTV Hack
2 About me ௩ຊࢤ https://twitter.com/itometeam https://github.com/itome https://medium.com/@itometeam 0.5min
ΞʔΩςΫνϟͬͯͳʹʁ 5min
4 ΞʔΩςΫνϟͬͯͳʹʁ 5min ΞʔΩςΫνϟ(ઃܭ)ʹͨ͘͞Μͷҙຯ͕͋Δ ɾCPUͳͲϋʔυΣΞͷ੍ޚͷํࣜͱͯ͠ͷΞʔΩςΫνϟ ɾωοτϫʔΫͷΞʔΩςΫνϟ ɾιϑτΣΞͷΞʔΩςΫνϟ ɾ…etc ←ࠓ͜͜ʹ͍ͭͯ͠·͢
5 ΞʔΩςΫνϟͬͯͳʹʁ 5min ͦͷ·͑ʹ
6 ΞʔΩςΫνϟͬͯͳʹʁ 5min ͦͦΞʔΩςΫνϟͬͯ Ͳ͏ͯ͠ඞཁͳΜͩΖ͏ʁ
ΞʔΩςΫνϟ͕ਁಁ͢Δલͷ ιϑτΣΞ։ൃ 3min
8 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ͱͱϓϩάϥϛϯάʹଟ͘ͷϕετɾ ϓϥΫςΟεʢεϜʔζͳ։ൃɾอकɾӡ༻ ͷͨΊʹकΔ͖ϧʔϧʣ͕͋Δ
9 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ྫ͑ɿ ׂ౷࣏ʢDivide and Conquerʣ ͦͷ··Ͱղܾ͢Δ͜ͱ͕͍͠ʮେ͖ͳʯɺ ͍͔ͭ͘ͷʮখ͞ͳʯʹׂͯ͠ɺݸผʹղܾ͢Δ
10 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ྫ͑ɿ ಉܕݪཧʢIsomorphism Principleʣ ʮܗʹͩ͜ΘΔʯͱ͍͏ݪཧɺຊ࣭తʹಉ͜͡ͱιʔείʔυͰ ಉ͡Α͏ʹѻ͏͜ͱͰʮҟʯΛཱͪ͘͢͢Δɻ
11 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ྫ͑ɿ ઢܗݪཧʢLinearity Principleʣ ॲཧͷྲྀΕΛઢʹ͢Δݪଇɻ͋Δػೳ͍͔ͭ͘ͷখ͞ͳػೳΛ ઢతʹॏͶ߹Θ࣮ͤͯݱ͢Δͷ͕Α͍ɻ
12 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ྫ͑ɿ ୯Ұݪଇ มߋ͢Δཧ༝͕ಉ͡ͷूΊɺมߋ͢Δཧ༝͕ҧ͏ͷ ͚Δݪଇɻ1ͭͷϞδϡʔϧɺΫϥεؔʹมߋ͢Δཧ༝͕ ̎ͭҎ্͍͚͋ͬͯͳ͍ɻ
13 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ଞʹɿ DRYݪଇ KISSݪଇ ڽूɾ݁߹ݪଇ ։์ɾดݪଇ ݁ՌͷہॴԽ ܁Γฦ͠ͷ࠷খԽ
ϩδοΫͱσʔλͷҰମԽ ରশੑݪଇ ϙϦϞʔϑΟζϜ ใͷӅṭ ΧϓηϧԽ શੑɾॆੑɾϓϦϛςΟϒ ؔ৺ͷ ϙϦγʔͱ࣮ͷ ࢀরͷҰੑ ςετ༰қੑ ୯७ݪཧ ໌ূݪཧ ڻ͖࠷খͷݪଇ ੑ ࢀরಁաੑ ݆ͷݪଇ ϘʔΠεΧτϧʔϧ GOFσβΠϯύλʔϯ σϧϝϧͷ๏ଇ SOLIDݪଇ ҆ఆੑͷݪଇ ֊ݪཧ ґଘੑٯసͷݪଇ ૬ޓӡ༻ੑ ࠶ར༻ ΠϯλʔϑΣ ަੑ ܖʹΑ ޚతϓ Ӫ δϣ
14 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ୯ҰػೳͷΞϓϦέʔγϣϯɺঢ়ଶͷগͳ͍ΞϓϦέʔγϣϯͰ͋Ε ͜ΕΒͷݪଇʹै͏͜ͱͰมߋʹڧ͍ΫϦʔϯͳίʔυ͕ॻ͚Δ
15 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ͔࣌͠͠ྲྀΕɻɻɻ
16 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ΞϓϦέʔγϣϯΑΓଟػೳʹ ΞϓϦέʔγϣϯͷঢ়ଶΑΓෳࡶʹ ɾϝοηʔδػೳ ɾ௨ػೳ ɾࣸਅɺಈըࡱӨ ɾܾࡁػೳ ɾϝσΟΞͷ࠶ੜ
ɾݸਓؒૹۚ ɾը૾ิਖ਼ ɾϩάΠϯ͍ͯ͠Δʁ ɾܾࡁใొ͞Ε͍ͯΔʁ ɾ௨ڐՄ͍ͯ͠Δʁ ɾ֎෦αʔϏε࿈ܞ͍ͯ͠Δʁ
17 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ։ൃͷෳࡶԽʹΑ͍ͬͯΖΜͳ͕ग़ͯ͘Δ ɾͨΓతͳ࣮ͰϕετɾϓϥΫςΟε͔Β֎Εͯ͠·͏͜ͱ͕ଟ͍ ɾνʔϜ։ൃͰɺϝϯόʔͷٕज़ྗʹΑͬͯίʔυͷ࣭ʹ͕ࠩग़Δ ɾٕज़ྗʹ͕ࠩͳͯ͘ɺϓϩδΣΫτશମͰॻ͖ํ͕౷ҰͰ͖ͳ͍
18 ΞʔΩςΫνϟ͕ਁಁ͢ΔલͷιϑτΣΞ։ൃ 3min ϓϩδΣΫτશମͰઃܭΛ౷Ұ͠Α͏ʂ ͞Βʹͦͷઃܭʹै͏͚ͩͰɺϕετϓϥΫςΟεͳ։ൃ ͕Ͱ͖ΔΑ͏ʹϧʔϧΛܾΊΑ͏ʂ MVCɺFluxͳͲͷΞʔΩςΫνϟ͕ొ
19 ΞʔΩςΫνϟͬͯͳʹʁ 5min ؓٳ
20 ΞʔΩςΫνϟͬͯͳʹʁ 5min ΞʔΩςΫνϟͱ طଘͷϕετɾϓϥΫςΟεʹଇͬͨɺ ϓϩδΣΫτશମͷ࣮ύλʔϯͷ͜ͱ
21 ΞʔΩςΫνϟͬͯͳʹʁ 5min ౷Ұ͞ΕͨΞʔΩςΫνϟΛಋೖ͢Δ͜ͱͰ ɾΞʔΩςΫνϟͷϧʔϧʹैͬͯ։ൃΛ͢Εɺ ɹطଘͷϕετɾϓϥΫςΟεΛҙࣝ͠ͳͯ͘ʢ͋Δ͍Βͳͯ͘ʣ ɹมߋʹڧ͍ΫϦʔϯͳίʔυΛॻ͚ΔΑ͏ʹͳΔ ɾ։ൃνʔϜͷ୭͕ॻ͍ͨίʔυͰɺ ɹଞͷਓ͕؆୯ʹಡΊΔɺ·ͨमਖ਼ΛͰ͖ΔΑ͏ʹͳΔ
దͳΞʔΩςΫνϟબఆͷίπ 3min
23 దͳΞʔΩςΫνϟબఆͷίπ 3min ɾͲͷΞʔΩςΫνϟΛબͿ͔ʹਖ਼ղɾෆਖ਼ղͳ͍ ɾجຊతʹͲΜͳΞʔΩςΫνϟͰɺ ɹͲΜͳΞϓϦέʔγϣϯ։ൃ͕Ͱ͖Δɻ
24 దͳΞʔΩςΫνϟબఆͷίπ 3min ΞʔΩςΫνϟΛߟ͑Δͱ͖ʹߟྀ͢Δ͜ͱ ɾΞϓϦέʔγϣϯͷෳࡶ͞ ɾ։ൃνʔϜͷਓɾٕज़ྗ ɾσϑΝΫτελϯμʔυͳ࣮
25 దͳΞʔΩςΫνϟબఆͷίπ 3min ΞʔΩςΫνϟΛߟ͑Δͱ͖ʹߟྀ͢Δ͜ͱ ɾΞϓϦέʔγϣϯͷෳࡶ͞ ɾ։ൃνʔϜͷਓɾٕज़ྗ ɾσϑΝΫτελϯμʔυͳ࣮
26 దͳΞʔΩςΫνϟબఆͷίπ 3min ɾΞϓϦέʔγϣϯͷෳࡶ͞ γϯϓϧͳΞϓϦ։ൃͰ͋Εɺίʔυ͕ʹͳΓ͍͢Flux ͳͲͷΞʔΩςΫνϟΑΓɺMVCMVVMͷ΄͏͕ૣ͘։ൃ͕Ͱ͖Δ ҰํɺFluxReduxɺMVIͷΑ͏ͳΞʔΩςΫνϟίʔυͷ੍͕ ڧ͍ͨΊɺେنͳ։ൃͰഁͮ͠Β͍ ͨͩ͠ɺίʔυৗʹෳࡶԽ͍ͯ͘͠ͷͳͷͰɺݟۃΊ͕ඞཁ
27 దͳΞʔΩςΫνϟબఆͷίπ 3min ΞʔΩςΫνϟΛߟ͑Δͱ͖ʹߟྀ͢Δ͜ͱ ɾΞϓϦέʔγϣϯͷෳࡶ͞ ɾ։ൃνʔϜͷਓɾٕज़ྗ ɾσϑΝΫτελϯμʔυͳ࣮
28 దͳΞʔΩςΫνϟબఆͷίπ 3min ɾ։ൃνʔϜͷਓɾٕज़ྗ ։ൃϝϯόʔ͕ଟ͍͚ΕɺΞʔΩςΫνϟʹΑΔ੍͕ڧ͍ํ͕Α͍ ΞʔΩςΫνϟͷ֓೦ࣗମ͕͍͠߹ɺϝϯόʔશһ͕ͦΕΛशಘ͢Δ ίετ։ൃͷʹؚ·ΕΔɻ ։ൃϝϯόʔͷେ෦͕׳Ε͍ͯΔΞʔΩςΫνϟ͕͋ΕɺͦΕΛ ·ͣݕ౼͢Δ
29 దͳΞʔΩςΫνϟબఆͷίπ 3min ΞʔΩςΫνϟΛߟ͑Δͱ͖ʹߟྀ͢Δ͜ͱ ɾΞϓϦέʔγϣϯͷෳࡶ͞ ɾ։ൃνʔϜͷਓɾٕज़ྗ ɾσϑΝΫτελϯμʔυͳ࣮
30 దͳΞʔΩςΫνϟબఆͷίπ 3min ɾσϑΝΫτελϯμʔυͳ࣮ Ͱ͖Δ͚ͩελϯμʔυͳΞʔΩςΫνϟΛબΜͩํ͕ɺϥΠϒϥϦ͕ ॆ࣮͍ͯͨ͠ΓɺυΩϡϝϯτStack OverflowͷճͳͲͷࣝʹ ΞΫηε͍ͨ͢͠ΊΑ͍ AndroidͰ͋ΕMVVM͕ެࣜʹαϙʔτ͞Ε͍ͯΔɻiOSʹެࣜͷ ࣮ͳ͍͕ɺClean
ArchitectureFluxʹΑΔ࣮ྫ͕ଟ͍
31 దͳΞʔΩςΫνϟબఆͷίπ 3min Ҏ্ͷΑ͏ͳߟྀ͖͢ΛΫϦΞͰ͖͍ͯΕɺ جຊతʹԿΛબΜͰͳ͍
32 దͳΞʔΩςΫνϟબఆͷίπ 3min ͨͩ͠ɺෳͷઃܭΛࠞͥͳ͍Α͏ʹ͢Δ A͞Μ B͞Μ Flux͕͖ͳͷͰɺࣗͷϩάΠϯը໘ FluxΛ࠾༻͠·͢ʂ MVCʹ׳Ε͍ͯΔͷͰɺͷ୲͍ͯ͠Δ ϓϩϑΟʔϧը໘MVCΛͱʹઃܭ͠·͢ʂ
33 దͳΞʔΩςΫνϟબఆͷίπ 3min ͨͩ͠ɺෳͷઃܭΛࠞͥͳ͍Α͏ʹ͢Δ A͞Μ B͞Μ B͞Μͷίʔυ͕ಡΊͳ͍ɻɻɻ A͞Μͷίʔυ͕ಡΊͳ͍ɻɻɻ C͞Μ A͞Μͷ୲ՕॴͱB͞Μͷ୲Օॴʹ
ಉ͡Α͏ͳमਖ਼Λ͍ͨ͠ͷʹ ઃܭ͕શ͘ҧ͍ͬͯ͠ɻɻɻ
͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min
35 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
36 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
37 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC Model View Controller ΞϓϦέʔγϣϯͷϩδοΫΛ୲͢Δ ը໘ͷඳըΛ୲͢Δ Model
- ViewͷؒʹཱͬͯͦΕͧΕͷೖग़ྗΛ நԽ͢Δ ex) View͔Βड͚औͬͨΫϦοΫΠϕϯτΛ ɹʮσʔλΛऔಘ͍ͨ͠ʯͱ͍͏ϦΫΤετͱͯ͠ ɹ ModelʹૹΔ
38 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ϝϦοτ σϝϦοτ ModelʹϩδοΫͷॲཧΛͤΔ ͜ͱͰɺView͕ංେԽͮ͠Β͘ͳΔ Controller͕ؒʹཱͭ͜ͱʹΑͬͯ ModelͱView͕ૄ݁߹ʹͳΔ
֤෦ΛͲ͏࣮͢Δ͔݁ہ ͦΕͧΕͷ࣮ऀʹҕͶΒΕ͍ͯΔ Ͳ͜ʹॻ͚͍͍͔ܾΊΒΕ͍ͯͳ͍ ͜ͱ͕ଟ͍
39 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
40 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVVM ModelɾView ViewModel MVCͱಉ͡ Viewͷঢ়ଶཧɺߋ৽Λߦ͏ Viewͷঢ়ଶͱViewModelͷঢ়ଶৗʹ ಈዲ͞Ε͍ͯͯɺViewModelͷߋ৽͙͢ʹ
Viewʹө͞ΕɺΫϦοΫͳͲͷViewͷΠϕϯτ ViewModelܦ༝ͰModelʹ͑ΒΕΔ
41 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVVM https://qiita.com/rmakiyama/items/779cf6407f70b40e4ee7 ΑΓ
42 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVVM ϝϦοτ σϝϦοτ ViewModelͷঢ়ଶΛߋ৽͢Δ͚ͩͰ ࣗಈతʹView͕ߋ৽͞ΕΔͨΊɺ Viewͷঢ়ଶཧ͕Θ͔Γ͍͢ ViewModel
- Viewͷঢ়ଶΛSync ͤ͞ΔΈ͕ඞཁ (RxʹΑΔঢ়ଶมߋ௨ͳͲ) ViewModel͕ංେ͍͢͠
43 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
44 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾClean Architecture https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html ΑΓ
45 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾClean Architecture MVCͳͲͷΞʔΩςΫνϟΛ ϨΠϠʔ͝ͱͷΛ໌֬Խͯ͠ ࠶ઃܭͨ͠ͷ σʔλͷྲྀΕৗʹ ʮ֎ˠˠ֎ʯͱͳΔΑ͏ʹ
ઃܭ͞Ε͓ͯΓɺUseCase͕ σʔλͷྲྀΕͷؒʹཱͬͯ ϩδοΫΛׂ͢Δ
46 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾClean Architecture ϝϦοτ σϝϦοτ ֤ϨΠϠʔͷ͕໌֬ͳͨΊɺ ԿΛͲ͜ʹॻ͔͕࣮͘ऀʹΑͬͯ มΘΔ͜ͱ͕গͳ͍
DDD(υϝΠϯۦಈઃܭ)Λͱʹ ͍ͯ͠ΔͨΊɺClean Architecture Ͱྑ͍ίʔυΛॻ͘ʹDDDͷࣝ ͕ඞཁʹͳΔ UseCase͕ॲཧΛࡉ͔͘ ׂ͢ΔͨΊɺϩδοΫͷ࠶ར༻ੑ͕ ߴ·Δ
47 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
48 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾFlux https://facebook.github.io/flux/ ΑΓ
49 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾFlux ୯ํσʔλϑϩʔͷදతͳ ΞʔΩςΫνϟ ΞϓϦέʔγϣϯͷঢ়ଶStoreͷΈʹ Αͬͯཧ͞ΕɺͦΕҎ֎Storeͷঢ়ଶΛ ߋ৽͢ΔͨΊͷϞδϡʔϧ ঢ়ଶͷߋ৽ඞͣ
View → Action → Dispatcher → Store ͷॱʹσʔλ͕ྲྀΕΔ͜ͱͰߦΘΕΔ
50 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾFlux ϝϦοτ σϝϦοτ ঢ়ଶ͕Storeʹू͞ΕΔͨΊ ཧ͕͍͢͠ ಉظతͳঢ়ଶߋ৽Λجຊʹ ͍ͯ͠ΔͨΊɺ௨৴ͳͲͷඇಉظ
ॲཧͱͷ࿈ܞʹ͕ඞཁ ΞʔΩςΫνϟϨϕϧͰςετ༰қੑ ͕ߟ͑ΒΕ͍ͯΔ ঢ়ଶͷߋ৽͕Actionͱ݁ͼͭͨ͘Ί ͲͷΑ͏ͳঢ়ଶߋ৽͕͋Δ͔Λ Ұཡ͍͢͠
51 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVC ɾMVVM ɾClean Architecture ɾFlux ɾMVI ࠓհ͢ΔΞʔΩςΫνϟ
52 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVI
53 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVI Fluxͱಉ༷ʹ୯ํσʔλϑϩʔͷ ΞʔΩςΫνϟ Intent, Action, Result, Stateͱ͍͏
σʔλͱɺಁաతͳؔͷΈͰ࣮ ͢Δ
54 ͍Ζ͍ΖͳΞʔΩςΫνϟͷհ 6min ɾMVI ϝϦοτ σϝϦοτ ঢ়ଶߋ৽ͷϩδοΫͷࢀরಁաੑ ͕୲อ͞Ε͍ͯΔͨΊɺςετ͕ ॻ͖͍͢ FluxΑΓ֤Ϟδϡʔϧͷׂ͕
ࡉԽ͞Ε͍ͯΔͨΊɺ ࣮ऀʹΑΔίʔυͷϒϨ͕গͳ͍ ϘΠϥʔϓϨʔτ͕ଟ͘ɺ؆୯ͳ࣮Λ ͢Δ͚ͩͰଟ͘ͷίʔυΛॻ͘ඞཁ͕ ͋Δ
·ͱΊ 2min
56 ·ͱΊ 2min ΞʔΩςΫνϟʹۜͷؙͳ͍ దͳΞʔΩςΫνϟʹଇͬͯ։ൃΛߦ͏͜ͱͰɺ ϓϩάϥϛϯάͷϕετϓϥΫςΟεΛϓϩδΣΫτશମͰकΔ͜ͱ͕Ͱ͖Δ ΞʔΩςΫνϟͷઃܭطଘͷΞʔΩςΫνϟͷબʹ ϕετϓϥΫςΟεΛΔ͜ͱ͕େ
57 ·ͱΊ 2min ͋Γ͕ͱ͏͍͟͝·ͨ͠ @AbemaTV Hack https://twitter.com/itometeam https://github.com/itome https://medium.com/@itometeam