Skip to content

๐Ÿ“† Daily Scrum

Mudol2 edited this page Nov 21, 2022 · 58 revisions

Week1

2022-11-07 Day01

์˜ค๋Š˜ ํ•œ ์ผ

  • ์•„์ด๋””์–ด ํšŒ์˜ โ†’ ์‡ผ์ธ ๋ฅผ ํ™œ์šฉํ•œ ์ผ๊ธฐ์žฅ ์•ฑ

  • Feature List ์ž‘์„ฑ ๋ฐ ์†Œ์š” ์‹œ๊ฐ„ ์˜ˆ์ƒ

    -> Feature List

  • Figma ํ™”๋ฉด ๊ตฌ์„ฑ

    image
  • Project Name ๊ณ ๋ฏผ (๋ฏธ์™„๋ฃŒ)

    • clip
    • day
    • shorts
    • stamp

๋‚ด์ผ ํ•  ์ผ

  • Project Name(์•ฑ ์ด๋ฆ„) ์ •ํ•˜๊ธฐ
  • Github Repository ์ƒ์„ฑ
    • wiki ์ •๋ฆฌ
    • project ์ƒ์„ฑ
  • ๊ทธ๋ผ์šด๋“œ ๋ฃฐ ์ •ํ•˜๊ธฐ
  • ์ปจ๋ฒค์…˜ ์ •ํ•˜๊ธฐ
  • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ํ†ต์ผ
  • ๊ธฐ๋Šฅ์ , ๊ธฐ์ˆ ์  feature list ๋งˆ๋ฌด๋ฆฌ

2022-11-08 Day02

์˜ค๋Š˜ ํ•œ ์ผ

  • ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ •ํ•˜๊ธฐ -> DailyFilm
  • ๊ทธ๋ผ์šด๋“œ ๋ฃฐ ์ž‘์„ฑ
  • ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ž‘์„ฑ
  • Git ์ปจ๋ฒค์…˜ ์ž‘์„ฑ
  • Github Projects, Labels, Milestone ์„ค์ •
  • ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๋ฐ gradle ์˜์กด์„ฑ ์ถ”๊ฐ€
  • PR๋กœ Issue Resolve ์ฒ˜๋ฆฌ

๋‚ด์ผ ํ•  ์ผ

  • Figma ๋ณด์ถฉ
  • ๋ฉ˜ํ† ๋‹˜๊ณผ ํšŒ์˜
  • ๋ฉ˜ํ† ๋‹˜ ํ”ผ๋“œ๋ฐฑ ๋ฐ›์€ ํ›„์— ํ”„๋กœ์ ํŠธ ๋ณด์ถฉ

2022-11-09 Day03

์˜ค๋Š˜ ํ•œ ์ผ

Figma ๋ณด์ถฉ

image

  • ๋กœ๊ทธ์ธ ํ™”๋ฉด (๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ)
  • ์˜์ƒ ์—…๋กœ๋“œ ํ™”๋ฉด์— ๋Œ€ํ•œ ๊ณ ์ฐฐ
    • ์ผ๋ฐ˜์ ์ธ ์—…๋กœ๋“œ์ฒ˜๋Ÿผ ๊ฐค๋Ÿฌ๋ฆฌ์—์„œ ์„ ํƒํ•˜๊ธฐ
    • ์ธ์Šคํƒ€๊ทธ๋žจ์ฒ˜๋Ÿผ ์„ ํƒํ•œ ์˜์ƒ์„ ๋ณด์—ฌ์ฃผ๋ฉด์„œ ๊ณ ๋ฅด๊ธฐ โœ…
  • ์˜์ƒ ํŽธ์ง‘ ํ™”๋ฉด
    • ์ „์ฒด ๊ธธ์ด๊ฐ€ 5์ดˆ์ธ ๊ฑด ๊ณ ์ •, ์Šฌ๋ผ์ด๋“œ๋ฅผ ์›€์ง์—ฌ ์‹œ์ž‘ ์ง€์ ๋งŒ ๋ณ€๊ฒฝํ•˜๊ฒŒ ํ•˜๊ธฐ
  • ๋‚ด์šฉ ์ž‘์„ฑ ํ™”๋ฉด์— ๋Œ€ํ•œ ๊ณ ์ฐฐ
    • ๋ฐฐ๊ฒฝ์— ์˜์ƒ์ด ์žฌ์ƒ๋˜๊ณ  ์žˆ๊ณ  ๊ทธ ์œ„์— ๋‚ด์šฉ์„ ์ ๊ธฐ 1๏ธโƒฃ
    • ์ƒ๋‹จ์— ์˜์ƒ์ด ๋ณด์ด๊ณ  ํ•˜๋‹จ์— ๋‚ด์šฉ์„ ์ ๊ธฐ 2๏ธโƒฃ

