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
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
690
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
Use MVI Architecture in Kotlin × Android
itome
1
1.5k
Other Decks in Technology
See All in Technology
Shadow DOMとセキュリティ - 光と影の境界を探る / Shibuya.XSS techtalk #13
masatokinugawa
0
280
激動の時代、新卒エンジニアはAIツールにどう向き合うか。 [LayerX Bet AI Day Countdown LT Day1 ツールの選択]
tak848
0
550
TROCCO今昔
gtnao
0
210
少人数でも回る! DevinとPlaybookで支える運用改善
ishikawa_pro
1
550
Shadow DOM & Security - Exploring the boundary between light and shadow
masatokinugawa
0
670
Snowflake のアーキテクチャは本当に筋がよかったのか / Data Engineering Study #30
indigo13love
0
260
Wasmで社内ツールを作って配布しよう
askua
0
130
AI Ready API ─ AI時代に求められるAPI設計とは?/ AI-Ready API - Designing MCP and APIs in the AI Era
yokawasa
21
5.8k
P2P通信の標準化 WebRTCを知ろう
faithandbrave
6
2.3k
スプリントレビューを効果的にするために
miholovesq
9
1.6k
20150719_Amazon Nova Canvas Virtual try-onアプリ 作成裏話
riz3f7
0
140
経理出身PdMがAIプロダクト開発を_ハンズオンで学んだ話.pdf
shunsukenarita
1
130
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Visualization
eitanlees
146
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Unsuck your backbone
ammeep
671
58k
RailsConf 2023
tenderlove
30
1.2k
Adopting Sorbet at Scale
ufuk
77
9.5k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Practical Orchestrator
shlominoach
189
11k
Balancing Empowerment & Direction
lara
1
500
Typedesign – Prime Four
hannesfritz
42
2.7k
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