๐ŸŠ[์ •๊ธ€์ผ์ง€] ๋‚˜๋งŒ์˜ ๋ฌด๊ธฐ๋ฅผ ๊ฐ–๊ธฐ(์ •๊ธ€ ์ตœ์ข… ํ”„๋กœ์ ํŠธ) ํšŒ๊ณ 

์ด๊ฐ•์šฑยท2023๋…„ 1์›” 30์ผ
2

๐ŸŠ ์ •๊ธ€์ผ์ง€

๋ชฉ๋ก ๋ณด๊ธฐ
7/8
post-thumbnail

๋‚˜๋งŒ์˜ ๋ฌด๊ธฐ๋ฅผ ๊ฐ–๊ธฐ

์ •๊ธ€์˜ ๋งˆ์ง€๋ง‰์„ ์žฅ์‹ํ•˜๋Š” ์‹ค์ „ ํ”„๋กœ์ ํŠธ ์ฃผ๊ฐ„, ๋‚˜๋งŒ์˜ ๋ฌด๊ธฐ๋ฅผ ๊ฐ–๊ธฐ๊ฐ€ ๋๋‚ฌ๋‹ค.
5์ฃผ๋™์•ˆ ์ง„ํ–‰ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ํšŒ๊ณ ์™€ ๊ฐ„๋‹จํ•œ ์†ŒํšŒ๋ฅผ ๋‚จ๊ฒจ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

ํŒ€ ๋ฐฐ์ •

๊ฐ์ž์˜ ์„ ํ˜ธ๋„๋ฅผ ์ œ์ถœํ•˜์—ฌ stable-marriage ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ํŒ€์ด ๊ตฌ์„ฑ๋˜์—ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํŒ€์ด ๊ทธ๋žฌ๋“ฏ, ๋‚˜๋Š” ํ•€ํ† ์Šค 1, 2์ฃผ์ฐจ๋ฅผ ํ•จ๊ป˜ํ•œ ๋™๊ธฐ ํ˜•๊ณผ ํ•จ๊ป˜ ์‚ฌ์ „์— ํ˜‘์˜๋ฅผ ํ•ด์„œ ์„ ํ˜ธ๋„๋ฅผ ์ œ์ถœํ–ˆ๊ณ , ์˜๋„๋Œ€๋กœ ํŒ€์ด ๊ตฌ์„ฑ๋˜์—ˆ๋‹ค. ํŒ€์˜ ์ด๋ฆ„์€ code EATERS. ์ดˆ์•ˆ ๋ฐœํ‘œ ์ดํ›„, ์šฐ๋ฆฌ์˜ ์„œ๋น„์Šค ์ด๋ฆ„์„ ๋‚ด๊ฑฐ๋Š” ๊ฒƒ์ด ๋” ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ฒŒ๋˜์–ด ์ž˜ ์“ฐ์ง€๋Š” ์•Š์•˜์ง€๋งŒ, ์Šคํ‹ฐ์ปค๋ฅผ ์ œ์ž‘ํ•ด ๋…ธํŠธ๋ถ์— ๋ถ™์ด๊ธฐ๋„ ํ•˜๋ฉฐ ํŒ€ํ”Œ๋ ˆ์ด๋ฅผ ์œ„ํ•œ ์†Œ์†Œํ•œ ์ฆ๊ฑฐ์›€์ด ๋˜์–ด์ฃผ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

์ดˆ์•ˆ ๋ฐœํ‘œ

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

ํŒ€ ์•ˆ์—์„œ ์ •๋ง ๋‹ค์–‘ํ•œ ์•„์ด๋””์–ด๋“ค์ด ๋‚˜์™”์ง€๋งŒ, ์ตœ์ข…์ ์œผ๋กœ ์šฐ๋ฆฌ ํŒ€์€ 2๊ฐœ์˜ ์ดˆ์•ˆ์„ ๋ฐœํ‘œํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ•˜๋‚˜๋Š” ์ˆํผ๊ณผ ์˜ค๋””์…˜์„ ๊ฒฐํ•ฉํ•œ '17์ดˆ'(ํฌ๋ฆฌ์—์ดํ„ฐ ์˜ค๋””์…˜) ๋ผ๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” '๋ ›์ธ ๋””๋ฒ ์ดํŠธ'๋ผ๋Š” ์˜จ๋ผ์ธ ํ† ๋ก  ํ”Œ๋žซํผ์ด์—ˆ๋‹ค. ๋‘ ๊ฐœ ๋‹ค ๊ธฐํš์ ์œผ๋กœ๋Š” ์ข‹์€ ํ‰๊ฐ€๋ฅผ ๋ฐ›๊ฒŒ ๋˜์—ˆ๊ณ , ์šฐ๋ฆฌ ํŒ€์€ ๋‚ด๋ถ€์ ์œผ๋กœ ํž˜์„ ๋” ์‹ค๊ณ  ์žˆ์—ˆ๋˜ '17์ดˆ'๋ฅผ ๊ฐ€์ง€๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