๋ฉ˜ํ† ๋‹˜ ๋ฏธํŒ…

๋ฏธํŒ… ์ข…๋ฃŒ ํ›„ ์—…๋ฌด ๋ถ„๋‹ด ๋ฐ ๋…ผ์˜์‚ฌํ•ญ

  • ํฐ ํ‹€
    • ์บ˜๋ฆฐ๋” : ์ค€ํ˜•, ์žฌํ˜„
    • ์˜์ƒ : ๋ฌดํ˜„, ๋™ํ˜„
  • week1 ๋ถ„๋‹ด ์‚ฌํ•ญ
    • ๊ฐ ํŒŒํŠธ๋ณ„ ํšŒ์˜ ํ›„ ๋‚ด์šฉ ์ •๋ฆฌ ํ›„ ๊ธˆ์š”์ผ ์Šคํฌ๋Ÿผ ์‹œ ๊ณต์œ 
  • ๊ธˆ์ผ ๋…ผ์˜ ๋œ ๋ถ„๋‹ด๊ธฐ๋Šฅ
    • Firebase ๋กœ๊ทธ์ธ
    • ๊ธฐ๋ณธ ํ™”๋ฉด ํ‹€ ๊ตฌ์„ฑ
    • DB ๊ตฌ์กฐ ์„ค๊ณ„
  • ์ถ”๊ฐ€ ๋…ผ์˜ ํ•„์š” ์‚ฌํ•ญ
    • ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ํ•„์š” ์œ ๋ฌด

๋‚ด์ผ ํ•  ์ผ

  • ํŒŒํŠธ๋ณ„ ํšŒ์˜ ์ง„ํ–‰ ํ›„ ์˜คํ›„ 6์‹œ์— ๋‚ด์šฉ ์ค‘๊ฐ„ ๊ณต์œ 
  • ์˜ค์ „ ์Šคํฌ๋Ÿผ์‹œ, MVVM ํŒจํ„ด ๊ด€๋ จ Base ๋‚ด์šฉ ๋…ผ์˜

2022-11-10 Day04

์˜ค๋Š˜ ํ•œ ์ผ

1. Base, Hilt, Application ๋…ผ์˜ ๋ฐ ์…‹ํŒ…

  • Base ์ƒ์„ฑ ๋ฐ ์ ์šฉ
  • Hilt Application ํŒŒ์ผ ์ˆ˜์ •
    • registerActivityLifecycleCallbacks ์ถ”๊ฐ€๋ฅผ ํ†ตํ•œ Logging

2. ์ž‘์—…์†Œ Fork

3. ๊ธˆ์ผ ์ž‘์—…๊ณ„ํš ๊ณต์œ 

  • ์˜์ƒ

    • ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฐธ๊ณ 
    • MediaStore & ContentResolver ํ™œ์šฉํ•œ ๊ฐค๋Ÿฌ๋ฆฌ ๋‚ด ๋น„๋””์˜ค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
    • ์ƒ๋‹จ ์˜์ƒ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์žฌ์ƒ์— ๋Œ€ํ•œ ๊ณ ์ฐฐ
  • ์บ˜๋ฆฐ๋”

    • ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฐธ๊ณ  (๋ฉ˜ํ† ๋‹˜ ์ถ”์ฒœ)
    • ViewPager2 + RecyclerView or CustomView ํ™œ์šฉํ•˜์—ฌ ์บ˜๋ฆฐ๋” ๊ตฌํ˜„
    • RecyclerView๋กœ ๋จผ์ € ๊ตฌํ˜„ํ•œ ํ›„ ์„ฑ๋Šฅ์ƒ ๋ฌธ์ œ ๋ฐœ์ƒ์‹œ CustomView๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ๋น„๊ต

