๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 36

CORS๋ž€ ๋ฌด์—‡์ธ๊ฐ€ – ๋ธŒ๋ผ์šฐ์ €์—์„œ API ์š”์ฒญ์ด ๋ง‰ํžˆ๋Š” ์ด์œ 

๋ชฉ์ฐจ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋ง‰ํžˆ๋Š” ๊ทธ ์˜ค๋ฅ˜๋™์ผ ์ถœ์ฒ˜ ์ •์ฑ…(Same-Origin Policy)์ด๋ž€?CORS๋ž€ ๋ฌด์—‡์ธ๊ฐ€?CORS ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉCORS ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•CORS ๊ด€๋ จ HTTP ํ—ค๋” ์ดํ•ดํ•˜๊ธฐPreflight ์š”์ฒญ์ด๋ž€?์ •๋ฆฌ ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„1. ๊ฐœ๋ฐœํ•˜๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋ง‰ํžˆ๋Š” ๊ทธ ์˜ค๋ฅ˜์›น ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋ฉด ๋ฐ˜๋“œ์‹œ ํ•œ ๋ฒˆ์€ ๋งˆ์ฃผ์น˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์ฝ˜์†”์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋ฉด์„œ API ์š”์ฒญ์ด ๋ง‰ํžˆ๋Š” ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.Access to fetch at 'https://api.example.com' from origin 'http://localhost:3000' has been blocked by CORS policy.์ด ์˜ค๋ฅ˜๋ฅผ ์ฒ˜์Œ ๋ณด๋ฉด ๋ฌด์Šจ ์˜๋ฏธ์ธ์ง€, ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š”์ง€ ๋‹นํ™ฉ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์ด..

IT๊ธฐ์ดˆ 2026.05.31

JWT ํ† ํฐ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€ – ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ

๋ชฉ์ฐจ์„ธ์…˜ ๋ฐฉ์‹์˜ ํ•œ๊ณ„JWT๋ž€ ๋ฌด์—‡์ธ๊ฐ€?JWT์˜ ๊ตฌ์กฐJWT ์ธ์ฆ ๋™์ž‘ ๋ฐฉ์‹์„ธ์…˜ ๋ฐฉ์‹ vs JWT ๋ฐฉ์‹ ๋น„๊ตJWT์˜ ์žฅ์ ๊ณผ ๋‹จ์ JWT ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•ด์•ผ ํ•  ๋ณด์•ˆ ์‚ฌํ•ญ์ •๋ฆฌ ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„1. ์„ธ์…˜ ๋ฐฉ์‹์˜ ํ•œ๊ณ„์•ž์„œ ์„ธ์…˜ ๋ฐฉ์‹์˜ ๋กœ๊ทธ์ธ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ์„ธ์…˜์„ ์ƒ์„ฑํ•˜๊ณ , ์„ธ์…˜ ID๋ฅผ ์ฟ ํ‚ค๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.์„ธ์…˜ ๋ฐฉ์‹์€ ์ž˜ ๋™์ž‘ํ•˜์ง€๋งŒ ํ•œ ๊ฐ€์ง€ ํฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ ๋Œ€๋กœ ๋Š˜์–ด๋‚˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด ์„œ๋ฒ„ A์—์„œ ๋กœ๊ทธ์ธํ•ด์„œ ์„ธ์…˜์ด ์„œ๋ฒ„ A์— ์ €์žฅ๋๋Š”๋ฐ, ๋‹ค์Œ ์š”์ฒญ์ด ์„œ๋ฒ„ B๋กœ ์ „๋‹ฌ๋˜๋ฉด ์„œ๋ฒ„ B์—๋Š” ๊ทธ ์„ธ์…˜ ์ •๋ณด๊ฐ€ ์—†์–ด์„œ ๋กœ๊ทธ์ธ์ด ํ’€๋ฆฌ๋Š” ํ˜„์ƒ์ด ์ƒ๊น๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์€ ๋Œ€ํ˜• ์„œ๋น„์Šค์—์„œ๋Š” ์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ๋Œ€ ์šด์˜ํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ์ด๊ธฐ ๋•Œ๋ฌธ..

IT๊ธฐ์ดˆ 2026.05.31

์ฟ ํ‚ค์™€ ์„ธ์…˜์˜ ์ฐจ์ด – ๊ฐœ๋… ๋ฐ ํ™œ์šฉ, ๋กœ๊ทธ์ธ ์ƒํƒœ๋Š” ์–ด๋–ป๊ฒŒ ์œ ์ง€๋˜๋Š”๊ฐ€?

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

IT๊ธฐ์ดˆ 2026.05.31

JSON์ด๋ž€? – JSON ๋œป, ๋ชฉ์ , ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ํ˜•์‹ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ

๋ชฉ์ฐจAPI ์‘๋‹ต์—์„œ ์ž๊พธ ๋‚˜์˜ค๋Š” ์ด ํ˜•ํƒœ๋Š” ๋ฌด์—‡์ธ๊ฐ€?JSON์˜ ์ •์˜JSON์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•JSON์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…JSON vs XML – ์™œ JSON์ด ๋Œ€์„ธ๊ฐ€ ๋๋‚˜?์‹ค์ œ ์„œ๋น„์Šค์—์„œ JSON์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์ •๋ฆฌ ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„1. API ์‘๋‹ต์—์„œ ์ž๊พธ ๋‚˜์˜ค๋Š” ์ด ํ˜•ํƒœ๋Š” ๋ฌด์—‡์ธ๊ฐ€?REST API๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ ์„œ๋ฒ„ ์‘๋‹ต ์˜ˆ์‹œ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ์ž์ฃผ ๋ดค์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. { "name": "ํ™๊ธธ๋™", "age": 30, "email": "hong@example.com"}์ค‘๊ด„ํ˜ธ, ๋”ฐ์˜ดํ‘œ, ์ฝœ๋ก , ์‰ผํ‘œ๋กœ ์ด๋ฃจ์–ด์ง„ ์ด ํ˜•ํƒœ๊ฐ€ ๋ฐ”๋กœ JSON์ž…๋‹ˆ๋‹ค. ์›น ๊ฐœ๋ฐœ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ํ˜•์‹์ž…๋‹ˆ๋‹ค.2. JSON์˜ ์ •์˜**JSON(JavaScript Object Notation)**์€ ๋ฐ์ดํ„ฐ๋ฅผ ..

IT๊ธฐ์ดˆ 2026.05.30

REST API๋ž€ – GET, POST, PUT, DELETE ์™„์ „ ์ •๋ฆฌ

๋ชฉ์ฐจAPI๋ฅผ ๋ฐฐ์› ๋Š”๋ฐ REST๋Š” ๋˜ ๋ญ”๊ฐ€?REST API์˜ ์ •์˜REST์˜ ํ•ต์‹ฌ ์›์น™HTTP ๋ฉ”์„œ๋“œ ์™„์ „ ์ •๋ฆฌ – GET, POST, PUT, DELETEREST API URL ์„ค๊ณ„ ๋ฐฉ์‹REST API ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ๊ตฌ์กฐREST API๊ฐ€ ์•„๋‹Œ ๊ฒƒ๋“ค – SOAP์™€์˜ ์ฐจ์ด์ •๋ฆฌ ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„1. API๋ฅผ ๋ฐฐ์› ๋Š”๋ฐ REST๋Š” ๋˜ ๋ญ”๊ฐ€?API๊ฐ€ "์„œ๋กœ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์†Œํ†ตํ•˜๋Š” ์ฐฝ๊ตฌ"๋ผ๋Š” ๊ฒƒ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธ€์„ ์ฝ๋‹ค ๋ณด๋ฉด ๋‹จ์ˆœํžˆ "API"๊ฐ€ ์•„๋‹ˆ๋ผ "REST API", "RESTful API"๋ผ๋Š” ํ‘œํ˜„์„ ๋” ์ž์ฃผ ๋งŒ๋‚˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.REST๋Š” API๋ฅผ ๋งŒ๋“œ๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์›น ์„œ๋น„์Šค์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” API ์„ค๊ณ„ ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์—, ์›น ๊ฐœ๋ฐœ์„ ๋ฐฐ์šด๋‹ค๋ฉด REST API ๊ฐœ๋…์€ ๋ฐ˜๋“œ์‹œ..

IT๊ธฐ์ดˆ 2026.05.30

API๋ž€ ๋ฌด์—‡์ธ๊ฐ€ – API ๊ฐœ๋…, API ๋ชฉ์  ๋“ฑ์— ๋Œ€ ์‰ฌ์šด ์„ค๋ช…

