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
310
Privacy Changes in Android Q
hadonghyun
1
420
지금까지 이런 간단한 Logic 처리는 없었다 이것은 Rx 인가, UI 이벤트인가? 네, RxBinding입니다.
hadonghyun
1
220
Other Decks in Programming
See All in Programming
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
320
Namespace and Its Future
tagomoris
6
700
AIコーディングAgentとの向き合い方
eycjur
0
270
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
310
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.2k
為你自己學 Python - 冷知識篇
eddie
1
350
私の後悔をAWS DMSで解決した話
hiramax
4
210
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
310
ソフトウェアテスト徹底指南書の紹介
goyoki
1
150
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
OSS開発者という働き方
andpad
5
1.7k
1から理解するWeb Push
dora1998
7
1.9k
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Done Done
chrislema
185
16k
Context Engineering - Making Every Token Count
addyosmani
1
37
Faster Mobile Websites
deanohume
309
31k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Making Projects Easy
brettharned
117
6.4k
KATA
mclloyd
32
14k
Building Adaptive Systems
keathley
43
2.7k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
The Language of Interfaces
destraynor
161
25k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
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
хࢎפ