์ค‘๊ฐ„ ๋ฐœํ‘œ๊นŒ์ง€

์šฐ๋ฆฌ๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ์„ ์œ„ํ•ด 'openvidu'๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฌธ์„œ๋ฅผ ์ •๋…ํ•˜๊ณ , ๊ทธ ์™ธ์˜ AWS, SSL, Docker, intelliJ ๋“ฑ๋“ฑ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ ์„ค์ •ํ•  ๊ฒƒ๋“ค์ด ์ฐธ ๋งŽ์•„์„œ ์ด๋ฅผ ์กฐ์‚ฌํ•˜๊ณ  ์ ์šฉํ•˜๋Š๋ผ ์‹œ๊ฐ„์„ ๊ฝค ๋งŽ์ด ์ผ๋˜ ๊ธฐ์–ต์ด ๋‚œ๋‹ค.
openvidu๋ฅผ ์šฐ๋ฆฌ ์„œ๋น„์Šค์— ๋งž๊ฒŒ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ํ•˜๊ณ  ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๊ฒŒ ํ•˜๋Š”๋ฐ์— ๊ณ ์ƒ์„ ๋งŽ์ด ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‚ฌ์‹ค ์ค‘๊ฐ„๋ฐœํ‘œ ๋‹น์‹œ์—๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ์ด ๊ตฌํ˜„๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ, ๋‹ค๋ฅธ ์˜์ƒ์œผ๋กœ ๋Œ€์ฒดํ•ด ์‹œ์—ฐ์„ ํ–ˆ์—ˆ๋‹ค.
๋ฐœํ‘œ ํ›„, ์ฒ˜์Œ ๊ธฐํš์ด ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ์žฅ์ ์— ๋น„ํ•ด ํ˜„์žฌ ๊ตฌํ˜„๋œ ๋‚ด์šฉ์ด ๊ฑฐ์˜ ์—†๊ณ  ๋ฐœํ‘œ๋„ ๋ฏธํกํ•˜๋‹ค๋Š” ํ‰์„ ๋ฐ›์•˜๋‹ค. ๊ฒฐ๊ตญ ๊ฑฐ์˜ ์ดˆ๋ฐ˜ ๊ธฐํš๋‹จ๊ณ„๋กœ ๊ฑฐ์Šฌ๋Ÿฌ ๊ฐ€๋‹ค์‹œํ”ผํ•ด์„œ ๋‚จ์€ ์ผ์ •๊ณผ ๋’ค๋Šฆ๊ฒŒ ๊นจ๋‹ซ๊ฒŒ๋œ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์ „์ฒด์ ์ธ ์Šค์ฝ”ํ”„๋ฅผ ์กฐ์ •ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ฒฐ๊ตญ, ์„œ๋น„์Šค ๋„๋ฉ”์ธ์„ '์ˆํผ ์ปจํ…์ธ '์—์„œ '๋Œ„์Šค ์ฑŒ๋ฆฐ์ง€ ์ปจํ…์ธ '๋กœ ์ขํžˆ๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๊ณ , 'PLAY DANCE LIVE!'๋ผ๋Š” ์‹ค์‹œ๊ฐ„ ๋Œ„์Šค ๋ฐฐํ‹€ ํ”Œ๋žซํผ์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ ๋ฐœํ‘œ๊นŒ์ง€

