Skip to content

๐Ÿ’ญ ๊ฐœ์ธ ํšŒ๊ณ 

Song_Minhyung edited this page Dec 12, 2023 · 32 revisions

1์ฃผ์ฐจ

๊น€์œ ์ •

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

๊น€์œ ์ง„

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

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

์†ก๋ฏผํ˜•

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

ํ—ˆ์ง€์˜ˆ

๊ทธ๋ฃน ํ”„๋กœ์ ํŠธ์˜ ์ฒซ ์ฃผ์ฐจ๋Š” ๋Œ€๋ฉด์œผ๋กœ ์ง„ํ–‰ํ•˜๋‹ˆ ์žฌ๋ฐŒ์—ˆ๋‹ค!

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

๋‹ค์Œ ์ฃผ๋ถ€ํ„ฐ ๋ณธ๊ฒฉ์ ์ธ ๊ฐœ๋ฐœ์— ๋“ค์–ด๊ฐ€๋‹ˆ, ์ฃผ๋ง์— ๋ฏธ๋ฆฌ ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ํ•™์Šตํ•ด์„œ ๊ธฐ์ˆ ์„ ์ถฉ๋ถ„ํžˆ ์ž˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค.

2์ฃผ์ฐจ

๊น€์œ ์ •

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

์ด๋ฒˆ์ฃผ๋Š” ๋ณ€๊ฒฝ๋œ ๊ธฐํš ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ERD๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , API๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์ผ์ฃผ์ผ์„ ๋‹ค ์“ด ๊ฒƒ ๊ฐ™๋‹ค.
API๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ๋นจ๋ฆฌ ๋ฐฐํฌํ•˜์—ฌ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๋Š” ๊ฒƒ์ด ํŒ€์˜ ๋ชฉํ‘œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฒˆ ์ฃผ๋ง์€ ๋ฐฐํฌ ๊ณต๋ถ€๋ฅผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

ํ”„๋กœ์ ํŠธ ๊ณต์œ  ์‹œ๊ฐ„์— ์™œ typeOrm์„ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์งˆ๋ฌธ์„ ๋งค๋ฒˆ ๋ฐ›๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ๊ธฐ์ˆ  ์„ ํƒ์— ๋Œ€ํ•œ ๊ทผ๊ฑฐ ์—†์ด ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•œ ๊ฒƒ ๊ฐ™์•„ ๋งŽ์ด ๋ฐ˜์„ฑํ–ˆ๋‹ค.
๋‹ค์Œ ์ฃผ์—๋Š” ์ด๋ฒˆ ์ฃผ์— ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ•œ ๋ฌธ์„œํ™”๋„ ํ•˜๊ณ , ๊ธฐ์ˆ  ์„ ํƒ์— ๋Œ€ํ•œ ๊ทผ๊ฑฐ๋„ ์ •๋ฆฌํ•ด์•ผ๊ฒ ๋‹ค.

๊น€์œ ์ง„

์ด๋ฒˆ์ฃผ๋Š” ์ƒ๊ฐ๋ณด๋‹ค ์ˆœ์กฐ๋กญ๊ฒŒ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋œ ๊ฒƒ ๊ฐ™๋‹ค. 
๊ณ„ํšํ–ˆ๋˜ ์Šคํ”„๋ฆฐํŠธ์˜ ์ด์Šˆ๋“ค๋„ ๊ฑฐ์˜ ๋‹ค ํ•ด๊ฒฐ์„ ํ•ด์„œ ์ฐจ์ธฐ ์™„์„ฑ์ด ๋˜์–ด๊ฐ€๊ณ  ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณด๊ณ  ์žˆ์ž๋‹ˆ ๋ฟŒ๋“ฏํ–ˆ๋‹ค.

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

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

์†ก๋ฏผํ˜•

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

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

๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋‹ค๊ฐ€์™”์„ ๋•Œ ์ €๋Š” ๊ทธ๊ฑธ ๋ฌด์กฐ๊ฑด ์ผ๋‹จ ํ•ด๊ฒฐํ•˜์ž๋Š” ๋งˆ์ธ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์›์ธ์€ ์‹ ๊ฒฝ์ง€๋„ ์•Š์€์ฑ„๋กœ ๋ง์ด์ฃ . 
๊ทธ๋ž˜์„œ ์ด๋ฒˆ์— ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ผ๋‹จ ํ•ด๊ฒฐ๋ถ€ํ„ฐ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ญ์‹œ๋‚˜ ์›์ธ์€ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•˜์ฃ . ๊ทธ๋Ÿฐ๋ฐ ํŒ€์›์ด ์ €์—๊ฒŒ ๋ฌผ์–ด๋ดค์Šต๋‹ˆ๋‹ค.
> ์ด ์ด์Šˆ๋Š” ๋ญ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋๋˜๊ฑด๊ฐ€์š” !?!?

์ €๋Š” ์•„... ๋’ทํ†ต์ˆ˜๋ฅผ ํ•œ๋Œ€ ์–ป์–ด๋งž์€ ๋Š๋‚Œ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
์ง€๊ธˆ๊นŒ์ง€๋Š” ๋”ฑํžˆ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ํŒ€์› ๋•๋ถ„์— ๊นจ๋‹ฌ์€ ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ์ผ๋‹จ ํ•ด๊ฒฐํ•˜๋Š”๊ฑด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. 
๊ทผ๋ฐ ๊ทธ๊ฒŒ ์™œ ๋ฐœ์ƒํ–ˆ๋Š”์ง€๋ฅผ ๋ชจ๋ฅด๋ฉด ๋‚˜์ค‘์— ๋˜ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„๋•Œ ์–ด๋ ค์›€์ด ์ƒ๊ธธ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ์•ž์œผ๋กœ๋Š” ์˜๋„์ ์œผ๋กœ ๋ฌธ์ œ์˜ ์›์ธ๋„ ํ•จ๊ป˜ ํŒŒ์•…ํ•˜๋ ค๋Š” ์Šต๊ด€์„ ๊ฐ€์ ธ์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ์ฃผ์—๋Š” husky ์ ์šฉ์„ ๋งˆ์ € ๋๋งˆ์ณ ๋ณผ ์ƒ๊ฐ ์ž…๋‹ˆ๋‹ค.

ํ—ˆ์ง€์˜ˆ

์ด๋ฒˆ ์ฃผ์— ๋ณธ๊ฒฉ์ ์œผ๋กœ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ, ์ƒ๊ฐ๋ณด๋‹ค ์ˆœ์กฐ๋กญ๊ฒŒ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜์—ˆ๋‹ค.
๊ทธ๋ž˜์„œ ์•ž์œผ๋กœ์˜ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ธฐ๋Œ€๊ฐ€ ๋˜๊ณ  ์ฆ๊ฑฐ์› ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฌธ์„œํ™”๋ฅผ ํ•˜๊ธฐ๋กœ ์ฒ˜์Œ์— ์‹œ๊ฐ„์„ ์ •ํ•ด๋‘์—ˆ๋Š”๋ฐ, ๊ฐœ๋ฐœ ์ดˆ๋ฐ˜์ด๋ผ ๊ทธ๋Ÿฐ์ง€ ๊ธฐ๋กํ•  ๊ฒŒ ๋ณ„๋กœ ์—†๋‹ค๊ณ  ๋Š๊ปด์„œ ๊ธฐ๋ก์„ ๊ฑฐ์˜ ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.
๋‹ค์Œ์ฃผ์—๋Š” ์‹œ๊ฐ„์„ ๋‚ด์„œ ๊ฐ„๋‹จํ•œ ๊ฑฐ๋ผ๋„ ๋” ๊ธฐ๋ก์„ ํ•ด๋‘๋ ค๊ณ  ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค. 

3์ฃผ์ฐจ

๊น€์œ ์ •

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

๊น€์œ ์ง„

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

