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.7k
課題感から始める クラス設計と合意形成
きりみん
March 11, 2018
Tweet
Share
More Decks by きりみん
See All by きりみん
AndroidエンジニアがRailsにチャレンジしてる理由
kirimin
1
1.6k
What are AtCoder and competitive programming
kirimin
0
10k
バーチャル男声幼女プログラマーとして活動した1年間の振り返り
kirimin
0
1.1k
アプリエンジニアでも神絵師になりたい!
kirimin
4
5.5k
Watashi ni Kotlin ga maiorita
kirimin
0
580
NEMのAPIとモザイクであそぼう
kirimin
0
410
はじめようきれいなコード
kirimin
8
3.1k
Material Components for Android触ってみる
kirimin
7
2.1k
[社内LT]あたらしいMaterial Design
kirimin
1
1.8k
Other Decks in Programming
See All in Programming
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
6
1.7k
Grafana:建立系統全知視角的捷徑
blueswen
0
320
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
230
登壇資料を作る時に意識していること #登壇資料_findy
konifar
3
730
CSC307 Lecture 02
javiergs
PRO
1
770
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
680
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
160
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
CSC307 Lecture 09
javiergs
PRO
1
830
CSC307 Lecture 03
javiergs
PRO
1
490
dchart: charts from deck markup
ajstarks
3
990
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.8k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
230
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
The SEO identity crisis: Don't let AI make you average
varn
0
64
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
52
Information Architects: The Missing Link in Design Systems
soysaucechin
0
770
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
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
ϦϑΝΫλΛ࣮ࢪ͢Δ • ৽࣮͘͢͠ΔՕॴ৽͍͠ઃܭʹ߹ΘͤΔ • ݹ͍ՕॴεέδϡʔϧͳͲͱ૬ஊ͠ͳ͕Β ॱ࣍ॻ͖͍͑ͯ͘
େࣄͳ͜ͱ • ҰਓͰಥͬΒͳ͍ • ৽͍͠ઃܭ͕ϝϯόʔײͰेʹप͞Ε͍ͯͳ ͔ͬͨΓɺҙࣝ߹Θ͕ͤग़དྷ͍ͯͳ͍ͱɺ࣮ऀ ʹΑͬͯνάϋάʹͳͬͨΓɺετϨεͷݪҼʹ ͳΔ • ઃܭͷରϓϩάϥϜ͕ͩɺେࣄͳͷਖ਼͍͠
՝ͷೝࣝͱίϛϡχέʔγϣϯ
ઈର͋͠Θͤͳ ։ൃݱʹ͠Α͏ͳ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