๋‚˜๋กœ์„œ๋Š” ์ดˆ๋ฐ˜ ๋ฆฌ์„œ์น˜์—์„œ ์•„์ง ํ—ค์–ด๋‚˜์˜ค์ง€ ๋ชปํ•œ ์ƒํƒœ๋กœ ์ค‘๊ฐ„๋ฐœํ‘œ๋ฅผ ํ•˜๊ฒŒ ๋˜๊ณ , ์—ฌ๋Ÿฌ ๋ถ€์ •์ ์ธ ํ”ผ๋“œ๋ฐฑ๊ณผ ์œ„๊ธ‰ ์‹œ๊ทธ๋„์„ ํŒŒ์•…ํ•˜๊ฒŒ ๋˜์ž, ์ผ๋‹จ ๋˜๋Š”๋Œ€๋กœ ์„œ๋น„์Šค๊ฐ€ ์ž‘๋™ํ•˜๊ฒŒ๋งŒ ๊ตฌํ˜„์„ ๋น ๋ฅด๊ฒŒ ํ•˜์ž๋Š” ์•”๋ฌต์ ์ธ ํ•ฉ์˜๊ฐ€ ํŒ€๋‚ด์—์„œ ์ด๋ฃจ์–ด์กŒ๋‹ค. ๋‚˜๋Š” ํŒ€์žฅ ํ˜•๊ณผ ํ•จ๊ป˜ ํ”„๋ก ํŠธ ์‚ฌ์ด๋“œ์˜ ๊ตฌํ˜„์„ ๋งก๊ฒŒ ๋˜์—ˆ๊ณ , chat GPT๋ฅผ ์•„์ฃผ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•˜๋ฉด์„œ ํˆฌํ‘œ ์‹œ์Šคํ…œ๊ณผ UI, ์˜์ƒ ๋ ˆ์ด์•„์›ƒ๊ณผ ์• ๋‹ˆ๋ฉ”์ด์…˜, ์—ฐ์Šน ํšจ๊ณผ๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ์™€์ค‘์— ์˜์ƒ๊ณผ ์˜ค๋””์˜ค์˜ ์‹ฑํฌ ๋ฌธ์ œ๋„ ํ•จ๊ป˜ ํŒŒ์•…ํ•˜๊ฒŒ ๋˜์–ด ํŒ€์žฅ ํ˜•์ด ์ž‘์„ฑํ•ด๋‘์—ˆ๋˜ openvidu ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉฐ ๊ฐ™์ด ๊ณ ๋ฏผํ–ˆ๋‹ค. ๊ฒฐ๊ตญ openvidu์˜ audioSource๋ฅผ ๋‹ค๋ฅธ ์Œ์› source๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ , Web audio API๋ฅผ ํ™œ์šฉํ•˜์—ฌ MP3 ํŒŒ์ผ๋กœ ํ•ด๋‹น audioSource๋ฅผ ๋Œ€์ฒดํ•˜๋ฉด์„œ ์‹ฑํฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

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

์ตœ์ข…๋ฐœํ‘œ์™€ ํฌ์Šคํ„ฐ ์„ธ์…˜

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