๋‹ค์Œ์ฃผ์—๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ Œ๋”๋ง ์ตœ์ ํ™” ๊ณต๋ถ€๋ฅผ ํ•ด๋ณด๋ฉด์„œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผœ๋ณด๊ณ  ์‹ถ๋‹ค. 
๋˜ํ•œ ์ถ”๊ฐ€์ ์œผ๋กœ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•œ ๊ธฐ๋Šฅ์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ์„ ์ง€ ์ข€ ๋” ๊ณ ๋ฏผํ•ด๋ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.

์†ก๋ฏผํ˜•

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

ํ—ˆ์ง€์˜ˆ

์ด๋ฒˆ ์ฃผ์—๋Š” ๋“œ๋””์–ด ๋ฐฐํฌ๋ฅผ ํ–ˆ๋‹ค.

๋ฐฐํฌ๋ฅผ ๋ชฉํ‘œ๋กœ ๋‹ฌ๋ฆฌ๋‹ค ๋ณด๋‹ˆ ๋” ๋ฐ”์˜๊ณ  ๋งˆ์Œ์ด ๊ธ‰ํ•ด์ง€๊ณ  ์ง‘์—๋„ ๋Šฆ๊ฒŒ๊ฐ€๊ณ  ๊ทธ๋žฌ์ง€๋งŒ ๋ฐฐํฌ๋ฅผ ๋๋‚ด๊ณ  ๋‚˜๋‹ˆ ๋ฟŒ๋“ฏํ•ด์„œ ํž˜๋“ค์—ˆ๋˜ ๊ฒŒ ๋‹ค ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

๋˜, ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์กฐ๊ธˆ์ด๋ผ๋„ ํ’€์Šคํƒ์„ ํ•œ๋ฒˆ ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ์†Œ์ผ“ ํ†ต์‹ ์œผ๋กœ ๋‚˜๋งˆ nest์™€ react ํ’€์Šคํƒ ๊ฐœ๋ฐœ์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค.
spring boot์™€ nest๋Š” ๋น„์Šทํ•˜๋“ฏ ๋˜ ๋‹ค๋ฅธ ๋ฐ ๋‚˜๋Š” ํ”„๋ก ํŠธ ๊ฐœ๋ฐœ์ž์ง€๋งŒ ๋‚˜์ค‘์— nest๋ฅผ ์ œ๋Œ€๋กœ ๊ณต๋ถ€ํ•ด๋ณด๋Š” ๊ฒƒ๋„ ์žฌ๋ฐŒ์„ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  stream์œผ๋กœ ์‘๋‹ต์„ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ์‹œ๋„ํ•ด๋ณด์•˜๋Š”๋ฐ, ๋งค์šฐ ์ข‹์€ ์‹œ๋„์˜€๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ €๋ฒˆ์ฃผ ํ”ผ์–ด์„ธ์…˜์—์„œ ๊ด€๋ จ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ฃผ์‹  ๋ถ„๊ป˜ ๋„ˆ๋ฌด ๊ฐ์‚ฌํ•˜๋‹ค.

4์ฃผ์ฐจ

๊น€์œ ์ •

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

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

๊น€์œ ์ง„

๋ฐ˜์‘ํ˜• ์›น์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๋ฉฐ ์ˆ˜์ •์„ ๊ฑฐ์ณค๋Š”๋ฐ, ๊ทธ ๊ณผ์ •์ด ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์› ๋‹ค. 