๋‚ด์ผ ํ•  ์ผ

  • ๊ธฐํš๊ณต์œ  ๋ฐœํ‘œ ์ „ ๋ชจ์˜ ๋ฐœํ‘œ
    • ํ”ผ๋“œ๋ฐฑ ํ›„ ์ˆ˜์ •, ์˜ˆ์ƒ ์งˆ๋ฌธ ๋„์ถœ
  • ํšŒ๊ณ  (๋‹ค์Œ์ฃผ ๊ณ„ํš)

2022-11-11 Day05

์˜ค๋Š˜ ํ•œ ์ผ

1. ๋ชจ์˜ ๋ฐœํ‘œ

  • ์„ค๊ณ„ ๊ณต์œ  ๋ชจ์˜ ๋ฐœํ‘œ ์ง„ํ–‰ (์žฌํ˜„)
  • ํ”ผ๋“œ๋ฐฑ ์ง„ํ–‰

2. Firebase Auth - Google ๋กœ๊ทธ์ธ

  • google-service.json hide ์ฒ˜๋ฆฌ ํ•„์š” (+ API ํ‚ค ์žฌ๋ฐœ๊ธ‰)

๊ทธ๋ฃนํ”„๋กœ์ ํŠธ 1์ฃผ์ฐจ ์„ค๊ณ„ ๊ณต์œ 

  • ์บ ํผ๋“ค ํ”ผ๋“œ๋ฐฑ ์‚ฌํ•ญ
    • ๋‹จ์ˆœํ•œ ๊ธฐ์ˆ  ๋‚˜์—ด๋ณด๋‹ค ๊ฐ ๊ธฐ์ˆ ๋“ค์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์•„ ๋ณด์ธ๋‹ค
    • ์ž‘๋…„ ๋ถ€์บ ์˜ ์บ˜๋ฆฐ๋” ์ปค์Šคํ…€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ•ด๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค
    • ์•„์ด๋””์–ด ๋ฉ‹์ง€๋‹ค
  • ์งˆ๋ฌธ ๋‚ด์šฉ
    • encoding ์ด๋‚˜ ์••์ถ•์— ๋Œ€ํ•ด์„œ ๊ณ ๋ คํ•˜๊ณ  ์žˆ๋‚˜์š”?
    • ์ปค์Šคํ…€ ์บ˜๋ฆฐ๋”๋กœ ๋งŒ๋“ค ๊ฒฝ์šฐ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์‹ค ๊ฑด๊ฐ€์š”?
    • ์ด๋ฏธ์ง€ ํ˜น์€ ๊ธด ์˜์ƒ์ด ์•„๋‹Œ 5์ดˆ๋กœ ์ •ํ•˜์‹  ์ด์œ ๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Week1 ํšŒ๊ณ 

  • ๋™ํ˜„

    • ์ข‹์€ ์ : ์˜๊ฒฌ ํ†ต์ผ์ด ๋น ๋ฅด๊ฒŒ ๋˜์—ˆ๊ณ , Ground Rule์„ ์ •ํ•˜๋Š” ๋ฐ์— ๊ธด ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€ ์•Š์•˜๋‹ค.
    • ์•„์‰ฌ์šด ์ : ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์ž‘์„ฑํ•œ ๋ฌธ์„œ ๋Ÿ‰์ด ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด ๋ถ€์กฑํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜๋„ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ(UML ์ž‘์„ฑ ๋“ฑ), ๋งˆ์Šคํ„ฐ ๋‹˜์˜ ์กฐ์–ธ์„ ๋“ค์–ด๋ณด๋‹ˆ ์„ ํƒ์‚ฌํ•ญ์ธ ๊ฒƒ ๊ฐ™์•„์„œ ์‚ฌ์‹ค ํฌ๊ฒŒ ์•„์‰ฝ์ง€๋Š” ์•Š๋‹ค.
    • ๊ฐœ์„ ํ•  ์ : Github์˜ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ๊ฑฐ์˜ ์ฒ˜์Œ ์‚ฌ์šฉํ•ด๋ณด๋Š” ๊ฒƒ์ด๋ผ ์•„์ง์€ Issue ์ž‘์„ฑ ๋“ฑ์— ๋Œ€ํ•ด ์ˆ™๋ จ๋„๊ฐ€ ๋–จ์–ด์ง€๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ๋„ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๊ธˆ๋ฐฉ ์ต์ˆ™ํ•ด์งˆ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.
  • ๋ฌดํ˜„

    • ์ข‹์€ ์  : ์ ์€ ํ™”๋ฉด์ˆ˜๋กœ, ํ•ต์‹ฌ ๊ธฐ๋Šฅ์— ์ง‘์ค‘ ํ•  ์ˆ˜์žˆ๊ณ  ๊ธฐํš์ด ์ข‹๋‹ค.
    • ์•„์‰ฌ์šด ์  : ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ ์šฉ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์•„์ง ๋ถ€์กฑํ•จ
    • ๊ฐœ์„ ํ•  ์  : ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ•„์š”ํ•œ ๊ธฐ์ˆ ์„ ๋” ํ•™์Šตํ•˜๋Š” ์‹œ๊ฐ„์„ ์ฃผ๋ง์— ๊ฐ€์ ธ์„œ ๋ณด์ถฉํ•˜๊ธฐ
  • ์žฌํ˜„

    • ์ข‹์€ ์ : ์ฃผ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์„ ์ •ํ•˜์˜€๊ณ , ์˜๊ฒฌ ์ถฉ๋Œ ์—†์ด ์ง„ํ–‰๋˜์—ˆ๋‹ค.
    • ์•„์‰ฌ์šด ์ :
      • Figma ํ™œ์šฉ๋ฒ•์„ ์ž˜ ๋ชฐ๋ผ ์ƒ๊ฐํ•œ ๋Š๋‚Œ๋Œ€๋กœ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ํž˜๋“ค์—ˆ๋‹ค.
      • ์ฒ˜์Œ ํ•ด๋ณด๋Š” ๊ตฌํ˜„์ด ๋งŽ์•„ ์˜ˆ์ƒ ์†Œ์š” ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•˜๊ธฐ ํž˜๋“ค์—ˆ๋‹ค.
    • ๊ฐœ์„ ํ•  ์ : ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ๊ธฐ์ˆ ๋“ค์— ๋Œ€ํ•œ ํ•™์Šต์ด ํ•„์š”ํ•˜๋‹ค. (ํŠนํžˆ ์˜์ƒ)
  • ์ค€ํ˜•

    • ์ข‹์€ ์ : ๊ธฐํš์ด ๋น ๋ฅด๊ณ  ์˜๊ฒฌ ์ถฉ๋Œ ์—†์ด ์—…๋ฌด ๋ถ„๋‹ด์ด ๋น ๋ฅด๋‹ค.
    • ์•„์‰ฌ์šด ์ : ํ•ต์‹ฌ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ํ™•์‹คํ•œ ์ผ์ • ๊ด€๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค. ( ์ฒ˜์Œ ๋‹ค๋ฃจ๋Š” ๊ธฐ๋Šฅ์ด๊ธฐ ๋–„๋ฌธ )
    • ๊ฐœ์„ ํ•  ์ : ํ•ต์‹ฌ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ•™์Šต๊ณผ ๋”์šฑ ์„ธ์„ธํ•œ ๊ณ„ํš ์„ธ์šฐ๊ธฐ, ๋ชจ๋“  ํ•™์Šต ๋‚ด์šฉ ์ •๋ณด ๊ณต์œ !!