๋ชฉ์ฐจAPI๋ผ๋Š” ๋‹จ์–ด, ์–ด๋””์„œ ๋งŽ์ด ๋“ค์–ด๋ดค๋Š”๋ฐ?API์˜ ์ •ํ™•ํ•œ ์ •์˜์ผ์ƒ ์† API – ์‹ค์ƒํ™œ ๋น„์œ ๋กœ ์ดํ•ดํ•˜๊ธฐAPI๊ฐ€ ์‹ค์ œ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์‚ฌ๋ก€API์˜ ์ข…๋ฅ˜API ์—†์ด๋Š” ์–ด๋–ค ์ผ์ด ์ƒ๊ธธ๊นŒ?์ •๋ฆฌ ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„1. API๋ผ๋Š” ๋‹จ์–ด, ์–ด๋””์„œ ๋งŽ์ด ๋“ค์–ด๋ดค๋Š”๋ฐ?๋‰ด์Šค๋‚˜ IT ๊ด€๋ จ ๊ธ€์„ ์ฝ๋‹ค ๋ณด๋ฉด "API๋ฅผ ์—ฐ๋™ํ–ˆ๋‹ค", "API ํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•„์•ผ ํ•œ๋‹ค", "API ์š”์ฒญ ํ•œ๋„๋ฅผ ์ดˆ๊ณผํ–ˆ๋‹ค"๋Š” ํ‘œํ˜„์„ ์ž์ฃผ ์ ‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์—์„œ๋Š” ๋„ˆ๋ฌด๋‚˜ ๋‹น์—ฐํ•˜๊ฒŒ ์“ฐ์ด๋Š” ๋‹จ์–ด์ง€๋งŒ, ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๋ถ„๋“ค์—๊ฒŒ๋Š” ๋ง‰์—ฐํ•˜๊ฒŒ ๋А๊ปด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด ๊ธ€์—์„œ๋Š” ๊ธฐ์ˆ ์ ์ธ ์„ค๋ช…์„ ์ตœ๋Œ€ํ•œ ์ค„์ด๊ณ , ์ผ์ƒ์ ์ธ ๋น„์œ ๋ฅผ ํ†ตํ•ด API๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์‰ฝ๊ฒŒ ์„ค๋ช…๋“œ๋ฆฝ๋‹ˆ๋‹ค.2. API์˜ ์ •ํ™•ํ•œ ์ •์˜**API(Application Programming Interface)**๋Š” ์„œ๋กœ..

IT๊ธฐ์ดˆ 2026.05.30

์„œ๋ฒ„ ์—†์ด ์›น์‚ฌ์ดํŠธ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ• – GitHub Pages, Netlify, Vercel ๋น„๊ต

๋ชฉ์ฐจ์„œ๋ฒ„ ์—†์ด๋„ ์›น์‚ฌ์ดํŠธ๋ฅผ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค์ •์  ์‚ฌ์ดํŠธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?GitHub Pages – ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ…Netlify – ์ž๋™ ๋ฐฐํฌ์™€ ํŽธ๋ฆฌํ•œ ๊ธฐ๋ŠฅVercel – ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ์ตœ์•  ๋„๊ตฌ์„ธ ์„œ๋น„์Šค ๋น„๊ต ์ •๋ฆฌ์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ์„ ํƒํ•ด์•ผ ํ• ๊นŒ?์ •๋ฆฌ ๋ฐ ๋งˆ๋ฌด๋ฆฌ1. ์„œ๋ฒ„ ์—†์ด๋„ ์›น์‚ฌ์ดํŠธ๋ฅผ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค์ง€๊ธˆ๊นŒ์ง€ ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋“  ์›น์‚ฌ์ดํŠธ๊ฐ€ ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ์šด์˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.ํฌํŠธํด๋ฆฌ์˜ค, ๋ธ”๋กœ๊ทธ, ๋žœ๋”ฉ ํŽ˜์ด์ง€์ฒ˜๋Ÿผ ์„œ๋ฒ„์—์„œ ๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ด ์—†๋Š” ์‚ฌ์ดํŠธ๋ผ๋ฉด, ์„œ๋ฒ„๋ฅผ ๋นŒ๋ฆฌ๊ณ  ์„ธํŒ…ํ•˜๋Š” ์ˆ˜๊ณ  ์—†์ด ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.GitHub Pages, Netlify, Vercel์€ ์ด๋Ÿฐ ์‚ฌ์ดํŠธ๋ฅผ ๋ฌด๋ฃŒ๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ ํŠน์ง•์ด ๋‹ค๋ฅด๊ธฐ..

IT๊ธฐ์ดˆ 2026.05.29

๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์™€ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์˜ ์ฐจ์ด – 192.168.x.x๋Š” ์™œ ์ ‘์†์ด ์•ˆ ๋ ๊นŒ

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

IT๊ธฐ์ดˆ 2026.05.29

์„œ๋ฒ„ ๋ฐฑ์—…์„ ์ž๋™ํ™”ํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ• – rsync์™€ cron ํ™œ์šฉ