์˜ˆ๋ฅผ๋“ค์–ด ๊ฐค๋Ÿญ์‹œ ํด๋“œ์˜ ๊ฒฝ์šฐ ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ 280px๋กœ ๋‹ค๋ฅธ ์ผ๋ฐ˜์ ์ธ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๊ฐ€๋กœํญ์ด ์ข์•˜๊ณ , ์•„์ดํŒจ๋“œ ํ”„๋กœ์˜ ๊ฒฝ์šฐ ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ ๋„“์–ด์„œ PC๋กœ ๋ถ„๋ฅ˜๋˜๊ธฐ๋„ ํ–ˆ๋‹ค.
๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค์—์„œ ๋ฌธ์ œ์—†์ด ํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด์„œ vw, vh, % ๋“ฑ์„ ํ™œ์šฉํ•˜๊ธฐ๋„ ํ–ˆ๊ณ , ๋ ˆ์ด์•„์›ƒ์„ ์•„์˜ˆ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์—ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋Š” os์˜ ์ฐจ์ด๋กœ ์ธํ•ด ๋ฐœ์ƒํ–ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ios์˜ ๊ฒฝ์šฐ, ํ„ฐ์น˜ ์‹œ์— ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ์ž„์„ ์•Œ๊ณ  ์ขŒ์ ˆํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค.
์ด์ฒ˜๋Ÿผ ๋ ˆ์ด์•„์›ƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ„ฐ์น˜์™€ ํ˜ธ๋ฒ„๋ง ์ด๋ฒคํŠธ๊นŒ์ง€ ๊ณ ๋ คํ•ด์•ผํ•œ๋‹ค๋Š” ์ ์ด ์–ด๋ ค์› ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.
๊ทธ๋ž˜๋„ ๋ชจ๋“  ๋””๋ฐ”์ด์Šค์—์„œ ์ •์ƒ์ ์œผ๋กœ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๋ณด๋žŒ์ฐจ๊ณ  ๋ฟŒ๋“ฏํ–ˆ๋˜ ์ž‘์—…์ด๋‹ค.

์†ก๋ฏผํ˜•

WebRTC๋กœ ์ƒ๋Œ€๋ฐฉ๊ณผ ์—ฐ๊ฒฐ์„ ๋งบ๊ณ , peerConnection์„ ๋งบ์–ด local์˜ ๋น„๋””์˜ค๋ฅผ ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ ์ „์†กํ•˜๋Š” ๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ์ง‘์ค‘ํ–ˆ๋‹ค.
์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ํ•˜๋Š”๊ฒŒ ์žฌ๋ฏธ์žˆ์–ด์„œ ์‹œ๊ฐ„๊ฐ€๋Š”์ค„ ๋ชจ๋ฅด๊ณ  ์ง‘์ค‘ ํ–ˆ๋Š”๋ฐ ํ•œ๊ฐ€์ง€ ๊ฐ„๊ณผํ•œ๊ฒŒ ์žˆ์—ˆ๋‹ค. 
์ด ๊ธฐ์ˆ ์„ ์ œ๋Œ€๋กœ ์•Œ์ง€๋„ ๋ชปํ•œ์ฑ„๋กœ ์‚ฌ์šฉํ•œ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ด์Šˆ๊ฐ€ ์ƒ๊ฒจ๋„ ์™œ, ์–ด๋””์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋Š”์ง€ ์ฐพ๋Š”๋ฐ ํ•œ์ฐธ ์‹œ๊ฐ„์„ ์ผ์—ˆ๋‹ค.
์‹œ๊ฐ„์ด ์•„๋ฌด๋ฆฌ ๋ถ€์กฑํ•ด๋„ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๋ฐฐ์šธ๋•Œ ๋Œ€์ถฉ ํ›‘์–ด๋ณด์ง€ ๋ง๊ณ  ์ œ๋Œ€๋กœ ๋ฐฐ์›Œ์•ผ๊ฒ ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์— ๋”ํ•ด ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๋ฐฐ์šธ๋•Œ๋Š” ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ๋„ ๋“ค์—ˆ๋‹ค.
๊ณต์‹๋ฌธ์„œ๋งŒ ์ฝ์–ด๋ณด๋ฉด ์ •๋ง ์‹œ๊ฐ„์„ ์•ˆ๋“ค์ด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ•˜๋ฃจ๋„˜๊ฒŒ ํ•ด๊ฒฐํ•˜๋ ค ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋ž˜์ €๋ž˜ ์ตœ๋Œ€ํ•œ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ž˜ ํ™œ์šฉํ•ด์„œ ๊ธฐ์ˆ ์„ ์Šต๋“ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ๊นจ๋‹ฌ์Œ์„ ์–ป์€ ํ•œ์ฃผ์˜€๋‹ค.