Week2

2022-11-14 Day01

์Šคํ”„๋ฆฐํŠธ ๊ณ„ํš ํšŒ์˜

  • Notion ํƒ€์ž„๋ผ์ธ์— ์ž‘์„ฑ
  • ์œ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

์บ˜๋ฆฐ๋”

  • 11-14 ~ 11-15 Infinite ViewPager ๊ตฌํ˜„
  • 11-15 ~ 11-16 Calendar + RecyclerView ๊ตฌํ˜„
  • 11-16 ~ 11-18 CustomView Calendar ๊ตฌํ˜„ ํ›„ RecyclerView ํ˜•์‹๊ณผ ๋น„๊ต

์˜์ƒ

  • 11-14 ~ 11-15 Custom Gallery ๊ตฌํ˜„
  • 11-15 ~ 11-16 Custom Gallery์—์„œ ์˜์ƒ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ตฌํ˜„
  • 11-16 ~ 11-17 Firebase์— ์˜์ƒ ์—…๋กœ๋“œ

2022-11-15 Day02

๋ฐ๋ชจ ๊ด€๋ จ ์‹œ๋‚˜๋ฆฌ์˜ค ๋‚ด์šฉ ์ถ”๊ฐ€

์ „์ผ ์ž‘์—… ๋‚ด์šฉ ๊ณต์œ 