๋ฐœํ‘œ ํ›„์˜ ์งˆ์˜ ์‘๋‹ต๊ณผ ์ดํ›„์˜ ํฌ์Šคํ„ฐ ์„ธ์…˜์—์„œ ์ƒ๊ฐํ•ด๋ณผ๋งŒํ•œ ์ข‹์€ ์งˆ๋ฌธ๋“ค์„ ๋งŽ์ด ๋“ค์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ •๊ธ€ ์™ธ๋ถ€์˜ ์‹œ์„ ์—์„œ(์•ฝ๊ฐ„์˜ ๊ฒฉ๋ ค๊ฐ€ ์„ž์—ฌ์žˆ๊ธด ํ•˜์ง€๋งŒ,) ์šฐ๋ฆฌ๊ฐ€ ๋ฏธ์ฒ˜ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค์„ ๋งŽ์ด ์งš์–ด์ฃผ์…จ๋‹ค.

  • ํˆฌํ‘œ ์‹œ์Šคํ…œ์—์„œ์˜ ์–ด๋ทฐ์ง• ํ–‰์œ„์— ๋Œ€ํ•œ ๋ฐฉ์–ด๊ฐ€ ๋˜์–ด์žˆ๋Š”์ง€?

    • ์‚ฌ์‹ค ํ˜„์žฌ ๊ตฌํ˜„์œผ๋กœ๋Š” ๋Œ€์‘ํ•˜์ง€ ๋ชปํ•œ๋‹ค.
      ์งˆ๋ฌธ์„ ๋“ฃ๊ณ  ๋– ์˜ฌ๋ž๋˜ ๋ฐฉ์•ˆ์€, ๋ฒ„ํŠผ์„ ํ†ตํ•œ api ์š”์ฒญ์— '์ฟจํƒ€์ž„' ๊ฐ™์€ ๋”œ๋ ˆ์ด๋ฅผ ์ ์šฉํ•œ๋‹ค๋˜์ง€, ๋” ์•ˆ์ „ํ•˜๊ฒŒ๋Š” ์š”์ฒญ์„ ๋ฐ›๋Š” ์„œ๋ฒ„๊ฐ€ ๊ฐ™์€ ๋กœ๊ทธ์ธ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ์š”์ฒญ์— ๋Œ€ํ•ด ์ผ์ • ์‹œ๊ฐ„๋‚ด ์ตœ๋Œ€ ์š”์ฒญ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ œํ•œํ•œ๋‹ค๋˜์ง€ ํ•˜๋Š” ๋ฐฉ์•ˆ์ด ๋– ์˜ฌ๋ž๋‹ค.
  • ์Šคํ”„๋ง ๋ถ€ํŠธ ์„ ํƒ ์ด์œ 

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

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

    • ์ด ๊ฒฝ์šฐ๋„ ์‚ฌ์‹ค ์ƒ๊ฐ์กฐ์ฐจ ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์˜์ƒ๊ณผ ์Œ์›์˜ ์‹ฑํฌ๋ฅผ ๋งž์ถ”๋Š”๋ฐ ๊ณต์„ ๋งŽ์ด ๋“ค์˜€์ง€๋งŒ, ์‹ฑํฌ๊ฐ€ ๋งž์€ ํ›„์—๋„ ๋„คํŠธ์›Œํฌ ์ž์ฒด์˜ ์ง€์—ฐ์œผ๋กœ ์˜์ƒ์ด ๋š ๋š ๋Š๊ธธ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ๋ณด์ •(?) ์ฒ˜๋ฆฌ๋Š” ๋‹ฌ๋ฆฌ ๊ณ ๋ คํ•˜์ง€ ์•Š์•˜์—ˆ๋Š”๋ฐ ์‚ฌ์‹ค ์งˆ๋ฌธ์„ ๋“ฃ๊ณ ๋„ ๋”ฑํžˆ ๊ทธ๋Ÿด๋“ฏํ•œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ์ด ๋– ์˜ค๋ฅด์ง€ ์•Š์•˜๋‹ค. ์ถ”๊ฐ€์ ์ธ ์กฐ์‚ฌ์™€ ๊ณ ๋ฏผ์ด ๋” ํ•„์š”ํ•˜๋‹ค.
  • ์ตœ๋Œ€ ๋ช‡๋ช…๊นŒ์ง€ ์‹œ์ฒญ์ด ๊ฐ€๋Šฅํ• ์ง€?

    • ๋„คํŠธ์›Œํฌ ์ƒํ™ฉ๋งŒ ์ž˜ ๋’ท๋ฐ›์นจ ๋˜์–ด ์ค€๋‹ค๋ฉด, 12๋ช…์—์„œ 15๋ช… ์ •๋„๋Š” ๋ฌด๋ฆฌ์—†์ด ์‹œ์ฒญํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ˜„์žฌ ๊ตฌํ˜„ ์ž์ฒด๊ฐ€ ์‹œ์—ฐ์šฉ์— ์ตœ์ ํ™” ๋˜์–ด์žˆ๊ณ , ์ถค์„ ์ถ”๋Š” ์‚ฌ๋žŒ์˜ UI๋Š” ๊ฑฐ์˜ ๊ฐœ๋ฐœ์ž ์šฉ์ด๋‚˜ ๋‹ค๋ฆ„ ์—†์–ด ์‹œ์ฒญ์ž๋“ค์˜ ์˜๋„ํ•˜์ง€ ์•Š์€ ์กฐ์ž‘์ด ์„œ๋น„์Šค๋ฅผ ๊ณ„์† ๋‹ค์šด์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋Š” ์™„์„ฑ๋„ ์ธก๋ฉด์—์„œ ๊ฐ€์žฅ ๋จผ์ € ๋ณด์™„ํ•ด์•ผ ํ•  ์‚ฌํ•ญ ์ค‘์— ํ•˜๋‚˜์ด๋‹ค.
  • ์ฐธ๊ฐ€์ž๊ฐ€ ์ค‘๊ฐ„์— ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ๋‚˜, ์ถ”๊ฐ€ ์ฐธ๊ฐ€์ž๊ฐ€ ์—†์„ ๊ฒฝ์šฐ์˜ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

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

