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
0
650
빠른 안드로이드 개발에 대한 프로세스 알아보기
강남언니의 안드로이드 앱 개발이 어떻게 진행되는지에 대한 프로세스를 이야기 합니다. 또한 다양한 요구사항에 빠르게 대응할 수 있는 개발 노하우를 알려드립니다.
Harada Ha
August 04, 2019
Tweet
Share
More Decks by Harada Ha
See All by Harada Ha
Github Actions 로 Android 팀의 효율성 극대화
hadonghyun
0
320
Privacy Changes in Android Q
hadonghyun
1
420
지금까지 이런 간단한 Logic 처리는 없었다 이것은 Rx 인가, UI 이벤트인가? 네, RxBinding입니다.
hadonghyun
1
220
Other Decks in Programming
See All in Programming
Le côté obscur des IA génératives
pascallemerrer
0
150
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
Software Architecture
hschwentner
6
2.3k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
220
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
140
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
10
6.7k
Advance Your Career with Open Source
ivargrimstad
0
540
Leading Effective Engineering Teams in the AI Era
addyosmani
5
420
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
180
Catch Up: Go Style Guide Update
andpad
0
230
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
We Have a Design System, Now What?
morganepeng
53
7.8k
Producing Creativity
orderedlist
PRO
347
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Building Applications with DynamoDB
mza
96
6.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
For a Future-Friendly Web
brad_frost
180
9.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Optimizing for Happiness
mojombo
379
70k
Mobile First: as difficult as doing things right
swwweet
224
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Become a Pro
speakerdeck
PRO
29
5.5k
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
хࢎפ