์˜์ƒ

  • Custom gallery ๊ตฌํ˜„
    • ContentResolver, Media Store๋ฅผ ํ†ตํ•œ ๊ฐค๋Ÿฌ๋ฆฌ ๋‚ด์— ๋น„๋””์˜ค data Load
    • Paging ์ ์šฉ
    • ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฒ„์ „์— ๋”ฐ๋ฅธ Permission ๋ถ„๊ธฐ

์บ˜๋ฆฐ๋”

  • Infinite ViewPager2 ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌดํ•œ ์Šคํฌ๋กค ํ™•์ธ
  • Fragment Position ์ ์šฉ
  • ViewPager2 Fragment์— Calendar ๊ฐ์ฒด ์ „๋‹ฌ
  • ์บ˜๋ฆฐ๋”์— ํ‘œ์‹œํ•  ๋‚ ์งœ Log ์ถœ๋ ฅ

์˜ค๋Š˜ ํ•  ์ž‘์—… ๊ณต์œ 

  • ์˜์ƒ
    • Custom Gallery Item ํด๋ฆญ์‹œ ์˜์ƒ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์žฌ์ƒ
  • ์บ˜๋ฆฐ๋”
    • Recyclerview Item ์ „๋‹ฌํ•˜์—ฌ view ๊ตฌ์„ฑ

2022-11-16 Day03

์บ˜๋ฆฐ๋”

์ „์ผ ์ž‘์—… ๋‚ด์šฉ

  • RecyclerView ์›”๋ณ„ ๋‹ฌ๋ ฅ ๊ตฌํ˜„
  • x์›”, ์ฃผ(์ผ~ํ† ) ์— ๋Œ€ํ•œ View ๋Š” Activity ๋กœ ๋ถ„๋ฆฌ
  • ์•„์ดํ…œ ํด๋ฆญ ์ด๋ฒคํŠธ ( ์‚ฌ์ง„, ๋‚ ์งœ )
  • ์—…๋กœ๋“œ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์„ ํƒ๋œ ๋ฐ์ดํ„ฐ ๊ฐ์ฒด ๋ณด๋‚ด๊ธฐ
  • ์‚ฌ์ง„ Glide๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Day2 ์ด์Šˆ

ViewPager2 ์ดˆ๊ธฐํ™” ์‹œ currentItem ์• ๋‹ˆ๋ฉ”์ด์…˜ ์„ค์ • setCurrentItem(int, boolean)

// smoothScroll false ์ผ ๋•Œ ์›๋ž˜ position ๋ถ€ํ„ฐ ์ดˆ๊ธฐํ™”
if (!smoothScroll) {
    mRecyclerView.scrollToPosition(item);
    return;
}

// smoothScoll true ์ผ ๋•Œ, default ๊ฐ’์ธ 3 page ์ „๋ถ€ํ„ฐ ์›๋ž˜ position ์œผ๋กœ 
// ์Šคํฌ๋กค ๋˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜
if (Math.abs(item - previousItem
) > 3) {
    mRecyclerView.scrollToPosition(item > previousItem ? item - 3 : item + 3);
    // TODO(b/114361680): call smoothScrollToPosition synchronously (blocked by b/114019007)
    mRecyclerView.post(new SmoothScrollToPosition(item, mRecyclerView));
} else {
    mRecyclerView.smoothScrollToPosition(item);
}

DateModel list ๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•

private val _dateFlow = MutableStateFlow(initialDateList())
val dateFlow: StateFlow<List<DateModel>> = _dateFlow.asStateFlow()

private fun initialDateList(): List<DateModel> {...}
  • Shared vs State
  • Shared์ผ ๋• ์™œ ์•ˆ๋๋‚˜?
    • emit ์‹œ์ ์˜ ๋ฌธ์ œ
    • ViewModel init ์‹œ์ ์— emitํ•˜๊ณ  ๊ทธ ์ดํ›„ collect ๋˜์–ด์„œ ํ™”๋ฉด์— ๋‚˜์˜ฌ ์ˆ˜๊ฐ€ ์—†๋‹ค.

์˜์ƒ