๋ชฉ์ฐจ๋ฐฑ์—…ํ•˜์ง€ ์•Š์œผ๋ฉด ์–ธ์  ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ›„ํšŒํ•œ๋‹ค๋ฌด์—‡์„ ๋ฐฑ์—…ํ•ด์•ผ ํ•˜๋Š”๊ฐ€?rsync๋ž€ ๋ฌด์—‡์ธ๊ฐ€?rsync๋กœ ๋กœ์ปฌ ๋ฐฑ์—…ํ•˜๊ธฐrsync๋กœ ์›๊ฒฉ ์„œ๋ฒ„์— ๋ฐฑ์—…ํ•˜๊ธฐcron์œผ๋กœ ๋ฐฑ์—… ์ž๋™ํ™”ํ•˜๊ธฐ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฑ์—… ์ž๋™ํ™”๋ฐฑ์—… ๋ณด์กด ๊ธฐ๊ฐ„ ๊ด€๋ฆฌํ•˜๊ธฐ์ •๋ฆฌ ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„1. ๋ฐฑ์—…ํ•˜์ง€ ์•Š์œผ๋ฉด ์–ธ์  ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ›„ํšŒํ•œ๋‹ค์„œ๋ฒ„ ์šด์˜์ž๋“ค ์‚ฌ์ด์—๋Š” ์ด๋Ÿฐ ๋ง์ด ์žˆ์Šต๋‹ˆ๋‹ค. "๋ฐฑ์—…์„ ํ•˜๋Š” ์‚ฌ๋žŒ๊ณผ, ์•„์ง ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ์–ด๋ณธ ์  ์—†๋Š” ์‚ฌ๋žŒ๋งŒ ์žˆ๋‹ค"๊ณ ์š”.๋””์Šคํฌ ๊ณ ์žฅ, ์‹ค์ˆ˜๋กœ ์ธํ•œ ํŒŒ์ผ ์‚ญ์ œ, ๋žœ์„ฌ์›จ์–ด ๊ฐ์—ผ, ์„œ๋ฒ„ ์ œ๊ณต์—…์ฒด์˜ ์žฅ์•  ๋“ฑ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ด์œ ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€๋Š” ์ผ์€ ์–ธ์ œ๋“  ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์€ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ๋ฐฑ์—…์ž…๋‹ˆ๋‹ค.2. ๋ฌด์—‡์„ ๋ฐฑ์—…ํ•ด์•ผ ํ•˜๋Š”๊ฐ€?๋ฐ˜๋“œ์‹œ ๋ฐฑ์—…ํ•ด์•ผ ํ•  ํ•ญ๋ชฉ์œผ๋กœ๋Š” ์›น ์„œ๋น„์Šค์˜ ์—…๋กœ๋“œ ํŒŒ์ผ(/var/www/html ๋“ฑ..

IT๊ธฐ์ดˆ 2026.05.29

๋ฆฌ๋ˆ…์Šค ํ”„๋กœ์„ธ์Šค ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰ ๋ฐฉ๋ฒ• – nohup๊ณผ & ์ฐจ์ด ์ •๋ฆฌ

๋ชฉ์ฐจSSH๋ฅผ ๋Š์œผ๋ฉด ์‹คํ–‰ ์ค‘์ด๋˜ ํ”„๋กœ๊ทธ๋žจ์ด ๊บผ์ง„๋‹ค?ํฌ๊ทธ๋ผ์šด๋“œ์™€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์˜ ์ฐจ์ด& ๊ธฐํ˜ธ๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰ํ•˜๊ธฐnohup์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?nohup๊ณผ &๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์‹คํ–‰ ์ค‘์ธ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌํ•˜๊ธฐPM2 – Node.js ์•ฑ์„ ์œ„ํ•œ ๋” ๋‚˜์€ ๋ฐฉ๋ฒ•์ •๋ฆฌ ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„1. SSH๋ฅผ ๋Š์œผ๋ฉด ์‹คํ–‰ ์ค‘์ด๋˜ ํ”„๋กœ๊ทธ๋žจ์ด ๊บผ์ง„๋‹ค?์„œ๋ฒ„์— SSH๋กœ ์ ‘์†ํ•ด์„œ Python ์Šคํฌ๋ฆฝํŠธ๋‚˜ Node.js ์•ฑ์„ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ, SSH ์—ฐ๊ฒฐ์„ ๋Š๋Š” ์ˆœ๊ฐ„ ์‹คํ–‰ ์ค‘์ด๋˜ ํ”„๋กœ๊ทธ๋žจ๋„ ํ•จ๊ป˜ ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝํ—˜์„ ํ•ด๋ณธ ์  ์žˆ์œผ์‹ ๊ฐ€์š”?์ด๊ฒƒ์€ ๋ฆฌ๋ˆ…์Šค์˜ ์ •์ƒ์ ์ธ ๋™์ž‘์ž…๋‹ˆ๋‹ค. SSH ์„ธ์…˜์ด ์ข…๋ฃŒ๋˜๋ฉด ํ•ด๋‹น ์„ธ์…˜์—์„œ ์‹คํ–‰๋œ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์— ์ข…๋ฃŒ ์‹ ํ˜ธ(SIGHUP)๊ฐ€ ์ „๋‹ฌ๋˜์–ด ํ•จ๊ป˜ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์žฅ์‹œ๊ฐ„ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” nohup๊ณผ & ๋ฅผ..

IT๊ธฐ์ดˆ 2026.05.28