์งง์€ ์†ŒํšŒ

๋Œ์ด์ผœ๋ณด๋ฉด ๊ฝค ๊ดœ์ฐฎ์€ ํŒ๋‹จ์„ ํ–ˆ๋˜ ์ง€์ ๋“ค์ด ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

  • redis์™€ db ๊ฐ๊ฐ์— ๋ณด๊ด€ํ•˜๋Š” ์ •๋ณด๋ฅผ ๊ตฌ๋ถ„ํ•  ๋•Œ ํ–ˆ๋˜ ํŒ๋‹จ

    • ์‚ฌ์‹ค redis๋ฅผ ์ฒ˜์Œ ๋„์ž…ํ•  ๋•Œ ๊ฐ‘๋ก ์„๋ฐ•์ด ์žˆ์—ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ž๋ฃŒ๋“ค์„ ํ†ตํ•ด ์‚ดํŽด๋ณธ ๋ฐ”๋กœ๋Š” ๋ฉ”์ธ DB์— ๋Œ€ํ•œ ์บ์‹œ๋กœ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ด๋ฅผ ํ–ˆ์—ˆ๋Š”๋ฐ, in memory db๋กœ์„œ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ์—ˆ๋‹ค. ๊ฒฐ๊ตญ redis๊ฐ€ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์˜ ์ผ์ข…์ž„์„ ์ƒ๊ธฐํ•˜๋ฉฐ ๊ทธ๊ฒƒ์˜ ํŠน์„ฑ์„ '๋น ๋ฅธ ์ฒ˜๋ฆฌ ์†๋„'์™€ 'in memory'๋กœ ํŒ๋‹จํ–ˆ๊ณ , ์„œ๋น„์Šค์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ค‘ ์‹ค์‹œ๊ฐ„์„ฑ๊ณผ ํœ˜๋ฐœ์„ฑ์„ ๋™์‹œ์— ์ง€๋‹Œ ๋ฐ์ดํ„ฐ (e.g. ํˆฌํ‘œ ๋ฐ์ดํ„ฐ, ๋Œ€๊ธฐ์—ด ๋ฐ์ดํ„ฐ)๋ฅผ ์ €์žฅํ•˜๋Š” db๋กœ ํ™œ์šฉํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋จธ์ง€ ์˜์†์„ฑ์ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ (e.g. ์œ ์ € ์—ฐ์Šน ์ „์ )๋“ฑ์„ mysql์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ db๋ฅผ ์ด์›ํ™”ํ–ˆ๋‹ค.
  • ์˜์ƒ๊ณผ ์˜ค๋””์˜ค์˜ ์‹ฑํฌ ๋งž์ถ”๊ธฐ

    • ์•ž์„œ ์–ธ๊ธ‰ํ•˜๊ธด ํ–ˆ์ง€๋งŒ, ์–ด์จ‹๋“  ์ƒ์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•์ด ๋น›์„ ๋ฐœํ•œ ์ˆœ๊ฐ„์ด์—ˆ๋‹ค. ํŒ€์žฅ ํ˜•์ด ์ž‘์„ฑํ•ด๋†“์€ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์ดํ•ดํ•˜๋Š” ๊ณผ์ •์—์„œ audioSource ๋Œ€์ฒด๋ฅผ ํ†ตํ•œ ํ•ด๊ฒฐ๋ฐฉ์•ˆ ์ ‘๊ทผ์„ ๋‚ด๊ฐ€ ์ œ์•ˆํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ํŒ€์žฅ ํ˜•์ด ๋๋‚ด ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ์— ์„ฑ๊ณตํ–ˆ๋‹ค.
  • ์ค‘๊ฐ„์— ๋„๋ฉ”์ธ์„ ์ขํ˜”๋˜ ๊ฒฐ์ •

    • ๊ธฐ์ˆ ์ ์ธ ๋ถ€๋ถ„์€ ์•„๋‹ˆ์ง€๋งŒ, ํ˜„์žฌ ์ƒํ™ฉ์— ๋Œ€ํ•œ ํ˜„์‹ค์ ์ธ ํŒ๋‹จ์„ ํ†ตํ•ด ๊ณ„ํš์„ ๊ณผ๊ฐํ•˜๊ฒŒ ์ˆ˜์ •ํ–ˆ๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฐœํ‘œ ์™„์„ฑ๋„์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นœ ๊ฒฐ์ •์ด ๋˜์—ˆ๋‹ค. ์–ด์ฉŒ๋ฉด MVP(minimum viable product)๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ชธ์œผ๋กœ(?) ์ฒด๊ฐํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒฝํ—˜์ด์—ˆ๊ณ , ์ดˆ๋ฐ˜ ์Šค์ฝ”ํ”„๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์–ด๋ ค์šด์ง€, ๊ทธ๋ฆฌ๊ณ  ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ๊นจ๋‹ฌ์•˜๋‹ค.