์ „์ผ ์ž‘์—…๋‚ด์šฉ

  • Custom Gallery ๊ตฌํ˜„
    • GridLayout์œผ๋กœ ๋””๋ฐ”์ด์Šค ๋‚ด์˜ ์˜์ƒ ๋ชฉ๋ก ์ถœ๋ ฅ
      • MediaStore + ContentResolver ํ™œ์šฉ
      • Flow + Paging ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์˜์ƒ ๋ชฉ๋ก Load
      • CoordinatorLayout์œผ๋กœ ๋™์  UI ๊ตฌ์„ฑ (ํ•˜๋‹จ์œผ๋กœ ์Šคํฌ๋กค ์‹œ, ์˜์ƒ ์œ„๋กœ ๋ฐ€๊ธฐ)
    • ์˜์ƒ ์„ ํƒ ์‹œ ์ƒ๋‹จ์— ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์žฌ์ƒ
      • ExoPlayer ํ™œ์šฉ
        • ์ฒซ๋ฒˆ์งธ ์˜์ƒ ์ž๋™ ์žฌ์ƒ
        • ์˜์ƒ ๋ฐ˜๋ณต ์žฌ์ƒ

Day2 ์ด์Šˆ

  • Paging ์›๋ฆฌ ์ดํ•ด
  • Flow ์ดํ•ด

์˜ค๋Š˜ ํ•  ์ž‘์—… ๊ณต์œ 

์บ˜๋ฆฐ๋”

  • ์•„์ดํ…œ ํด๋ฆญ์‹œ UI ๋ณ€๊ฒฝ (background, Text ์ƒ‰์ƒ ๋ณ€๊ฒฝ)
  • ์ด์ „ ๋‹ฌ, ๋‹ค์Œ ๋‹ฌ ๋‚ ์งœ UI ๋‹ค๋ฅด๊ฒŒ ํ‘œ์‹œ & ํด๋ฆญ ๋ชปํ•˜๋„๋ก ๋ณ€๊ฒฝ
  • ์บ˜๋ฆฐ๋” ๋ณด์—ฌ์ง€๊ฒŒ ํ•˜๊ณ  ํด๋ฆญ ๋ชปํ•˜๊ฒŒ ํ•˜๊ธฐ
  • ํ˜„์žฌ ๋‹ฌ๋กœ ๋Œ์•„์˜ค๊ธฐ
  • Date Picker ๋กœ ์ •ํ•ด์ง„ ๋‚ ์งœ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ
  • ์ „์ฒด์ ์ธ ์บ˜๋ฆฐ๋” UI ๋‹ค๋“ฌ๊ธฐ

์˜์ƒ

  • Firestore ์˜์ƒ ์—…๋กœ๋“œ
  • Paging, Flow ํ•™์Šต
  • ์ปค์Šคํ…€ ๊ฐค๋Ÿฌ๋ฆฌ ์•„์ดํ…œ ํด๋ฆญ์‹œ ํด๋ฆญ๋œ UI๋กœ ๋ณ€๊ฒฝ ๋ฐ ๋‹ค๋“ฌ๊ธฐ
  • ์ปค์Šคํ…€ ๊ฐค๋Ÿฌ๋ฆฌ ํ™”๋ฉด ๋’ค๋กœ๊ฐ€๊ธฐ, ๋‹ค์Œ ์ถ”๊ฐ€

2022-11-17 Day04

์˜ค๋Š˜ ํ•  ์ผ

์บ˜๋ฆฐ๋”

  • ์›”๋ณ„ ์บ˜๋ฆฐ๋” ์Šคํฌ๋กค์‹œ Focus ์ž๋™ ์ง€์ •
  • ์บ˜๋ฆฐ๋” ๋””์ž์ธ ๊ฐœ์„ 

์˜์ƒ

  • ์˜์ƒ ์„ ํƒ ํ›„ Firebase ์—…๋กœ๋“œ
  • ์˜์ƒ ์„ ํƒ์‹œ ํ•ด๋‹น Item clicked UI ์ถ”๊ฐ€
  • ์ƒ๋‹จ์— ๋„˜์–ด๊ฐ€๊ธฐ ๋ฐ ๋Œ์•„๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

๋ฐ๋ชจ ์ค€๋น„ - PM 04:00

  • Launcher Activity โ†’ LoginActivity๋กœ ๋ณ€๊ฒฝ
  • ์บ˜๋ฆฐ๋” - ์˜์ƒ Activity ์—ฐ๊ฒฐํ•˜๊ธฐ
  • ๋ฐ๋ชจ ์˜์ƒ ์ค€๋น„
  • PPT ํ…œํ”Œ๋ฆฟ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ

๊ธฐ์ˆ  ๊ณต์œ  ๋‚ด์šฉ ์ค€๋น„

Week3

2022-11-21 Day01