Skip to content

๋ฒ„์Šค ๐ŸšŒ, ์ง€ํ•˜์ฒ  ๐Ÿš‹ ๋ฉˆ์ถฐ! โ›” - ๋Œ€์ค‘๊ตํ†ต ๋ง‰์ฐจ ์•Œ๋žŒ ์„œ๋น„์Šค Plz Stop

Notifications You must be signed in to change notification settings

boostcampwm-2022/android10-PlzStop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

android10-PlzStop

cover2

๋ฒ„์Šคย ๐ŸšŒ, ์ง€ํ•˜์ฒ ย ๐Ÿš‹ย ๋ฉˆ์ถฐ!ย โ›”

ํ˜น์‹œ ๋ง‰์ฐจ ์‹œ๊ฐ„ ํ™•์ธ์„ ์œ„ํ•ด
๊ณ„์† ํ•ธ๋“œํฐ๋งŒ ๋ถ™์žก๊ณ  ๊ณ„์‹œ์ง„ ์•Š์œผ์‹ ๊ฐ€์š”?
Plz Stop์ด ๋Œ€์‹  ํ™•์ธํ•ด๋“œ๋ฆด๊ฒŒ์š”!

๐ŸšŒ ์›ํ•˜๋Š” ๊ฒฝ๋กœ์˜ ๋Œ€์ค‘๊ตํ†ต ๋ง‰์ฐจ ์ •๋ณด๋ฅผ ํ™•์ธํ•ด ๋ณด์„ธ์š”

์ถœ๋ฐœ์ง€์™€ ๋„์ฐฉ์ง€๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ๊ฒฝ๋กœ์˜ ๋Œ€์ค‘๊ตํ†ต ๋ง‰์ฐจ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค

โฐ ๋ง‰์ฐจ ์•Œ๋žŒ์„ ๋“ฑ๋กํ•ด ๋ณด์„ธ์š”

ํ•ด๋‹น ๊ฒฝ๋กœ์˜ ๋ง‰์ฐจ ์•Œ๋žŒ์„ ๋“ฑ๋กํ•˜๋ฉด ๋ง‰์ฐจ ์‹œ๊ฐ„ 00๋ถ„ ์ „์— ์•Œ๋žŒ์„ ํ†ตํ•ด ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค

๐Ÿƒ๐Ÿป ์ •๋ฅ˜์žฅ๊นŒ์ง€ ๋ง‰์ฐจ์‹œ๊ฐ„๋ณด๋‹ค ๋จผ์ € ๋„์ฐฉํ• ์ง€ ์‹œํ•ฉํ•ด๋ณด์„ธ์š”

์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์œ„์น˜์™€ ๋ง‰์ฐจ์‹œ๊ฐ„์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณด์—ฌ์ฃผ๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋™ํ•ด์•ผํ•  ๊ฒฝ๋กœ๋ฅผ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค

ํŒ€ ์†Œ๊ฐœ ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘

K008 ๊น€์‹œ์ง„ K037 ์ด์ข…์„ฑ K039 ์ด์ง€๋ฏผ K048 ์กฐ๊ฒฝํ˜„
@koreatlwls @DoTheBestMayB @jeeminimini @khcho226

์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ—บ๏ธ ์ง€๋„

  • ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์œ„์น˜๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํŠธ๋ž˜ํ‚นํ•˜์—ฌ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ์ง€๋„์ƒ์˜ ์ž„์˜์˜ ์ง€์ ์„ ํด๋ฆญํ•˜๋ฉด ํ˜„ ์œ„์น˜๋กœ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ํฌํ•จํ•œ ์ƒ์„ธ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ๋ง‰์ฐจ ์•Œ๋žŒ์ด ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ํ™”๋ฉด ํ•˜๋‹จ์— ์•Œ๋žŒ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
์ง€๋„ ์ง€๋„

๐Ÿ” ๊ฒ€์ƒ‰

  • ์›ํ•˜๋Š” ์žฅ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชฉ์ ์ง€์— ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋Œ€์ค‘๊ตํ†ต ๊ฒฝ๋กœ๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
๊ฒ€์ƒ‰ ๊ฒ€์ƒ‰ ๊ฒ€์ƒ‰

๐ŸšŒ ๋ง‰์ฐจ

  • ๊ฒฝ๋กœ์ƒ์— ์žˆ๋Š” ์Šน์ฐจ์ง€์˜ ๋ง‰์ฐจ ์‹œ๊ฐ„์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
  • ์Šน์ฐจ์ง€ ์‚ฌ์ด์˜ ์ด๋™ ๊ฑฐ๋ฆฌ์™€ ๋ง‰์ฐจ ์‹œ๊ฐ„์„ ๊ณ ๋ คํ•˜์—ฌ, ์ฒซ ์Šน์ฐจ์ง€์— ํƒ‘์Šนํ•˜๋Ÿฌ ์ถœ๋ฐœํ•ด์•ผ ํ•˜๋Š” ์ฐ-๋ง‰์ฐจ ์‹œ๊ฐ„์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