ํ—ˆ์ง€์˜ˆ

์ด๋ฒˆ ์ฃผ์—๋Š” WebRTC๋ฅผ ํ™œ์šฉํ•œ ๋ฐฉ ์ƒ์„ฑ ํŒŒํŠธ๋ฅผ ์ฃผ๋กœ ํ–ˆ๋‹ค. 
๋‚˜๋ฆ„ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์  ๋„์ „์„ ํ•˜๋Š” ์ฃผ์˜€๋Š”๋ฐ, ์ €๋ฒˆ์ฃผ์— ์†Œ์ผ“ ํ†ต์‹ ์„ ํ–ˆ๋˜ ๊ฒฝํ—˜์œผ๋กœ๋งŒ ํ•˜๋Š” ๋Š๋‚Œ์  ์ฝ”๋”ฉ๋งŒ ํ•œ ๊ฒƒ ๊ฐ™์•„ ์กฐ๊ธˆ ํ›„ํšŒ๊ฐ€ ๋œ๋‹ค.

์›๋ž˜๋Š” ์–ด๋Š์ •๋„ ๊ตฌํ˜„์„ ๋๋ƒˆ๋‹ค๋Š” ๊ฒƒ์— ๋ฟŒ๋“ฏํ–ˆ๋Š”๋ฐ ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์— ๋ฉ˜ํ† ๋‹˜์ด ๊ธฐ์ˆ ์  ์งˆ๋ฌธ์„ ๋ช‡ ๊ฐ€์ง€ ํ–ˆ๋Š”๋ฐ, ๊ฑฐ์˜ ๋Œ€๋‹ต์„ ๋ชปํ•ด์„œ ํ•™์Šต๊ณผ ๊ธฐ๋ก์ด ์ •๋ง ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฑธ ๋Š๊ผˆ๋‹ค.

- useQuery์™€ useSuspenseQuery์˜ ์ฐจ์ด์ 
- socket.io๋ฅผ ์ด์šฉํ•œ ์ฑ„ํŒ… ๊ตฌํ˜„๊ณผ webRTC์˜ dataChannel์„ ์ด์šฉํ•œ ์ฑ„ํŒ… ๊ตฌํ˜„์˜ ์ฐจ์ด

์œ„์—๋Š” ๋‚ด๊ฐ€ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์†๋Œ”๋˜ ๋ถ€๋ถ„์ด๋‹ˆ๊นŒ ๊ผญ ๊ณต๋ถ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋†“์•„์•ผ๊ฒ ๋‹ค.
์•ž์œผ๋กœ๋„ ๋งŽ์ด ์ƒ๊ฐํ•˜๊ณ  ์ข€ ์•Œ๊ณ  ์จ์•ผ ๊ฒ ๋‹ค

5์ฃผ์ฐจ

๊น€์œ ์ •

์—ฌ์ „ํžˆ ํ•ด๊ฒฐ ๋ชปํ•œ ๋ฒ„๊ทธ๋‚˜ ์ด์Šˆ๋“ค์ด ์กฐ๊ธˆ์”ฉ ์žˆ์ง€๋งŒ ๊ทธ๋ž˜๋„ ์–ด๋Š ์ •๋„ ์™„์„ฑํ•œ ํ„ฐ๋ผ ๋ฆฌํŒฉํ† ๋ง๋„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ฃผ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

ํ•˜์ง€๋งŒ ์ƒ๋Œ€์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ์–‘์ด ์ ์€ ํŽธ ์น˜๊ณ  ์‚ฝ์งˆ์„ ๋งŽ์ด ํ–ˆ๋‹ค.
ํ•™์Šต ์Šคํ”„๋ฆฐํŠธ ์˜€๋‹ค๋ฉด ์ถฉ๋ถ„ํ•œ ๊ณต๋ถ€ ํ›„์— ๊ตฌํ˜„์„ ํ•ด์„œ ์–ด๋ฆฌ์„์€ ์—๋Ÿฌ๋ฅผ ๋งˆ์ฃผํ•˜์ง„ ์•Š์•˜์„ ๊ฒƒ ๊ฐ™๋‹ค.
nginx๋กœ stun ์„œ๋ฒ„๋กœ ํ”„๋ก์‹œ ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ, nginx๋Š” tcp, http ๊ธฐ๋ฐ˜์ด๋ผ udp ๊ธฐ๋ฐ˜์˜ stun์„ ์ง€์›ํ•˜๊ธฐ์— ์ ํ•ฉํ•˜์ง€ ์•Š์•˜๋‹ค.
์ด๊ฑธ ๋ฏธ๋ฆฌ ํ•™์Šตํ•˜์ง€ ์•Š์•„ tcp๋กœ udp๋ฅผ ํ”„๋ก์‹œ ํ•˜๋ ค๋Š” ์–ด๋ฆฌ์„์€ ์‹œ๋„๋ฅผ ํ–ˆ๋‹ค.

์ฃผ๋ง์—๋Š” ์ „๋ถ€ํ„ฐ ํ•˜๊ณ  ์‹ถ์—ˆ์ง€๋งŒ ๋ชปํ•ด๋ดค๋˜ ์„œ๋ฒ„ ๊ณผ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ดค๋‹ค.
ํ•˜์ง€๋งŒ DB ๊ตฌ์กฐ๊ฐ€ ๊ฐ„๋‹จํ•˜๊ณ , API๋„ ๋ณ„๋กœ ์—†์–ด์„œ ์œ ์˜๋ฏธํ•œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง„ ๋ชปํ–ˆ๋‹ค.
6์ฃผ๋ผ๋Š” ํ•œ์ •๋œ ๊ธฐ๊ฐ„ ๋•Œ๋ฌธ์— ๊ธฐ๋Šฅ์€ ์—ฌ๊ธฐ์„œ ํ”„๋ฆฌ์ง• ํ•˜๊ฒ ์ง€๋งŒ ์ถ”ํ›„์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ข€ ๋” ๋ฐœ์ „ ์‹œํ‚ฌ ๋•Œ ์ฟผ๋ฆฌ ์ตœ์ ํ™”์™€ ์„œ๋ฒ„ ๊ณผ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ด์•ผ ๊ฒ ๋‹ค.

๊น€์œ ์ง„

์†ก๋ฏผํ˜•

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

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

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

๋งˆ์ง€๋ง‰์œผ๋กœ, ์ด ๊ธฐ์–ต์ด ํœ˜๋ฐœ๋˜๊ธฐ ์ „์—  ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์šด, ์•Œ๊ฒŒ๋œ ๊ธฐ์ˆ ๋“ค์„ ๋นจ๋ฆฌ ์ •๋ฆฌ ํ•ด๋†”์•ผ ํ• ๊ฒƒ๊ฐ™๋‹ค.

ํ—ˆ์ง€์˜ˆ


6์ฃผ์ฐจ

๊น€์œ ์ •

๊น€์œ ์ง„

์†ก๋ฏผํ˜•

ํ—ˆ์ง€์˜ˆ

๐Ÿ’ฆ ์šฐ๋‹นํƒ•ํƒ• ์ด์Šˆ ํ•ด๊ฒฐ๊ธฐ

BE

FE

FE/BE

๐Ÿง‘โ€๐Ÿซ ๋ฉ˜ํ† ๋ง ์ผ์ง€

๐Ÿ“ข ํšŒ์˜๋ก

๐Ÿ’ฌ ์Šคํฌ๋Ÿผ

๐Ÿ’ญ ํŒ€ ํšŒ๊ณ 

๐Ÿ’ญ ๊ฐœ์ธ ํšŒ๊ณ 

๐Ÿƒ Ongoing Project

Clone this wiki locally