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
課題感から始める クラス設計と合意形成
Search
きりみん
March 11, 2018
Programming
5
2.5k
課題感から始める クラス設計と合意形成
きりみん
March 11, 2018
Tweet
Share
More Decks by きりみん
See All by きりみん
AndroidエンジニアがRailsにチャレンジしてる理由
kirimin
1
1.5k
What are AtCoder and competitive programming
kirimin
0
9.9k
バーチャル男声幼女プログラマーとして活動した1年間の振り返り
kirimin
0
970
アプリエンジニアでも神絵師になりたい!
kirimin
4
5.3k
Watashi ni Kotlin ga maiorita
kirimin
0
470
NEMのAPIとモザイクであそぼう
kirimin
0
360
はじめようきれいなコード
kirimin
8
3k
Material Components for Android触ってみる
kirimin
7
1.9k
[社内LT]あたらしいMaterial Design
kirimin
1
1.6k
Other Decks in Programming
See All in Programming
Modern Angular with the NGRX Signal Store New Rules for Your Architecture @BASTA! 2024 in Mainz
manfredsteyer
PRO
0
140
開発を加速する共有Swift Package実践
elmetal
PRO
0
420
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
1
630
Regular Expressions, REXML, Automata Learning
makenowjust
0
220
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
550
エンジニア1年目で複雑なコードの改善に取り組んだ話
mtnmr
3
2k
Go Code Generation at newmo / 2024-08-27 #newmo_layerx_go
genkey6
0
560
Prompt Cachingは本当に効果的なのか検証してみた.pdf
ttnyt8701
0
530
Desafios e Lições Aprendidas na Migração de Monólitos para Microsserviços em Java
jessilyneh
2
150
RAGの回答精度評価用のQAデータセットを生成AIに作らせた話
kurahara
0
250
AndroidアプリのUIバリエーションをあの手この手で確認する / Check UI variations of Android apps by various means
tkmnzm
1
170
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
140
Featured
See All Featured
Building Applications with DynamoDB
mza
90
6k
Debugging Ruby Performance
tmm1
72
12k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
How to Ace a Technical Interview
jacobian
274
23k
How to train your dragon (web standard)
notwaldorf
85
5.6k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Mobile First: as difficult as doing things right
swwweet
221
8.8k
Design by the Numbers
sachag
277
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
What's in a price? How to price your products and services
michaelherold
242
11k
Transcript
՝ײ͔Β࢝ΊΔ Ϋϥεઃܭͱ߹ҙܗ Bonfire Android #3
ࣗݾհ • @kirimin • AnyPayגࣜձࣾ ॴଐ • AndroidΤϯδχΞ • όʔνϟϧϢʔνϡʔόʔ
• React-NativeΤϯδχΞ
ฐࣾͷϓϩμΫτ
ࠓͷςʔϚ ʮαʔϏεͱઃܭʯ
ઃܭɺߟ͑ͯ·͔͢ʁ
ʲΞϯέʔτʳઃܭʹ͍ͭͯ • ͕ͬͪΓΫϥεߏΛܾΊͯӡ༻͍ͯ͠Δ
ʲΞϯέʔτʳઃܭʹ͍ͭͯ • ͕ͬͪΓΫϥεߏΛܾΊͯӡ༻͍ͯ͠Δ • ωοτϫʔΫ·ΘΓͱ͔ج൫ͷ෦ͷΫϥε ߏ͚ܾͩΊͯ͋ͱ࣮ऀ࣍ୈ
ʲΞϯέʔτʳઃܭʹ͍ͭͯ • ͕ͬͪΓΫϥεߏΛܾΊͯӡ༻͍ͯ͠Δ • ωοτϫʔΫ·ΘΓͱ͔ج൫ͷ෦ͷΫϥε ߏ͚ܾͩΊͯ͋ͱ࣮ऀ࣍ୈ • શવΘ͔Βͳ͍ɻԶͨͪงғؾͰΦϒδΣ ΫτࢦΛ͍ͬͯΔ
͍Ζ͍Ζͳઃܭύλʔϯ .71 .7$ .77. ""$ 'MVY 3FEVY
ͳΜͰઃܭΛߟ͑Δඞཁ͕ ͋ΔΜͩΖ͏
ͦ͜ʹ՝͕͋Δ͔Β
͑Β͍ͻͱʮMVP͕ΠέͯΔ Β͍͔͠Βɺ࣍ͷΞϓϦ MVPͰͬͯͶʯ
·ΕʹΑ͋͘Δޫܠ • ͑Β͍ͻͱʮMVP͕ΠέͯΔΒ͍͔͠Βɺ࣍ͷ ΞϓϦMVPͰ࡞ͬͯࣗಈςετΛಋೖͶʯ
·ΕʹΑ͋͘Δޫܠ • ͑Β͍ͻͱʮMVP͕ΠέͯΔΒ͍͔͠Βɺ࣍ͷ ΞϓϦMVPͰ࡞ͬͯࣗಈςετΛಋೖͶʯ • ϝϯόʔʮͳΜͰ͜Μͳ໘ͳॻ͖ํ͠ͳ͍ͱ ͍͚ͳ͍Μͩ...ʯʮԿ͕ਖ਼͍͠ͷ͔͔Βͳ ͍...ʯ
·ΕʹΑ͋͘Δޫܠ • ͑Β͍ͻͱʮMVP͕ΠέͯΔΒ͍͔͠Βɺ࣍ͷ ΞϓϦMVPͰ࡞ͬͯࣗಈςετΛಋೖͶʯ • ϝϯόʔʮͳΜͰ͜Μͳ໘ͳॻ͖ํ͠ͳ͍ͱ͍ ͚ͳ͍Μͩ...ʯʮԿ͕ਖ਼͍͠ͷ͔͔Βͳ͍...ʯ • ՝ײ͕ೝࣝग़དྷ͍ͯͳ͍ͷʹઃܭͱݴΘΕͯ ϝϦοτΛ࣮ײ͢ΔͷΉ͔͍ͣ͠
શવΘ͔Βͳ͍ɻ ԶͨͪงғؾͰྲྀߦΓͷ ઃܭΛ͍ͬͯΔ
ରࡦ
1.νʔϜͱͯ͠ग़དྷΔ͜ͱ
ࠓͷϓϩδΣΫτͷ՝Λ ચ͍ग़͢ • Ͳ͜ʹͲΜͳॲཧ͕ॻ͔Ε͍ͯΔͷ͔͔Βͳ ͍ • ৽͍͠ॲཧΛͲ͜ʹॻ͚͍͍ͷ͔͔Βͳ͍ • ঢ়ଶ͕ແବʹෳࡶͰෆͳόά͕ࠞೖ͕ͪ͠ •
ίʔυ͕ಡΈʹ͘͘վमίετ͕ߴ͍
ࠓ͋Δ՝ΛղܾͰ͖ͦ͏ͳύ λʔϯΛಋೖ͠Α͏ • ٯʹ՝͕ಛʹແ͚ΕແཧʹΧοίΠΠઃܭύλʔ ϯΛΘͳ͍͍ͯ͘ • ࢥతʹਖ਼͍͠ΨονϦͨ͠ઃܭ͕ৗʹ༏Ε͍ͯΔ ͱݶΒͳ͍ɹ(શͯͷΫϥεΛinterfaceԽ͢Δͳ Ͳ) •
ͨͩ͠ɺকདྷతͳ՝͕༧ݟग़དྷ͍͍ͯͯΔͳΒ࠷ ॳ͔ΒΨονϦΉͷѱ͘ͳ͍
ݸਓతʹ࠷ݶܾΊ͓͍ͯͨํ ͕Αͦ͞͏ͳ͜ͱ • ͏ϥΠϒϥϦͱ͍ํ • DataBinding/RxJava/Retrofit/EventBus/etc... • σʔλΞΫηεॲཧͷݺͼग़͠ํ • View͔ΒݺͿ/Ϟσϧ͔ΒݺͿ/RepositoryతͳͷΛ࡞Δ/࡞Β
ͳ͍ • ϏδωεϩδοΫΛॻ͘ॴ • ϞσϧΫϥεͬΆ͍ͷ͕͍ΖΜͳύοέʔδʹࢄΒΓ͕ͪ
2.։ൃऀݸਓͱͯ͠ Ͱ͖Δ͜ͱ
࣮࣌ͷ͋Γ͕ͪͳ՝ΛΔ • ΦεεϝͳͷݸਓͰ0͔ΒΞϓϦΛ࡞ͬͯΈΔ͜ͱ • ͦͦ͜͜ͷػೳΛ࣋ͬͨΞϓϦΛҰਓͰ࡞ΓɺԿػೳ վળͷΞοϓσʔτΛ͍ͯ͘͠ • ͍Ζ͍Ζͳ՝͕ݟ͑ͯ͘Δ • ྑ͔Εͱࢥͬͨઃܭ͕ͭΒΈΛੜΉͳͲͷݟ͕ಘΒΕΔ
• ઃܭʹࣦഊͨ͠ܦݧҰੜͷࡒ࢈
ཧ • νʔϜʮ͜͏͍͏՝͕͋Δ͔Β͜ͷઃܭΛ ಋೖ͠Α͏ʯ • ϝϯόʔʮΘ͔Δʯ
͡Ό࣮͋ࡍʹͲ͏ͬͯಋೖ ͢Δͷʁ
paymoͰͷྫ
ఏҊ͢Δ • ॳظͷ࣮͍Ζ͍Ζͳ՝͕͋Δઃܭͩͬͨɹ (DroidKaigiͰͷൃදɺHow to improve your architecture and testsΛࢀর)
• ·ͣேձSlackͳͲͰ՝ײͱΓ͍ͨ͜ͱΛप͢Δ • GitHubʹIssueΛཱͯΔ • จষϕʔεͰํੑʹ͍ͭͯٞ͠νʔϜͰ߹ҙ͢Δ
None
None
None
۩ମҊΛݟͤΔ • αϯϓϧͱͯ͠ҰՕॴʹద༻͍ͨ͠ઃܭΛద༻͠ ͨϒϥϯνΛ࡞ΓɺPRΛग़͢ • ίʔυʹରͯ͠ϝϯόʔ͔Β͘ποίϛΛืΔ • ίʔυϕʔεͰߋʹٞ͢Δ • ApproveΛΒ͍߹ҙͷҙࢥΛ໌֬ʹ֬ೝ͢Δ
None
ϦϑΝΫλΛ࣮ࢪ͢Δ • ৽࣮͘͢͠ΔՕॴ৽͍͠ઃܭʹ߹ΘͤΔ • ݹ͍ՕॴεέδϡʔϧͳͲͱ૬ஊ͠ͳ͕Β ॱ࣍ॻ͖͍͑ͯ͘
େࣄͳ͜ͱ • ҰਓͰಥͬΒͳ͍ • ৽͍͠ઃܭ͕ϝϯόʔײͰेʹप͞Ε͍ͯͳ ͔ͬͨΓɺҙࣝ߹Θ͕ͤग़དྷ͍ͯͳ͍ͱɺ࣮ऀ ʹΑͬͯνάϋάʹͳͬͨΓɺετϨεͷݪҼʹ ͳΔ • ઃܭͷରϓϩάϥϜ͕ͩɺେࣄͳͷਖ਼͍͠
՝ͷೝࣝͱίϛϡχέʔγϣϯ
ઈର͋͠Θͤͳ ։ൃݱʹ͠Α͏ͳ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