๋ง‰์ฐจ ๋ง‰์ฐจ

โฐ ์•Œ๋žŒ

  • ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๊ฒฝ๋กœ์˜ ๋ง‰์ฐจ ์‹œ๊ฐ„ 00๋ถ„ ์ „์— ์•Œ๋žŒ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์•Œ๋žŒ์„ ์†Œ๋ฆฌ ๋˜๋Š” ์ง„๋™์œผ๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์•Œ๋žŒ ์•Œ๋žŒ

๐Ÿƒ๐Ÿป ๋ฏธ์…˜

  • ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์‹ค์‹œ๊ฐ„ ์œ„์น˜๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ๋ชฉ์ ์ง€๊นŒ์ง€์˜ ๊ฒฝ๋กœ๋ฅผ ํ‘œ์‹œํ•ด์ค๋‹ˆ๋‹ค.
  • ๋ง‰์ฐจ์‹œ๊ฐ„๋ณด๋‹ค ๋จผ์ € ๋„์ฐฉํ• ์ง€ ์‹œํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฏธ์…˜ ๋ฏธ์…˜

๊ธฐ์ˆ  ์Šคํƒ

Clean Architecture

  • UseCase๋ฅผ ์ด์šฉํ•ด ๊ธฐ๋Šฅ ์ง๊ด€์  ํŒ๋‹จ ๊ฐ€๋Šฅ
  • ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ๋‚ด๋ถ€ ๋กœ์ง์ด ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•  ๋•Œ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜ ๊ฐ€๋Šฅ

Multi Module

  • ์ˆ˜์ •๋œ ๋ชจ๋“ˆ๋งŒ ๋นŒ๋“œ โ†’ ๋นŒ๋“œ ์‹œ๊ฐ„ ๋‹จ์ถ•
  • ์˜์กด์„ฑ์ด ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ๋‹ค.

Hilt

  • @AndroidEntryPoint๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Service, BroadCastReceiver์—๋„ ์˜์กด์„ฑ ์ฃผ์ž… ๊ฐ€๋Šฅ
  • ํ”„๋กœ์ ํŠธ ์„ค์ •์˜ ๊ฐ„์†Œํ™”
  • ์‰ฌ์šด ๋ชจ๋“ˆ ํƒ์ƒ‰๊ณผ ํ†ตํ•ฉ

Navigation

  • Safe Args
  • Activity๋ณด๋‹ค ๊ฐ€๋ฒผ์šด Fragment
  • ์‰ฌ์šด ํ™”๋ฉด ์ „ํ™˜ Animation ์ถ”๊ฐ€

Moshi vs Gson

  • ์ง๋ ฌํ™” ์‹คํŒจ ๋ฉ”์‹œ์ง€ ์ œ๊ณต
  • ๋‹คํ˜•์„ฑ ๋ฐ์ดํ„ฐ ์ง๋ ฌํ™” ์ œ๊ณต
  • Codegen ๋ฐฉ์‹

T Map vs ํƒ€ Map SDK

  • T Map ๋Œ€์ค‘๊ตํ†ต API์™€์˜ ์›ํ™œํ•œ ๋ฐ์ดํ„ฐ ์—ฐ๋™์„ ์œ„ํ•ด ์‚ฌ์šฉ
  • ๋ฒกํ„ฐ ๋งต(Vector Map) ์ง€์›
  • ๋‹ค๋ฅธ ์ง€๋„ ์–ดํ”Œ์— ๋น„ํ•ด ๊น”๋”ํ•œ UI
  • ํƒ€ Map SDK์— ๋น„ํ•ด ์šฉ๋Ÿ‰์ด ์ ์Œ

DataStore vs Sharedpreference

  • DataStore๋Š” ์ฝ”๋ฃจํ‹ด๊ณผ Flow๋ฅผ ํ†ตํ•ด ์ฝ๊ณ  ์“ฐ๊ธฐ์— ๋Œ€ํ•œ ๋น„๋™๊ธฐ API๋ฅผ ์ œ๊ณต
  • DataStore๋Š” UI ์“ฐ๋ ˆ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด๋„ ์•ˆ์ „
  • Runtime Exception์œผ๋กœ๋ถ€ํ„ฐ ์•ˆ์ „

Foreground Service vs WorkManger

  • ๋‘˜ ๋‹ค ์ฆ‰์‹œ ์‹คํ–‰ํ•ด์•ผํ•˜๋Š” ์ž‘์—…์— ์‚ฌ์šฉ
  • WorkManager์˜ ๊ฒฝ์šฐ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ง€์—ฐ ๊ฐ€๋Šฅ
  • ์‚ฌ์šฉ์ž์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์†์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋ฉฐ UI๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— Foreground Service ์‚ฌ์šฉ

About

๋ฒ„์Šค ๐ŸšŒ, ์ง€ํ•˜์ฒ  ๐Ÿš‹ ๋ฉˆ์ถฐ! โ›” - ๋Œ€์ค‘๊ตํ†ต ๋ง‰์ฐจ ์•Œ๋žŒ ์„œ๋น„์Šค Plz Stop

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages