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

๋ชฉ๋กStudy (86)

JiYoung Dev ๐Ÿ–ฅ

Frontend Fundemental (ํ† ์Šค, ํ”„๋ก ํŠธ์—”๋“œ ์ข‹์€ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ) ์ •๋ฆฌ

Props Drilling ์ง€์šฐ๊ธฐ Props Drilling ์ง€์šฐ๊ธฐGuidelines for easily modifiable frontend codefrontend-fundamentals.com  ๊ตฌ๋…์ค‘์ธ ์œ ํŠœ๋ฒ„๊ฐ€ ํ•˜๋‚˜์˜ ์˜์ƒ์„ ์ƒˆ๋กญ๊ฒŒ ์˜ฌ๋ ธ๋Š”๋ฐ, ํ† ์Šค์—์„œ ์ž‘์„ฑํ•œ Frontend Fundemental์„ ์†Œ๊ฐœํ•˜๋Š” ์˜์ƒ์ด์—ˆ๋‹ค. Frontend Fundemental์€ Toss ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ข‹์€ ํ”„๋ก ํŠธ์—”๋“œ ์ฝ”๋“œ์˜ ๊ธฐ์ค€์„ ์ž์‹ ๋“ค์˜ ๊ธฐ์ค€์— ๋งž์ถฐ ์ž‘์„ฑํ•œ ๋ฌธ์„œ์ด๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ์†Œ์Šค๋ฅผ ๋ณด์ง€ ๋ชปํ•ด ์–ด๋–ค ์ฝ”๋“œ๊ฐ€ ์ข‹์€ ์ฝ”๋“œ์ธ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋Š”๋ฐ ์ด ๋ฌธ์„œ๋ฅผ ์ •๋…ํ•˜์—ฌ ์ข‹์€ ์ฝ”๋“œ๋ž€ ๋ฌด์—‡์ธ์ง€ ์ฝ์–ด๋ณด๊ณ  ํ˜„์žฌ ๋‚˜์˜ ์ฝ”๋“œ๋Š” ์–ด๋–ค์ง€ ๋Œ์•„๋ณด๊ณ  ๋‚˜๋งŒ์˜ ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ฐ์„ ์ •๋ฆฌํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ณ ์ž ..

Study/React 2025. 1. 16. 00:14
WebSocket๊ณผ WebRTC ๋น„๊ตํ•˜๋ฉฐ ์ดํ•ดํ•˜๊ธฐ

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

Study/๊ธฐํƒ€ 2025. 1. 15. 00:45
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
ํ™˜๊ฒฝ๋ณ€์ˆ˜(PATH) ์ดํ•ดํ•˜๊ธฐ

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

Study/Back-End 2024. 11. 20. 21:45
JDBC์™€ Spring JDBC ๊ธฐ๋ณธ ์ดํ•ดํ•˜๊ธฐ

JDBC(Java Database Connectivity)JDBC๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ, ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ž๋ฐ” API์ด๋‹ค. ์ž๋ฐ” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค์–‘ํ•œ DBMS์— ๋Œ€ํ•ด ์ผ๊ด€๋œ API๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, ๊ฒ€์ƒ‰, ์ˆ˜์ •, ๊ด€๋ฆฌ ๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœ์‹œ์—๋Š” DBMS ์ข…๋ฅ˜์— ๊ด€๊ณ„์—†์ด JDBC API๋งŒ์„ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ DBMS๋ฅผ ์ œ๊ณตํ•˜๋Š” ํšŒ์‚ฌ์—์„œ JDBC ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ์ž๋ฐ” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” JDBC ๋“œ๋ผ์ด๋ฒ„๋ฅผ JDBC ๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด ๋กœ๋“œํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.  ๋”ฐ๋ผ์„œ ์‚ฌ์šฉํ•˜๋Š” DBMS๊ฐ€ ๋ฐ”๊ปด๋„ ์ด์— ๋”ฐ๋ฅธ JDBC ๋“œ๋ผ์ด๋ฒ„๋งŒ ๋กœ๋“œํ•˜๋ฉด ๋˜๋ฏ€๋กœ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์—๋Š” DBMS ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ํ”„๋กœ๊ทธ๋žจ ์ˆ˜์ •์ด ํ•„์š” ์—†๋‹ค.JDBC ๋“œ๋ผ์ด๋ธŒ ๋งค๋‹ˆ์ € : ์ž๋ฐ” API์—์„œ ์ง€..

Study/Java 2024. 11. 19. 22:12
๋กœ๊ทธ ๋ ˆ๋ฒจ ๋ฐ ๋กœ๊ทธ ์ž‘์„ฑ ๊ธฐ์ค€

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

Study/Back-End 2024. 11. 11. 21:02
[Node.js] Express์˜ listen ๋ฐ Cors ์„ค์ •

์–ด์ œ ์ž‘์„ฑํ–ˆ๋˜ Nginx์—์„œ Reverse Proxy ์„ค์ • ํ›„ Spring Server์—์„œ Cors ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ Spring Security Cors ์„ค์ •์— ์™ธ๋ถ€๋ง ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ด ํ•ด๊ฒฐํ•˜์˜€๋‹ค๊ณ  ํ•˜์˜€๋‹ค. ํ•ด๋‹น ๊ธ€์—์„œ๋Š” ์ž‘์„ฑํ•˜์ง€ ์•Š์•˜์ง€๋งŒ Node.js Express ์„œ๋ฒ„์—์„œ๋„ Cors ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋Š”๋ฐ Cors ์„ค์ •๊ณผ ํ•จ๊ป˜ app.listen("0.0.0.0")์„ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.  ์œ„์˜ ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ Cors๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๊ณผ app.listen("0.0.0.0")์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์•˜๋‹ค. ๐Ÿ”Ž Cors ์„ค์ •์˜ ์—ญํ• Cors(Cross-Origin Resource Sharing)๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ ์ •์ฑ…์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์˜ ์ถœ์ฒ˜(Origin)์— ๋”ฐ๋ผ ์„œ..

Study/Back-End 2024. 11. 7. 22:10