๊ฐœ์ธ์ ์ธ ํผํฌ๋จผ์Šค ์ƒ์œผ๋กœ ์•„์‰ฌ์šด ์ ๋„ ์žˆ์—ˆ๋‹ค.

  • ๋ชฉํ‘œ๋ฅผ ์ž‘์€ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์ง€ ๋ชปํ–ˆ์Œ (๋ช…ํ™•ํ•œ ๊ณผ์ œ ์—†์ด๋Š” ์ž‘์—…์„ ์Šค์Šค๋กœ ์‹œ์ž‘ํ•˜์ง€ ๋ชปํ–ˆ์Œ)

    • ์˜ˆ์ „์— ์ž์ „๊ฑฐ ๊ตญํ†  ์ข…์ฃผ๋ฅผ ํ•˜๋ฉด์„œ๋„ ๊นจ๋‹ซ๊ณ  ์ ์–ด๋†“์•˜๋˜ ๋ถ€๋ถ„์ธ๋ฐ, ์ž‘์€ ๋ชฉํ‘œ๋ฅผ ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ถ”์ง„๋ ฅ์— ์–ผ๋งˆ๋‚˜ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€ ๋˜ ํ•œ๋ฒˆ ๊นจ๋‹ฌ์•˜๋‹ค. ์‚ฌ์‹ค ์ด๋ฒˆ์—๋Š” ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ๋ชปํ•ด ์ดˆ๋ฐ˜์— ์†์„ ๋†“๊ฒŒ ๋˜๋Š” ์‹œ๊ฐ„์ด ๋งŽ์•„์„œ ๋„ˆ๋ฌด ์•„์‰ฌ์šด ๋งˆ์Œ์ด๋‹ค.
  • ๊ตฌํ˜„ ์ „ ์กฐ์‚ฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๋„ˆ๋ฌด ๋งŽ์ด ์†Œ๋น„ํ–ˆ์Œ (๊ณต๋ถ€๋กœ ๋„๋ง์น˜๊ธฐ)

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

    • ์†”์งํžˆ ๋ชธ์„ ๋งŽ์ด ๋ฒ„๋ฆฐ ๊ฒƒ ๊ฐ™๋‹ค. ๋งˆ๊ฐ์— ์ซ“๊ธฐ๋ฉด์„œ ๋ฐค์ƒ˜๋„ ์ •๋ง ๋งŽ์ด ํ–ˆ๊ณ , ์นดํŽ˜์ธ ์„ญ์ทจ๋„ ์—ญ๋Œ€ ์ตœ๊ณ ์น˜๋ฅผ ๊ฒฝ์‹ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

์—ฌ๋Ÿฌ๋ชจ๋กœ ์ž˜ํ•œ ์ ๋„, ์•„์‰ฌ์šด ์ ๋„ ๋งŽ์•˜๋˜ ์ตœ์ข… ํ”„๋กœ์ ํŠธ์ง€๋งŒ ์ •๊ธ€์˜ ํ”ผ๋‚ ๋ ˆ์˜€๋˜ ๋งŒํผ ์˜ค๋ž˜๋„๋ก ๊ธฐ์–ต์— ๋‚จ์„ ๊ฒƒ ๊ฐ™๋‹ค. ํ•จ๊ป˜ํ•œ ํŒ€์›๋“ค๊ณผ ๋™๊ธฐ๋“ค์—๊ฒŒ ์ •๋ง ๊ฐ์‚ฌํ•˜๋‹ค.

profile
I think I think too much.

0๊ฐœ์˜ ๋Œ“๊ธ€