๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (100)

๐Ÿ–ฅ dev-ruby

[React + socket] ๋ Œ๋”๋ง๋งˆ๋‹ค socket.io ์ปค๋„ฅ์…˜์ด ์žฌ์ƒ์„ฑ๋˜๋Š” ์ด์Šˆ ํ•ด๊ฒฐ

socket์„ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค socket ๊ฐ์ฒด๋ฅผ ์ „์—ญ์— ์„ ์–ธํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•  ์ง€ ์ปดํฌ๋„ŒํŠธ ๋‚ด์— ์„ ์–ธํ•ด์„œ ์ง€์—ญ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•  ์ง€ ํ•ญ์ƒ ๊ณ ๋ฏผ์ด์˜€๋‹ค.. ์ „์—ญ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌ์•กํŠธ์— ์•ฑ์— ์ ‘์† ์‹œ, ๋ฐ”๋กœ ์†Œ์ผ“์— ์ปค๋„ฅ์…˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋„ˆ๋ฌด ๋ถˆํŽธํ–ˆ๋‹ค ๊ทธ๋ ‡๋‹ค๊ณ  ์ง€์—ญ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ ค๋‹ˆ๊นŒ ์ปค๋„ฅ์…˜์ด ๋ Œ๋”๋ง๋  ๋•Œ๋งˆ๋‹ค ์ƒ์„ฑ๋˜๊ธธ๋ž˜ ๋ Œ๋”๋ง์ด ์ž์ฃผ ์ผ์–ด๋‚˜๋Š” ์„œ๋น„์Šค์ผ ๊ฒฝ์šฐ ๋ถ€ํ•˜๊ฐ€ ์‹ฌํ•  ๊ฒƒ์ด๊ณ , ์‹ค์ œ๋กœ WebRTC ํ™”์ƒ ํšŒ์˜ ๊ตฌํ˜„์„ ํ•˜๋ฉด์„œ ์—„์ฒญ๋‚œ ๋ ‰๊ณผ ๋งˆ์ฃผํ–ˆ๋‹ค.. ์•„๋ž˜๋Š” ๋‚ด๊ฐ€ ์ฒ˜์Œ์— ์ ์šฉํ–ˆ๋˜ ์†Œ์ผ“ ์ฝ”๋“œ๋‹ค. function App() { const socket = io(env.SERVER_PATH + `namespace`); return ( // ์–ด์ฉŒ๊ณ  ); } export default App; App ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง๋  ๋•Œ๋งˆ๋‹ค ์†Œ์ผ“ ๊ฐ..

React 2022. 12. 5. 18:50
[WebRTC] React+TypeScript+WebRTC ๊ฐœ๋…์ •๋ฆฌ + ๊ตฌํ˜„ํ•˜๊ธฐ

๋ถ€์ŠคํŠธ์บ ํ”„ ์›น๋ชจ๋ฐ”์ผ ๋ฉค๋ฒ„์‹ญ ๊ทธ๋ฃน ํ”„๋กœ์ ํŠธ์—์„œ WebRTC๋ฅผ ๋‹ค๋ฃจ๊ฒŒ ๋๋‹ค. ๋ณธ๊ฒฉ์ ์ธ ์ž‘์—…์— ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ WebRTC์— ๋Œ€ํ•ด ๋ฌด์ง€ํ•œ ์ƒํƒœ์˜€๊ธฐ์— ๋ฏธ๋ฆฌ ํ•™์Šต์„ ํ•ด๋ณด์•˜๋‹ค ์ฒ˜์Œ ํ•™์Šตํ•  ๋•Œ๋Š” ์ง„์งœ ์ด๊ฒŒ ๋ญ์ง€ ์‹ถ์—ˆ๋‹ค.. ๊ทธ๋ž˜์„œ ์ดํ•ด ๋ชปํ•œ ์ฑ„ ์ผ๋‹จ ๊ฐœ๋…์ด๋ผ๋„ ๋งˆ๊ตฌ ์ ์–ด๋†จ๋‹ค MDN ๋ฌธ์„œ๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด๊ณ , ๋ธ”๋กœ๊ทธ ์ž๋ฃŒ๋ฅผ ์—„์ฒญ ์ฐพ์•„ ๋Œ์•„ ๋Œ•๊ธฐ๋‹ค๋ณด๋‹ˆ ์–ด๋Š์ •๋„ ์ •๋ฆฌ๊ฐ€ ๋๋‹ค ํ•˜๋‹จ์— ์ฐธ๊ณ ํ•œ ๋ฌธ์„œ๋“ค ์ ์–ด๋†จ์–ด์š” ๐Ÿค— WebRTC(Web Real Time Communication)๋ž€?? ๋ธŒ๋ผ์šฐ์ €์™€ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ณ„๋„์˜ ์†Œํ”„ํŠธ์›จ์–ด ์—†์ด ์Œ์„ฑ, ์˜์ƒ ๋ฏธ๋””์–ด, ํ…์Šค, ํŒŒ์ผ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋“ค์„ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ (RTC)์œผ๋กœ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์ด๋‹ค. Peer To Peer ๋ฐฉ์‹์œผ๋กœ ์ „์†กํ•˜๋ฉฐ, ์‹œ๊ทธ๋„๋ง ์„œ๋ฒ„ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉด ๋œ๋‹ค. ์‹œ..

WebRTC 2022. 11. 27. 04:49
[๋ถ€์ŠคํŠธ์บ ํ”„] ๋ถ€์ŠคํŠธ ์ปจํผ๋Ÿฐ์Šค ํ›„๊ธฐ

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

๋„ค์ด๋ฒ„ ๋ถ€์ŠคํŠธ์บ ํ”„ ์›น/๋ชจ๋ฐ”์ผ 7๊ธฐ ์ž์†Œ์„œ & ์ฝ”ํ…Œ ์ตœ์ข… ํ•ฉ๊ฒฉ ํ›„๊ธฐ

๋ถ€์ŠคํŠธ์บ ํ”„ ์ตœ์ข… ํ•ฉ๊ฒฉ๊นŒ์ง€ ๊ธฐ๋‚˜๊ธด ์—ฌ์ •์ด์˜€๋‹ค.. ํ•˜๋ฃจ์— ๋ฐฑ์ค€ 3~4๋ฌธ์ œ์”ฉ ํ’€๋ฉฐ ๋ถ€์ŠคํŠธ์บ ํ”„ ์ค€๋น„์—๋งŒ ๋งค๋‹ฌ๋ ธ๋‹ค ๋ฐฑ์ค€ ๋ฌธ์ œ ๋ ˆ๋ฒจ์€ ๊ณจ๋“œ 4-5 ~ ์‹ค๋ฒ„ 1-2 ์ •๋„๋กœ ๊พธ์ค€ํžˆ ํ’€์—ˆ๋‹ค ๋ฌผ๋ก  ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋„ ํ’€์—ˆ๋‹ค ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋Š” Lv.1 ~ 2๋ฌธ์ œ๋Š” ์ด๋ฏธ ๋‹ค ํ’€์–ด๋‘” ์ƒํƒœ๋ผ ํ’€์—ˆ๋˜ ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ํ’€๋ฉด์„œ ์ค€๋น„ํ–ˆ๋‹ค ์ง€๋‚œ ๊ธฐ์ˆ˜๋‚˜ ์ง€์ง€๋‚œ ๊ธฐ์ˆ˜ ํ›„๊ธฐ๋ฅผ ๋ณด๋ฉด ์ฝ”ํ…Œ ๋ฌธ์ œ๊ฐ€ ๊ทธ๋ฆฌ ์–ด๋ ต์ง€ ์•Š๊ณ  CS๊ฐ€ ์š”๊ตฌ๋œ๋‹ค๋Š” ํ›„๊ธฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๋ผ CS๊ณต๋ถ€๋„ ์กฐ๊ธˆ(?)ํ–ˆ๋‹ค ์‚ฌ์‹ค CS๊ฐ€ ๋„ˆ๋ฌด ๊ด‘๋ฒ”์œ„ํ•˜๊ธฐ๋„ ํ•˜๊ณ  1์ฐจ ์ฝ”ํ…Œ๊ฐ€ ์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— cs50? ๊ฐ•์˜ ํ•œ ๋‘๋ฒˆ์”ฉ ํ›‘์–ด๋ณด๋Š” ์ •๋„๋กœ๋งŒ ๊ณต๋ถ€ํ–ˆ๋‹ค ์ž์†Œ์„œ ์ง€์› ์งˆ๋ฌธ (๊ณต๋ฐฑ ํฌํ•จ 400์ž ๋‚ด์™ธ) 1. ์™œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์€์ง€ ๋ถ€์บ ์—์„œ ์ด๋ฃจ๊ณ ์ž ํ•˜๋Š” ๋ชฉํ‘œ์™€ ํ•จ๊ป˜ ์„œ์ˆ  2. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์„ ๋” ์ž˜ํ•˜๊ณ  ์‹ถ์–ด..

[์‹ค๋ฆฌ์ฝ˜ ๋ฐธ๋ฆฌ ์ธํ„ด์‹ญ] 1์ฃผ์ฐจ ํšŒ๊ณ 

6์›” 27์ผ - 7์›” 1์ผ๊นŒ์ง€ ์ฒซ์งธ์ฃผ ์‹ค๋ฆฌ์ฝ˜ ๋ฐธ๋ฆฌ ์ธํ„ด์‹ญ์„ ์‹œ์ž‘ํ–ˆ๋‹ค ์ฒ˜์Œ ๋ฐฐ์ • ๋ฐ›์€ ํŒ€์„ ํ™•์ธํ–ˆ๋”๋‹ˆ ๋‚ด๊ฐ€ ๋ฆฌ๋”์˜€๋‹ค..! ํ•˜์ง€๋งŒ ์ฒซ๋‚  ํŒ€์› 2๋ช…์ด ํƒˆ์ฃผํ•˜๊ฒŒ ๋˜๊ณ .. ๋‚จ์€ 4๋ช…์ด์„œ ๊ตฌํ˜„์ด ํž˜๋“ค ๊ฒƒ ๊ฐ™์•„ ๋ผ์ด์–ธ ๋ฉ˜ํ† ๋‹˜๊ป˜ ๋ฌธ์˜๋ฅผ ๋“œ๋ ธ๋”๋‹ˆ ํŒ€ ์กฐ์ •์ด ํ•„์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ๋ง์”€ํ•˜์…จ๋‹ค ๊ฒฐ๊ตญ ํŒ€ D์™€ ๊ฐ™์ด ์ž‘์—…์„ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ  ์šฐ๋ฆฌ๋Š” ์ด 8๋ช…์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋Œ€๊ทœ๋ชจ ํŒ€์ด๋‹ค .. ๋‚˜์™€ ๋‹ค๋ฅธ ํ•œ ๋ถ„์ด ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ๋งก์•˜๊ณ , ๋ฐฑ์—”๋“œ 3๋ช…, AI 3๋ช… ์ด๋ ‡๊ฒŒ ๋‚˜๋ˆ ์กŒ๋‹ค. ์ฒซ๋‚ ์€ ์ฃผ์ œ๋ฅผ ์ •ํ•˜๊ณ , ์šฐ๋ฆฌ๋Š” ์ฃผ๋ณ€ํ™˜๊ฒฝ์— ๋”ฐ๋ฅธ ๋…ธ๋ž˜ ์ถ”์ฒœ ์„œ๋น„์Šค๋ฅผ ์›น์‚ฌ์ดํŠธ๋กœ ์ œ์ž‘ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค ์œ ์ € ์‹œ๋‚˜๋ฆฌ์˜ค 1. ์œ ์ €๊ฐ€ ์‚ฌ์ง„์„ ์—…๋กœ๋“œํ•œ๋‹ค. 2. ์„ ํ˜ธํ•˜๋Š” ์žฅ๋ฅด๋ฅผ ํ•˜๋‚˜ ์„ ํƒํ•œ๋‹ค. 3. ์‚ฌ์ง„๊ณผ ์žฅ๋ฅด๋ฅผ ์กฐํ•ฉํ•œ ์–ด์šธ๋ฆฌ๋Š” ๋…ธ๋ž˜ ์ถ”์ฒœ ๊ฒฐ๊ณผ๋ฅผ ์กฐํšŒํ•œ๋‹ค. 4. ์›ํ•˜๋Š” ์Œ์•…์„ ์„ ํƒ..