Skip to content

๐Ÿ“ 4์ฃผ์ฐจ ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ

Kang Chaeryeon edited this page Nov 21, 2024 · 3 revisions

๐Ÿ“… 11. 18 (์›”)

โœ… Done

  • ๋ฐฐํฌ ๋ฐฉ์‹ ๋ณ€๊ฒฝ (์™ธ๋ถ€์—์„œ Docker pull)
  • ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๊ตฌํ˜„

โšก ToDo

  • ์ฃผ๊ฐ„ ๊ณ„ํš์„œ ์ž‘์„ฑ
  • ์„œ๊ธฐ ๋ฝ‘๊ธฐ (๐Ÿ‘‘)
  • ์ฑ„ํŒ… ๊ธฐ๋Šฅ ํ”„๋ก ํŠธ์™€ ๋ฐฑ ์—ฐ๊ฒฐ
  • ์ŠคํŠธ๋ฆฌ๋ฐ ํ…Œ์Šคํฌ ์žฌ๋ถ„๋ฐฐ
  • ๋ฆฌ์•กํŠธ ์ฟผ๋ฆฌ ํ•™์Šต
  • HLS.js ํ•™์Šต
  • ์†Œ์ผ“ ๊ด€๋ จ ์—๋Ÿฌ ์ฒ˜๋ฆฌ
  • ํ—ฌ์Šค ์ฒดํฌ

๐Ÿ“… 11. 19 (ํ™”)

โœ… Done

  • ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ ์™„๋ฃŒ
  • CD
  • HLS ํ”„๋กœํ† ์ฝœ ์Œ์•… ์ „์†ก
  • ๊ด€๋ฆฌ์ž ์—ฌ๋Ÿฌ ์Œ์•… ํŒŒ์ผ ์ „์†ก ์‹œ mp3 -> Object storage๋กœ ์—…๋ฐ์ดํŠธ ๊ตฌํ˜„ ์™„๋ฃŒ

โšก ToDo

  • ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ์ฝ”๋“œ ๋ถ„๋ฆฌ ๋ฆฌํŒฉํ† ๋ง ๋ฐ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ตฌํ˜„
  • ๊ด€๋ฆฌํŒŒ ํŽ˜์ด์ง€ ํŒŒ์ผ ๋“ฑ๋ก ๋ฐ ์„œ๋ฒ„๋กœ ์ „์†ก ๊ตฌํ˜„
  • ์Œ์•… ์ŠคํŠธ๋ฆฌ๋ฐ ํ…Œ์ŠคํŠธ
  • ์Œ์•… ์ŠคํŠธ๋ฆฌ๋ฐ์—์„œ ์–ด๋–ค ๋ฐ์ดํ„ฐ ํ•„์š”ํ•œ์ง€ ๋ฆฌ์ŠคํŠธ์—… : MySQL์ด ๋ž‘ Redis ๊ตฌ๋ถ„ํ•˜์—ฌ ์ง„ํ–‰
  • ๋ ˆ๋””์Šค ๊ตฌ์กฐ ์žก๊ธฐ

๐Ÿ“… 11. 20 (์ˆ˜)

โœ… Done

  • ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ํŒŒ์ผ ๋“ฑ๋ก
  • ์ด๋ฏธ์ง€ presignedUrl ์š”์ฒญ
  • ๋กœ์ปฌ ํ™˜๊ฒฝ ๋„์ปค ์ปดํฌ์ฆˆ ๋ฐฐํฌ

โšก ToDo

  • ๊ด€๋ฆฌ์ž๊ฐ€ ๋ฐฉ ์ƒ์„ฑ, ๋ฐฉ์—์„œ ์Œ์•… ์ŠคํŠธ๋ฆฌ๋ฐ ์ž˜๋˜๋Š” ๊ฒƒ ํ™•์ธ
  • ํ˜„์žฌ ์ถœ๋ ฅ๋˜๋Š” ๋…ธ๋ž˜๋‚˜ ์•จ๋ฒ” ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅ
  • startTime์œผ๋กœ ๊ณ„์‚ฐํ•˜๋˜ ๋ฐฉ์‹ duration์œผ๋กœ ์žฌ ๊ณ„์‚ฐ
  • mysql table์ƒ์„ฑ - adminRepository layer ๊ตฌํ˜„ โ†’ ์•จ๋ฒ” ์ •๋ณด์ €์žฅ, ๋…ธ๋ž˜ ์ €์žฅ
  • albumId = roomId ๋™๊ธฐํ™”
  • ํด๋ผ์ด์–ธํŠธ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ์†Œ์ผ“ ์—ฐ๊ฒฐ ์ œ๊ฑฐ ์–ํ˜ธ~
  • ์„œ๋ฒ„ ๋ฐฉ๋งŒ๋“ค๊ธฐ ์†Œ์ผ“ ๋‚ด๋ถ€ ์—ฐ๊ฒฐ

