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
Harada Ha
August 04, 2019
Programming
660
0
Share
빠른 안드로이드 개발에 대한 프로세스 알아보기
강남언니의 안드로이드 앱 개발이 어떻게 진행되는지에 대한 프로세스를 이야기 합니다. 또한 다양한 요구사항에 빠르게 대응할 수 있는 개발 노하우를 알려드립니다.
Harada Ha
August 04, 2019
More Decks by Harada Ha
See All by Harada Ha
Github Actions 로 Android 팀의 효율성 극대화
hadonghyun
0
350
Privacy Changes in Android Q
hadonghyun
1
440
지금까지 이런 간단한 Logic 처리는 없었다 이것은 Rx 인가, UI 이벤트인가? 네, RxBinding입니다.
hadonghyun
1
220
Other Decks in Programming
See All in Programming
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
130
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
200
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
250
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
130
安いハードウェアでVulkan
fadis
1
850
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
200
Java 21/25 Virtual Threads 소개
debop
0
310
AIと共にエンジニアとPMの “二刀流”を実現する
naruogram
0
110
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
520
ファインチューニングせずメインコンペを解く方法
pokutuna
0
220
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
260
Tamach-sre-3_ANDPAD-shimaison93
mane12yurks38
0
210
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
2
870
Building AI with AI
inesmontani
PRO
1
840
Building the Perfect Custom Keyboard
takai
2
720
The SEO identity crisis: Don't let AI make you average
varn
0
430
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
91
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Scaling GitHub
holman
464
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Amusing Abliteration
ianozsvald
0
150
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
Transcript
ࡅܲউ٘۽٘ѐߊীೠ ۽ࣁझঌইࠁӝ ൧݂ಕಌ]ೞزഅ
ೞزഅ]ъթפAndroid Developer #RxJava #Kotlin
য়טܞࠅղਊ ࢲ࠺झࣗѐ যڃߑधਵ۽ഈসೞחо ӝദࠗఠܾܻૉөযڌѱ೯غחо নೠਃҳࢎ೦ীࡅܰѱೞחߑߨ
None
None
None
None
None
None
যڃߑधਵ۽ഈসೞחо
ழޭפா࣌
সޖীҙ۲ػࣗాਸਗഝೞѱ೯ೞӝਤೞৈ ਗठۑਸਊ Slack
Slackഝਊо٘
None
None
None
None
ޙࢲܻ
ৈ۞ٜ࠙ޙࢲܻܳয٣ীࢲ೯ೞदաਃ
җѢীחࣗӏݽ ݺ݅ ӝٸޙীTrelloܳࢎਊ
None
Trelloױ ޙࢲղਊ݆ইࣻ۾ӝয۰ਕҊҙܻоੜউؽ
݆ޙࢲܳബਯਵ۽ҙܻೞӝਤೞৈ ஶܖझܳਊೣ Confluence
Confluenceഝਊद
Confluenceױ ѐߊ৻ࢎۈٜܖӝয۰
Notionਸഝਊ೧ࠁ
Notionഝਊद
Notion
None
None
None
None
۞ழ࠳оӝٸޙী ࠺ѐߊٜ࠙بࣚऔѱޙࢲসਸ೯ೡࣻ
ܻߓ (
ࠛਃೠܻࣗझܳӝਤೞৈ эݾਵ۽ࢲ࠺झܳ݅٘חࢎۈٜՙܻܻߓ
None
4DSVN
ݒইஜ࠙زউ 4DSVN೯
4QSJOUӝр 4QSJOUഥदрदрղ
4QSJOUӝр 4QSJOUഥदрदрղ
झܽ ഥ۾
झܽ ഥ۾ ࢚ࣁ
5IFHPPEUIJOHTUIBUIBQQFOFEBOEUIBU XFXBOUUPLFFQBTQBSUPGPVSQSPDFTTDVMUVSF 5IFDIBMMFOHFTXFGBDFEJOUIFDVSSFOUTQSJOU BOEUIFJNQSPWFNFOUTXFOFFEUPNBLF 5IFDPSSFDUJWFTBDUJPOTUPHFUSJEPGUIFQSFWJPVTQSPCMFNT PSUIFJNQSPWFNFOUTJOPSEFSUPHFUBTNPPUIFSDPVSTFPOUIFOFYUTQSJOU ,15ܳాೠഥҊ 1SPCMFN ,FFQ 5SZ
KPT
KPT
ӝദࠗఠܾܻૉө যڌѱ೯غחо
ѐਘझշࢫ ٣ੋ ର ѐߊद ٣ੋ୭ઙ ѐߊ৮ܐ߂2" ܾܻૉ ӝദഥ 3FIBC JG
TQSJOUXFFLT
ѐਘझշࢫ
ѐਘٍীܻٜযڃੌਸ೧չਸө
Future Snapshot
ѐਘझշࢫ ٣ੋ ର ѐߊद ٣ੋ୭ઙ ѐߊ৮ܐ߂2" ܾܻૉ ӝദഥ
ҙ۲ػपޖٜ݅ࣻଵৈ ഥীଵৈೞҊरਵݶ־ҳաଵৈоמ ഥदр୭दрղ ✔ ✔ ✔
None
None
None
Time Timer
ഥܳӡѱೠҊ೧ࢲજѾҗоաয়ঋ
ѐਘझշࢫ ٣ੋ ର ѐߊद ٣ੋ୭ઙ ѐߊ৮ܐ߂2" ܾܻૉ ӝദഥ
ઁܽਵ۽স۽٘ೞӝܻ೩٘۽ҕਬ
ܻ೩٘ ҕਬद
ܻ೩٘ ҕਬद
ѐਘझշࢫ ٣ੋ ର ѐߊद ٣ੋ୭ઙ ѐߊ৮ܐ߂2" ܾܻૉ ӝദഥ
ରदউਸࠁҊۚੋౣਸѐߊ
ѐਘझշࢫ ٣ੋ ର ѐߊद ٣ੋ୭ઙ ѐߊ৮ܐ߂2" ܾܻૉ ӝദഥ
୭ઙदউਸܻ೩٘ীࢲഛੋറ ୭ઙѾغݶઁܽস۽٘ Zeplin
٣ੋ ୭ઙ ҕਬ
None
ѐਘझշࢫ ٣ੋ ର ѐߊद ٣ੋ୭ઙ ѐߊ৮ܐ߂2" ܾܻૉ ӝദഥ
Notionী ܻೠ పझாझ
None
ѐਘझշࢫ ٣ੋ ର ѐߊद ٣ੋ୭ઙ ѐߊ৮ܐ߂2" ܾܻૉ ӝദഥ
ߓನ 5% → 10% → 20% → 50% → 100%
ѐਘझշࢫ ٣ੋ ର ѐߊद ٣ੋ୭ઙ ѐߊ৮ܐ߂2" ܾܻૉ ӝദഥ 3FIBC
TQSJOUܳ೯ೞҊաݶ3FIBCਸ೯ ಣࣗীӝоणೞҊरࠗ࠙ਸੌр೯ TQSJOU݄݃զীחण೮؍ղਊਸਗٜҗҕਬ ✔ ✔ ✔
زউऺৈחӝࣿࠗܳ೧Ѿೞӝਤೣ
ਗٜখীࢲߊറӝࣿ࠶۽Ӓܳాೞৈҕਬ
࠶۽Ӓ ੌ ҙܻ
None
None
নೠਃҳࢎ೦ী ࡅܰѱೞחߑߨ
যڃߑधਵ۽ѐߊೞݶ নೠਃҳࢎ೦ীࡅܰѱೡࣻਸө
.71"SDIJUFDUVSFࢎਊ
1SFTFOUFS .PEFM 7JFX VTFSBDUJPOT NPEFMDIBOHFE VQEBUF6* VQEBUFNPEFM
٣ੋରदউաয়ݶ1SFTFOUFSਤ۽ѐߊ
۽߸ೞঋਸѪэࠗ࠙ਸࢶࣽਤ۽ىࢲѐߊ
ݫद࣠ ࢎস۽٘ ݫۄ ࢎӂೠ ੍ܻ
ݫदզद 1SFTFOUFSীٜযт۽
VTFSBDUJPOT NPEFMDIBOHFE VQEBUF6* VQEBUFNPEFM ߄Շחࠗ࠙ 7JFX .PEFM 1SFTFOUFS
٣ੋ୭ઙഛغӝө ୭ೠ7JFXসܞم
ೣࣻഋ۽Ӓې߁ߑध
߸ࣻࢎਊਸনೞҊ ୭ೠѱӝמਸա־חѪਃ
ݫदоੑ۱غݶ ݫۄ ࢎইࢎۄ ਃҳࢎ೦
override fun onCreate() { view.initView() subscribeMessageInputChanges(view.getMessageInputChanges()) } private fun
subscribeMessageInputChanges(observable: Observable<String>) { compositeDisposable.add(observable.subscribe { if (it.isBlank()) notEnteredState() else enteredState() }) } // ݫद ੑ۱ହী ইޖѪب ੑ۱ೞ ঋওਸ ҃ private fun notEnteredState() { view.setCameraBtnVisibility(View.VISIBLE) view.setPhotoBtnVisibility(View.VISIBLE) view.setSendBtnVisibility(View.GONE) } // ݫद ੑ۱ହী Ӗਸ ੑ۱೮ਸ ҃ private fun enteredState() { view.setCameraBtnVisibility(View.GONE) view.setPhotoBtnVisibility(View.GONE) view.setSendBtnVisibility(View.VISIBLE) }
3Y+BWBഝਊ
ࠂೠ۽ਸ3Y+BWBܳഝਊೞৈрױೞѱ೧Ѿоמ
࢜۽ചоࢤࢿغݶզद ীࠁչ؍݄݃ݫददр য়റद࠙ୡറী ࢜۽ݫदоਸ҃զद զद
.FTTBHF DSFBUF5JNFয়റद࠙ୡ
.FTTBHF DSFBUF5JNFয়റद࠙ୡ .FTTBHF DSFBUF5JNFয়द࠙
.FTTBHF DSFBUF5JNFয়റद࠙ୡ .FTTBHF DSFBUF5JNFয়द࠙ ֙ਘੌ
"EBQUFSউীݫदؘఠܳয֍ਸٸ զо߄Շݶզؘఠܳ୶о
"EBQUFS .FTTBHF DSFBUF5JNFয়റद࠙ୡ .FTTBHF DSFBUF5JNFয়द࠙ *OEFY *OEFY
"EBQUFS TLJQ EJTUJODOU6OUJM$IBOHFE\%BUF^ .FTTBHF DSFBUF5JNFয়റद࠙ୡ .FTTBHF DSFBUF5JNFয়द࠙ *OEFY
*OEFY
хࢎפ