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

๋ชฉ๋ก์ „์ฒด ๊ธ€ (240)

JiYoung Dev ๐Ÿ–ฅ

WebSocket๊ณผ WebRTC ๋น„๊ตํ•˜๋ฉฐ ์ดํ•ดํ•˜๊ธฐ

2025๋…„ ์ƒˆํ•ด ์ƒˆ๋กœ์šด ๋ชฉํ‘œ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋””์Šค์ฝ”๋“œ ํด๋ก ์ฝ”๋”ฉ์ธ๋ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ WebSocket๊ณผ WebRTC์— ๋Œ€ํ•ด์„œ ํ•„์ˆ˜๋กœ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•ด์„œ ๋‚ด ๋‚˜๋ฆ„๋Œ€๋กœ ๋จธ๋ฆฌ์— ์ž˜ ๋“ค์–ด์˜ค๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ •๋ฆฌํ•ด ๋ณด์•˜๋‹ค.  ์•„๋ž˜ ๋‚ด์šฉ์—์„œ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ ์ž๋ฃŒ๋ฅผ ์ฐพ๋‹ค๊ฐ€ ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด๋‚˜ ์ถ”๊ฐ€ํ•  ๋‚ด์šฉ์ด ์žˆ์œผ๋ฉด ๊ณ„์†ํ•ด์„œ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ด๋‹ค. ์›น์˜ ํ†ต์‹  ๋ฐฉ์‹์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.๋Œ€ํ‘œ์ ์œผ๋กœ HTTP, Websocket, Polling, gRPC, SSE, GraphQL ๋“ฑ์ด ์žˆ๋Š”๋ฐ, ๊ฐ๊ฐ์˜ ๋ฐฉ์‹๋งˆ๋‹ค ํŠน์ง•์ด ์žˆ์–ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŠน์„ฑ์— ๋”ฐ๋ผ ์•Œ๋งž์€ ๊ฒƒ์„ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.HTTP๋Š” ์›น ํ†ต์‹ ์˜ ๊ธฐ๋ณธ ํ”„๋กœํ† ์ฝœ๋กœ ์š”์ฒญ-์‘๋‹ต ๋ฐฉ์‹ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋Œ€ํ‘œ์ ์ธ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ด๋‹ค.WebSocket์€ ์‹ค์‹œ๊ฐ„ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ์ง€์›ํ•˜๋Š” ํ”„๋กœ..

Study/๊ธฐํƒ€ 2025. 1. 15. 00:45
์™œ ์ผํ•˜๋Š”๊ฐ€/์ด๋‚˜๋ชจ๋ฆฌ ๊ฐ€์ฆˆ์˜ค : ํšŒ์‚ฌ ์ผ์ด ๋งˆ์Œ์— ์•ˆ๋“ค ๋•Œ ์ฝ์–ด๋ณด์„ธ์š”(?)

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

books 2025. 1. 8. 21:37
์ตœ๋ฒ”๊ท , ์œก๊ฐํ˜• ๊ฐœ๋ฐœ์ž(์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๊ธฐ ์œ„ํ•œ 10๊ฐ€์ง€ ํ•ต์‹ฌ ์—ญ๋Ÿ‰) ํ›„๊ธฐ

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

books 2024. 12. 30. 22:38
Javascript Call Stack, Callback Queue, Event Loop

์ด๋ฒˆ์— 30์ดˆ ๋งˆ๋‹ค API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ setInterval ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ์‚ฌ์šฉ๋ฒ•์€ ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ setInterval์ด ์–ด๋–ค ๊ฑด์ง€ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ ๋น„๋™๊ธฐ์™€ ๊ด€๋ จ๋œ ๊ฐœ๋…๋“ค์ด ๋‚˜์™€์„œ ์ •๋ฆฌ๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์˜ค๋Š˜์€ ๋น„๋™๊ธฐ ๊ฐœ๋…์— ๋“ฑ์žฅํ•˜๋Š” Call Stack, Callback Queue, Event Loop์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค.  ๋ณธ๋ก ์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ๋ธŒ๋ผ์šฐ์ €์—์„œ HTML ๋‚ด๋ถ€ Javascript๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด ์ž ์‹œ ์ •๋ฆฌํ•ด๋ณด์ž. ๐Ÿ”Ž Javascript ์‹คํ–‰์›๋ฆฌ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค: ๊ฒ€์ƒ‰์ฐฝ, ๋’ค๋กœ๊ฐ€๊ธฐ/์•ž์œผ๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ, ์ƒˆ๋กœ๊ณ ์นจ ๋“ฑ ๋ธŒ๋ผ์šฐ์ € ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด GUI๋ธŒ๋ผ์šฐ์ € ์—”์ง„: ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋ Œ๋”๋ง ์—”์ง„ ์‚ฌ์ด์˜ ๋™์ž‘ ์ œ์–ด๋ Œ๋”..

Study/React 2024. 11. 29. 23:45
Webpack: ๊ฐœ๋…๊ณผ ์„ค์ •

๋ถ€ํŠธ์บ ํ”„์—์„œ React๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ์„ ๋•Œ CRA(react-create-app)์„ ํ†ตํ•ด ์•ฑ์„ ๊ตฌ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜์˜€๋‹ค. ํšŒ์‚ฌ์— ์ž…์‚ฌํ•œ ํ›„ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ๋งก๊ฒŒ ๋˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, CRA์˜ ๊ฒฝ์šฐ ๋‚ด์žฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŽ์•„์„œ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๋ฉด ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ธ€์„ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” CRA๊ฐ€ ์•„๋‹Œ ์ง์ ‘ Webpack์„ ์ ์šฉํ•˜์˜€๋Š”๋ฐ(CRA๊ฐ€ ์ž๋™์œผ๋กœ Webpack์„ ์ ์šฉ), ๊ทธ ๊ณผ์ •์—์„œ Webpack์ด ๋ฌด์—‡์ธ์ง€, ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€, ๊ฐ ์„ค์ •์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. ๐Ÿ”Ž Webpack์ด๋ž€ Webpack์€ ๋ชจ๋˜ Javascript ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์ •์  ๋ชจ๋“ˆ ๋ฒˆ๋“ค๋Ÿฌ์ด๋‹ค.Javascript๋ฅผ ์œ„ํ•œ ๋ชจ๋“ˆ ๋ฒˆ๋“ค๋Ÿฌ๊ฐ€ Webpack๋งŒ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—..

Study/React 2024. 11. 27. 22:22