๐Ÿ“… 11. 21 (๋ชฉ)

โœ… Done

  • ์„œ๋ฒ„ ๋ฐฉ๋งŒ๋“ค๊ธฐ ์†Œ์ผ“ ๋‚ด๋ถ€ ์—ฐ๊ฒฐ
  • startTime์œผ๋กœ ๊ณ„์‚ฐํ•˜๋˜ ๋ฐฉ์‹ duration์œผ๋กœ ์žฌ ๊ณ„์‚ฐ
  • ๊ด€๋ฆฌ์ž๊ฐ€ ๋ฐฉ ์ƒ์„ฑ, ๋ฐฉ์—์„œ ์Œ์•… ์ŠคํŠธ๋ฆฌ๋ฐ ์ž˜๋˜๋Š” ๊ฒƒ ํ™•์ธ

โšก ToDo

  • ๋ฐ๋ชจ ์ž๋ฃŒ ๋งŒ๋“ค๊ธฐ
  • Mysql ์ €์žฅ ๋งˆ๋ฌด๋ฆฌ
  • ํŽ˜์ด์ง€ ์ ‘์† ์‹œ ์ •๋ณด ๋ฐ›์•„์˜ค๊ธฐ
  • ๊ฐ ๋ฐฉ๋งˆ๋‹ค ๋‹ค๋ฅธ ์Œ์•… ๋‚˜์˜ค๊ฒŒ ํ•˜๊ธฐ
  • ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ๋„ ๋˜‘๊ฐ™์ด ๋Œ์•„๊ฐ€๋Š”์ง€ ํ…Œ์ŠคํŠธ ์ง„ํ–‰
  • ์ค‘๊ฐ„์— ์ ‘์† ํ–ˆ์„ ๋•Œ, ์ค‘๊ฐ„๋ถ€ํ„ฐ ๋“ค์„ ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„
  • ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ ์†Œ์ผ“์œผ๋กœ ๋ฐฉ ์ƒ์„ฑํ•˜๊ธฐ

๐Ÿ”ฅ Problem

  • ๋…ธ๋ž˜ ํ•˜๋‚˜ ๋๋‚ฌใ…‡๋ฅด ๋•Œ ์ž๋™์œผ๋กœ ๋‹ค์Œ ๋…ธ๋ž˜ ์žฌ์ƒ์‹œํ‚ค๊ธฐ

inear

๊ธฐ์ˆ  ๊ณต์œ 

๐Ÿš€ ffmpeg๋Š” stderr๋กœ ๋””๋ฒ„๊น…์„ ํ•˜๋Š” ์ด์œ 
๐Ÿš€ HLS ํ”„๋กœํ† ์ฝœ์— ๊ด€ํ•œ ์ •๋ฆฌ ๋ฐ FFmpeg ์‚ฌ์šฉ๊ธฐ
๐Ÿš€ ๋น„ํŠธ๋Š” tsconfig.json์ด ์„ธ ๊ฐœ?
๐Ÿš€ NestJS ๊ธฐ๋ณธ ๊ฐœ๋… - Modules
๐Ÿš€ Socket.io ์ตœ(๊ฐ•)์ ํ™”
๐Ÿš€ ๋„์ปค์™€ nginx์˜ ์‚ฌ์šฉ๊ธฐ
๐Ÿš€ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด์ž

๊ฐœ๋ฐœ ์ผ์ง€

