Notes - FoKE-Developers/FourCutTogether GitHub Wiki

9/24 ํšŒ์˜๋ก

  1. ์ด์Šˆ ์ •๋ฆฌ (ํŽ˜์ด์ฆˆ ๊ตฌ๋ถ„, ์†Ž์•„๋‚ด๊ธฐ ๋“ฑ)

    • ์™„๋ฃŒ (#25)
  2. ํŽ˜์ด์ฆˆ๋ณ„ ํ”ผ์ณ ์ •๋ฆฌ

    • ui์˜ ๊ฒฝ์šฐ์—๋Š” ์ด์Šˆ ์ œ๋ชฉ์„ ํŽ˜์ด์ง€ ์ด๋ฆ„์œผ๋กœ (์˜์–ด) :: ์œค์ˆ˜?
    • ์ด์Šˆ์— ๋Œ€ํ•ด ์ฒซ๋ฒˆ์งธ ์ปค๋ฉ˜ํŠธ์—๋‹ค๊ฐ€ ์ตœ๋Œ€ํ•œ ์„ค๋ช…์„ ์ž์„ธํ•˜๊ธฐ ์ ๊ธฐ :: ๋„๊ท , ์œค์ˆ˜
  3. UI ๊ฐ€์ด๋“œ ๋ฐ ์œ ์ฆˆ์ผ€์ด์Šค ๋„์ถœ

10/04 ํšŒ์˜๋ก

  1. ์•ฑ ๊ตฌ์กฐ ์ •๋ฆฌ
  1. mjpeg ๋Š๊ธฐ๋Š” ๊ฒƒ์„ ๊ฐ์ง€ํ•˜๋Š” ์กฐ๊ฑด?
  • mjpeg ๋ฐ›๋Š” ์ชฝ์—์„œ ๋””๋ฐ์ผํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€?
  • callback ์ชฝ์„ ํ™•์ธํ•ด๋ด์•ผ ํ• ์ง€๋„
  • ์ผ๋‹จ ์„œ๋ฒ„์—์„œ ์•ˆ์ •๋„๋ฅผ ๋†’ํžˆ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐœ๋ฐœ
  • ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ์•„๋ž˜ ํ•จ์ˆ˜๋กœ ๊ฐ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธ ํ•„์š”
    • stateChangeListener = object : MjpegViewStateChangeListener {}
    • onStop() / stopStream() ์ฒ˜๋ฆฌ
  1. QR์ฝ”๋“œ
  1. ํ”„๋ฆฐํŠธ
  • ๊ณต์œ  ๊ธฐ๋Šฅ์€ ์œค์ˆ˜๊ฐ€ ํ…Œ์ŠคํŠธํ•ด๋ด„ ใ…‡ใ…‡
  • PrintService ์‚ฌ์šฉํ•˜๋ฉด ์ธ์‡„๊ฐ€ ๊ฐ€๋Šฅํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ž„!
  1. ์‚ฌ์ง„ ์—๋””ํŒ…?
  • ์•ฑ ๊ณ ์œ  ์˜์—ญ -> url -> ImageView src
  • ๋ทฐ๋ฅผ ์ด๋ฏธ์ง€๋กœ ๋ฝ‘๋Š” ์˜ˆ์ œ ์˜ฌ๋ ค์ค„ ์˜ˆ์ •
  • media store๋Š” ์ผ๋‹จ ๋ณด๋ฅ˜
  • ๋„์‹ ์ฐธ์กฐ
  1. ํ”„๋ฆฌ๋ทฐ?
  • data ์˜์—ญ์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹์ง€๋งŒ (๋ถ„๋ฆฌํ•˜๋Š”๊ฒŒ ๋” ํด๋ฆฐํ•œ ์ฝ”๋“œ์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ๋Š” ํ•จ)
  • ์•ˆ๋˜๋ฉด ํ”„๋ฆฌ๋ทฐ๋ฅผ ํฌ๊ธฐํ•˜๋Š” ๊ฑธ๋กœ!
  1. ํƒ€์ด๋จธ
  • CountDownTimer ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰
  1. ์ „์‹œ ๋ถ€์Šค

10/20 ํšŒ๊ณ ๋ก

์ž˜ ๋œ ์ 

  • 1.0.0 ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ์ˆ˜ํ–‰ํ•จ
  • 31๊ฐœ ์ด์Šˆ๋ฅผ 100% ๋๋ƒ„
  • ๋‹จ์‹œ๊ฐ„์•ˆ์— ๋งŽ์€๊ฑธ ๋๋ƒ„. (9/24~10/12)
  • ํด๋ฆฐ์•„ํ‚คํ…์ณ ๋ชฐ๋ž๋˜ ํŒ€์›์˜ ์ง€์‹ ์ƒ์Šน (hilt ์ฃผ์ž…, activity scope)
  • ์ž‘์—… ํฌ๊ธฐ ํฐ ์ค„ ์•Œ์•˜์œผ๋‚˜ ๋นจ๋ฆฌ ๋๋ƒ„.
  • ์˜ค๋ฅ˜ ๋ณต๊ตฌ ๋นจ๋ฆฌ ํ•จ.
    • ์•ฑ์ด๋‚˜ ์นด๋ฉ”๋ผ ์„œ๋ฒ„ ์ชฝ์—์„œ๋Š” ์ž๋™์œผ๋กœ ๋œ ๊ฒฝ์šฐ๋„ ๋งŽ์Œ.
    • Fault Safe๊ฐ€ ์•Œ๊ฒŒ ๋ชจ๋ฅด๊ฒŒ ์žˆ๋‹ค. (Daemon, Log, Retrofit)
  • ์ฒซ์งธ๋‚  ์œ ๋™์ธ๊ตฌ ๋•Œ๋ฌธ์— ๋ฉˆ์ถฐ์ฃผ์„ธ์š” ์žˆ์—ˆ๋Š”๋ฐ, ๋‘˜์งธ๋‚  ํ˜„์žฅ ํ†ต์ œ๋ฅผ ์ž˜ ํ–ˆ์Œ (์นด๋ฉ”๋ผ ์œ„์น˜ ์ด๋™).

์•„์‰ฌ์› ๋˜ ์ 

  1. ๋ˆ์„ ๋ฐ›์„๊ฑธ. ์ฒœ์›์ด๋ผ๋„. ๋๋‚˜๊ณ  ๋‚˜์„œ
    • ์œค์ˆ˜ 30๋งŒ. ํ˜• 20๋งŒ, ์ƒ์› 2-3๋งŒ
    • ๋ฐ”์ด๋ฏธ์–ด์ปคํ”ผ ์†ก๊ธˆ ๋ณต์žกํ•จ.
  2. ๋Ÿฌ๋‹ ์ปค๋ธŒ๋กœ ์ธํ•œ ํ”„๋กœ์ ํŠธ ์ง€์—ฐ. (ํด๋ฆฐ์•„ํ‚คํ…์ณ, ์ปดํฌ์ฆˆ)
  3. ๋งˆ์ง€๋ง‰์— ๋‚œ๊ฐœ๋ฐœ์ด ์‹ฌํ™”๋˜์—ˆ๋‹ค. (PR ์งํ›„ ๋จธ์ง€ ๋ฐ˜๋ณต)
  4. (์œค์ˆ˜ ๊ฐœ์ธ์ ์œผ๋กœ) ๋งˆ์ง€๋ง‰์— ํ˜ผ์ž ๊ธ‰๋ฐ•ํ•˜๊ฒŒ ์ผ์ฒ˜๋ฆฌ.
    1. ์…‹์ด์„œ ์ผํ•ด๋ณธ ๊ฒƒ์ด ์ฒ˜์Œ. ๊ทธ๋ผ์šด๋“œ ๋ฃฐ ์—†์ด ํ‚ฅ์˜คํ”„ ์—†์ด ํ•ด์„œ ๊ทธ๋Ÿฐ์ง€๋„.
  5. ์ž‘์—… ํฌ๊ธฐ ์‚ฐ์ • ์˜ค๋ฅ˜ (์นด๋ฉ”๋ผ ์„œ๋ฒ„ ๋” ์˜ค๋ž˜๊ฑธ๋ฆด ์ค„)
  6. ์ž‘์—… ๊ด€๋ จ ์žˆ๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์ธ์ˆ˜์ธ๊ณ„ ์ž˜ํ•˜๊ธฐ.
  7. Fault Safeํ•˜๊ฒŒ ์ œ๋Œ€๋กœ ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š์•˜๋‹ค. (Daemon, Log, Retrofit)
    • QR์ฝ”๋“œ๊ฐ€ ์•ˆ๋˜์„œ ๋˜๊ฒŒ ๋งŒ๋“ ๊ฑด ๋กœ๊ทธ๋กœ ๊ณ ์นœ๊ฒŒ ์•„๋‹˜.
  8. ํ˜„์žฅ ์„ธํŒ… ์‹œ๊ฐ„์ด ๋ถ€์กฑํ–ˆ๋‹ค.
  9. ๋„คํŠธ์›Œํฌ ๊ด€๋ จ๋˜์„œ ๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ ๋ถ€์กฑ.
    1. ํ”„๋ฆฐํ„ฐ ์ธํ„ฐ๋„ท ์„ค์ •
    2. QR๋„ ์ธํ„ฐ๋„ท ๋”œ๋ ˆ์ด์— ๊ฐ€๊นŒ์šด ๊ฒƒ.
    3. ํ•ธ๋“œํฐ ํ•ซ์ŠคํŒŸ์˜ ์‹ ๋ขฐ๋„๊ฐ€ ๋‚ฎ์Œ.
  10. ์‚ฌ์ง„ ๋ชป๋ฐ›์•„๊ฐ„ ๋ถ„์žˆ์Œ.

๊ฐœ์„  ๋ฐฉ๋ฒ•

  1. ๋ฐ”์ด๋ฏธ์–ด์ปคํ”ผ -> ๋„ค์ด๋ฒ„ํŽ˜์ด๊ฐ€ ๋‚˜์Œ.
    1. ์œค์ˆ˜ ๊ฒฐํ˜ผ์‹ ํ•œํ•ด์„œ ํšŒ๋น„ (์ œ์ž‘๋น„) ๊ฑท๊ธฐ
  2. ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋ฐฐ์šฐ๊ธฐ. ๋‹น์žฅ ์–ด๋–ป๊ฒŒ ํ•˜๊ธฐ ํž˜๋“ฌ.
  3. ์ •๋ฆฌํ•˜๋ฉด์„œ ์ฐจ๊ทผ ์ฐจ๊ทผ. Phase 2.5 (ํ˜น์€ 3) ์—์„œ ๊ฐœ์„ 
    1. ๋ทฐ๋ชจ๋ธ State๊ฐœ๋… ๋‚œ๋ฆฝ
    2. ์œค์ˆ˜ UseCase์— 6-7๊ฐœ ๋“ค์–ด๊ฐ„๊ฑฐ ์žˆ์Œ.
    3. Util์† ๋ด์•ผํ•จ.
    4. UX ๊ฐ€์ด๋“œ ํ”ฝ์Šคํ•ด์„œ
    5. ์ปดํฌ์ฆˆ ์ตœ์†Œ๋‹จ์œ„ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ถ„๋ฆฌํ•ด์•ผํ•จ.
    6. ์›น์„œ๋ฒ„ ์ชฝ๊ณผ ์„ค๊ณ„ ๋…ผ์˜ ํ•„์š”. ํ˜„์žฌ๋Š” ์„œ๋ฒ„๊ฐ€ DB์—†๋Š” ๊ตฌ์กฐ.
  4. ์ง„ํ–‰์ƒํ™ฉ ๊ณต์œ  ์ž˜ํ•˜๋ฉด ์ข‹์„ ๋“ฏ (ํ‹ฐ์ผ“, ํšŒ์˜)
    1. ๋„๊ท : ํ‹ฐ์ผ“์œผ๋กœ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€, ํšŒ์˜ ํ•˜์ง€ ์•Š๋”๋ผ๋„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ ์ด์ƒ์ ์ด๋ผ๊ณ  ์ƒ๊ฐ.
  5. ์‹œ๊ฐ„์ด ์—ฌ์œ ๋กญ๋‹ค๋ฉด, ์ž‘์—… ์‹œ์ž‘์ „์— ๋ฏธ๋ฆฌ ๋ฆฌ์„œ์น˜ ํ•˜๊ณ , ์ž‘์—… ์‚ฐ์ •ํ•ด๋ณด๊ธฐ?
  6. ๋ฌธ์„œํ™”.
    1. ์นด๋ฉ”๋ผ ์„œ๋ฒ„ ์‹œ์Šคํ…œ ๋ฐ๋ชฌ
    2. ์ €๋„ ์ปจํŠธ๋กค ํ™•์ธํ•˜๋Š”๊ฑฐ
      1. ์—๋Ÿฌ์ฝ”๋“œ, ๋ฉ”์‹œ์ง€ (HTTP์ƒํƒœ, ๋ฐ”๋””)
  7. Trouble shooting์„ ์œ„ํ•ด App์ „๋ฐ˜์— ๋กœ๊ทธ๋ฅผ ๋งŽ์ด ๋„ฃ์–ด์•ผํ•  ๊ฒƒ ๊ฐ™์Œ.
  8. ์‚ฌ์ „์— ์—ฌ์œ  ๊ฐ–๊ณ  ํ˜„์žฅ ์„ธํŒ… ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๊ฐ€์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐ.
    1. ๋ฐ๋“œ๋ผ์ธ ์ „์— ๊ธฐ๊ธฐ๋ฅผ ๊ฐ€๊นŒ์šด ์‚ฌ๋žŒํ•œํ…Œ ๋งก๊ฒจ๋†“๋Š” ๊ฒƒ๋„ ์ข‹์Œ.
  9. ๋ฌด์„  ํ”„๋ฆฐํ„ฐ๊ฐ€ ์•„๋‹Œ ์œ ์„  ํ”„๋ฆฐํ„ฐ ์‚ฌ๊ธฐ?
    1. rpi์˜ ํ”„๋ฆฐํ„ฐ
    2. ์…€๋ฃฐ๋Ÿฌ ํƒœ๋ธ”๋ฆฟ ์‚ฌ๊ธฐ?
  10. ์‚ฌ์ง„ ๋ชป๋ฐ›์•„๊ฐ„ ๋ถ„
    1. ์„ธํŒ…์— ์ €์žฅ๋œ ์‚ฌ์ง„ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์•ผํ•จ. ํžˆ์Šคํ† ๋ฆฌ ๊ด€๋ฆฌ.
      1. ์‚ฌ์ง„ ์ €์žฅ ๋‚ด์ง€๋Š” QRํ‚ค ์ €์žฅ.
      2. ๋ฒ„ํŠผ ์—†์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐค๋Ÿฌ๋ฆฌ ์ €์žฅ.
      3. ์˜ค๋ž˜๋œ ์ˆœ์œผ๋กœ ์ง€์šฐ๊ธฐ.
      4. ๊ตฌํ˜„๋ฒ•์€ ๋‚˜์ค‘์œผ๋กœ.
    2. ๋Œ๋ ค์ฃผ๊ธฐ์œ„ํ•œ ๋งค๋‰ด์–ผ
      1. ๋ช…ํ•จ์ฃผ๊ธฐ ๋“ฑ์œผ๋กœ ์•ˆ๋‚ด
      2. ํ™ˆํŽ˜์ด์ง€์— ์ปจํƒ ํฌ์ธํŠธ ์ ๊ธฐ (๋น„์‹ค๋ช… ๊ณ„์ •)
      3. ํ์•Œ ์ฝ”๋“œ๋ฅผ ๋ฏธ๋ฆฌ ์ฐ์–ด๋†“๊ธฐ. (๊ฑฐ๊ธฐ๊นŒ์ง€ ์ƒ๊ฐ ๋ชปํ•จ)
  11. ์ธํ™”์ง€.
    1. RP-108
    2. DNP ํ”„๋ฆฐํ„ฐ.
  12. ํ‚ค์˜ค์Šคํฌ ์žฌ์„ค๊ณ„ ํ•˜๊ธฐ
    1. ์œค์ˆ˜ ํƒœ๋ธ”๋ฆฟ ๋งž๊ฒŒ ๊ตฌ๋ฉ ๋„“ํžˆ๊ธฐ 11์ธ์น˜ ์—†์Œ.
    2. ์Šคํƒ ๋“œ ๋ง‰๋Œ€๊ธฐ (์ž์„์œผ๋กœ ๋ถ™๋Š” 4-5๋งŒ์›)
    3. mdf์— ์‹œํŠธ์ง€ or ์šฐ๋“œ๋ฝ. (5T์ •๋„, ์›”๋„›)
    4. ์นด๋ฉ”๋ผ๋„ ์•ˆ์— ๋„ฃ์–ด๋ฒ„๋ฆฌ๊ธฐ.