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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Harada Ha
August 04, 2019
Programming
0
660
빠른 안드로이드 개발에 대한 프로세스 알아보기
강남언니의 안드로이드 앱 개발이 어떻게 진행되는지에 대한 프로세스를 이야기 합니다. 또한 다양한 요구사항에 빠르게 대응할 수 있는 개발 노하우를 알려드립니다.
Harada Ha
August 04, 2019
Tweet
Share
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
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
260
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
360
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.4k
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
130
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
530
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
560
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
Windows on Ryzen and I
seosoft
0
250
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
830
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
120
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
110
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
390
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
530
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The Language of Interfaces
destraynor
162
26k
How to Ace a Technical Interview
jacobian
281
24k
Accessibility Awareness
sabderemane
0
76
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
KATA
mclloyd
PRO
35
15k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
350
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
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
хࢎפ