๐Ÿš€ FSD ์‚ฌ์šฉ๊ธฐ, ๊ทผ๋ฐ ์ด์ œ ๋‚˜๋งŒ์˜ ๊ทœ์น™์„ ๊ณ๋“ค์ธ
๐Ÿš€ CICD ๊ตฌ์กฐ ์ˆ˜์ •
๐Ÿš€ ์•จ๋ฒ” ๋‹จ์œ„๋กœ ์ŠคํŠธ๋ฆฌ๋ฐ ํ•˜๊ธฐ (with HLS)
๐Ÿš€ HLS๋กœ ์Œ์•… ์ฃผ๊ณ ๋ฐ›๊ธฐ
๐Ÿš€ vite + react + typescript ํ™˜๊ฒฝ์—์„œ path alias ์„ค์ •
๐Ÿš€ React Scan์ด ๋ญ์ฃ ?
๐Ÿš€ ๋กœ์ปฌ ํ™˜๊ฒฝ ๊ฐœ๋ฐœ ๋ชจ๋“œ ๋ฐฐํฌ
๐Ÿš€ ์•จ๋ฒ” ์ „์ฒด๋ฅผ ์ŠคํŠธ๋ฆฌ๋ฐํ•œ๋‹ค๊ณ ? (with HLS)
๐Ÿš€ ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž

ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

๐Ÿš€ ์ƒˆ๋กœ๊ณ ์นจ ์‹œ HLS ERROR
๐Ÿš€ input ํƒœ๊ทธ์— ํ•œ๊ธ€ ์ž…๋ ฅ ํ›„, Enter๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•จ์ˆ˜๊ฐ€ ๋‘๋ฒˆ ํ˜ธ์ถœ๋˜๋Š” ์˜ค๋ฅ˜
๐Ÿš€ nginx proxy pass๋ฅผ ๋ฐ”๊ฟจ๋”๋‹ˆ ์ƒ๊ธด ์—๋Ÿฌ - ์Šค์›จ๊ฑฐ ์ธ์‹ ๋ฌธ์ œ
๐Ÿš€ ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ WS handshake
๐Ÿš€ ๋ Œ๋”๋ง ๋ฒ”์ธ์€ ํ•˜๋‚˜!

ํ˜‘์—… ๊ทœ์น™

๐ŸŒˆ ๊ทธ๋ผ์šด๋“œ ๋ฃฐ
๐Ÿฅ” ํŒ€์› ์†Œ๊ฐœ
๐Ÿ”Ž ์ฝ”๋“œ & ๊นƒ ์ปจ๋ฒค์…˜
๐ŸŒณ ๊นƒ branch ์ „๋žต
๐Ÿ“Œ ๋…ธ์…˜ ๋ฌธ์„œ ์ €์žฅ์†Œ

ํ”„๋กœ์ ํŠธ ๊ธฐํš

๐ŸŽจ ํ”ผ๊ทธ๋งˆ
๐Ÿง‘โ€๐Ÿ’ป ๊ธฐํš ๊ณต์œ  ๋ฐœํ‘œ ์ž๋ฃŒ
๐ŸŽค 2์ฃผ์ฐจ ๋ฐœํ‘œ ์ž๋ฃŒ
๐Ÿ˜Ž ๋ฐฑ๋กœ๊ทธ

๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ

๐Ÿ“ 1์ฃผ์ฐจ
๐Ÿ“ 2์ฃผ์ฐจ
๐Ÿ“ 3์ฃผ์ฐจ
๐Ÿ“ 4์ฃผ์ฐจ
๐Ÿ“ 5์ฃผ์ฐจ

์ฃผ๊ฐ„ ๊ณ„ํš์„œ

๐Ÿ—“๏ธ 1์ฃผ์ฐจ
๐Ÿ—“๏ธ 2์ฃผ์ฐจ
๐Ÿ—“๏ธ 3์ฃผ์ฐจ
๐Ÿ—“๏ธ 4์ฃผ์ฐจ
๐Ÿ—“๏ธ 5์ฃผ์ฐจ

๊ทธ๋ฃน ํšŒ๊ณ 

โœจ 1์ฃผ์ฐจ
โœจ 2์ฃผ์ฐจ
โœจ 3์ฃผ์ฐจ
โœจ 4์ฃผ์ฐจ


view

Clone this wiki locally