NodeJS
์๋ต ์ ์ก์ด ์์
์ ์ฐ๋ฆฌ๊ฐ ๋ฐ์กํ๊ธธ ์ํ๋ ๋ฐ์ดํฐ๋ก ์ฑ์ฐ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์์4 : ์๋ก์ด ํค๋๋ฅผ ์ค์ ํ ์ ์์์ด๋ ๊ฒ ํ๋ฉด ์๋ต์ ํค๋๋ฅผ ๋ถ์ด๊ฒ ๋๊ณ ์๋ต์ ์ผ๋ถ๊ฐ ๋ ์ปจํ
์ธ ์ ํ์ HTML์ด๋ผ๋ ์ผ๋ จ์ ๋ฉํ ์ ๋ณด๋ฅผ ์ ๋ฌํ๊ฒ ๋จ5 ~ 8 : write๋ res(response)์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ ์ ์๊ณ , ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋จ์ ํน์ ๋ค์์ ๋ผ์ธ์ ํตํด ์๋ํจ9 : ์๋ต์ ์์ฑ์ด ๋๋ฌ์์ ๋
ธ๋์ ์๋ ค์คend๋ฅผ ํธ์ถํ ์ดํ๋ถํฐ๋ ๋ ์ด์ ์๋ฌด๊ฒ๋ ์
๋ ฅํด์๋ ์๋จend ์ดํ์ write๋ฅผ ๊ณ์ ํธ์ถํ ์ ์์ง๋ง ๊ทธ ๊ฒฝ์ฐ์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํจ์ ์ฝ๋๋ฅผ ํฐ๋ฏธ๋์์ ์คํํ๊ณ localhost:3000์ผ๋ก ์ ์ํ๋ฉด ์๋์ ๊ฐ์ด ํ๋ฉด์ด ๋ธ์ดํ ๊ฐ๋ฐ์ ๋๊ตฌ์ Network ํญ์ ๋ค์ด๊ฐ๋ฉด ์๋์ ์ฌ์ง์ฒ๋ผ ํ์ธํ ์ ์์Hea..
NodeJS
Node ์๋ฒ ์์ฑNode ์๋ฒ๋ฅผ ์์ฑํ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ1 : Node.js๋ ์ ์ญ์ผ๋ก ๋
ธ์ถํ๋ ํน์ฑ์ด ์๊ธฐ๋๋ฌธ์ Node.js๋ก ์คํํ๋ ๋ชจ๋ ํ์ผ์์ ๊ธฐ๋ณธ์ผ๋ก require์ด๋ผ๋ ํค์๋ฅผ ์ฌ์ฉํ ์ ์์๊ฒฝ๋ก๋ฅผ ์๋ตํ๋ฉด http๋ผ๋ ๊ธ๋ก๋ฒ ๋ชจ๋์ ์ฐพ๊ฒ ๋จ (ํ์ผ ๊ฒฝ๋ก๋ ๋ฐ๋์ ./๋ ์ ๋ ๊ฒฝ๋ก์ ๊ฒฝ์ฐ /๋ก ์์)3 : rqListener๋ 7๋ฒ์งธ์ค์ requestListener์ ๊ธฐ๋ฅ์ ์คํํ๋ ํจ์์ด ํจ์๋ ๋ ๊ฐ์ง ์ธ์๋ฅผ ํ์๋ก ํ๋๋ฐ, ์ฒซ ๋ฒ์งธ ์ธ์์๋ ์์ฒญ์ ๋ํ ๋ฐ์ดํฐ, ๋ ๋ฒ์งธ ์ธ์์๋ ์๋ต์ ์ฌ์ฉ๋จ๋ฐ๋ผ์, Node.js๊ฐ ์๋์ผ๋ก ๋ค์ด์ค๋ ์์ฒญ์ ๋๋ณํ๋ ๊ฐ์ฒด๋ฅผ ์ ๊ณตํ๊ณ ํด๋น ์์ฒญ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๊ฒ๋ํ๋ฉฐ ์์ฒญ์ ๋ณด๋ธ ์ฌ๋์๊ฒ ์๋ต์ ๋ณด๋ผ ์ ์๋ ์๋ต ๊ฐ์ฒด๋ฅผ ์ฃผ๋ ๊ฒ7 : cre..
NodeJS
let vs constletconst๊ฐ๋ณํ ๋ณ์๋ถ๋ณํ ๋ณ์ ํ์ดํ ํจ์์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ํ์ดํ ํจ์๋ก ๋ฐ๊พธ๋ฉด์๋์ ์ฝ๋์ ๊ฐ์ด ๋จ ์ด๋ ๊ฒ ์งง๊ณ ๊ฐ๋จํ๊ฒ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ ์๋๋ ํ์ดํ ํจ์์ ๋ ๋ง์ ์์์ด๋ค.add ํจ์์ฒ๋ผ return๋ฌธ์ด ํ๋๋ง ์๋ ํ์ดํ ํจ์๋ผ๋ฉด ์ค๊ดํธ์ return์ ์๋ต ๊ฐ๋ฅaddOne ํจ์์ฒ๋ผ ์ธ์๊ฐ ํ๋๋ผ๋ฉด ๊ดํธ๋ฅผ ์๋ต ๊ฐ๋ฅaddRandom ํจ์์ฒ๋ผ ์ธ์๊ฐ ์๋ค๋ฉด ๋น์ด์๋ ๊ดํธ ํ ์์ ๋ช
์ ๊ฐ์ฒด, ์์ฑ ๋ฐ ๋ฉ์๋ ์์
์ค๊ดํธ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑ์ค๊ดํธ ์์๋ ํค-๊ฐ ์์ด ๋ค์ด๊ฐ์์ ๊ฐ์ด ๊ฐ์ฒด ๋ด์์ ํจ์ ์ฌ์ฉ ๊ฐ๋ฅ์ฌ๊ธฐ์ this๋ ์ฃผ์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ.์ผ๋ก ์์ฑ ๋๋ ๋งค์๋(๊ฐ์ฒด ๋ด์ ๋ณ์๋ ํจ์)๋ฅผ ์ก์ธ์ค์๋๋ ์ ์ฝ๋์ ์คํ ๊ฒฐ๊ณผperson.greet()๋ฅผ ์คํํ๋ฉด Hi, ..
NodeJS
REPL์ฌ์ฉ์ ์
๋ ฅ๊ฐ์ ์ฝ๊ณ (Read)์ฌ์ฉ์ ์
๋ ฅ๊ฐ์ ํ๊ฐ(Evaluate)๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅ(Print)๋์๊ฐ์ ์๋ก์ด ์
๋ ฅ๊ฐ์ ๊ธฐ๋ค๋ฆฌ๋(Loop) ๊ณผ์ ์ ์๋ฏธREPL์ ์ง์
ํ๋ ๋ฐฉ๋ฒNode.js๊ฐ ์ค์น๋ ์ํ์์ node๋ฅผ ์
๋ ฅํ๋ฉด REPL์ ์ง์
์ฒ์์ ์ปดํจํฐ ์ ์ฒด ๊ฒฝ๋ก๊ฐ ํ์๋์ง ์๊ณ ">" ์ด ๋ถ๋ฑํธ๋ง์ด ์๋ ๊ฒ์ผ๋ก ํ์ธ ๊ฐ๋ฅ์ฌ๊ธฐ์์ console.log์ ๊ฐ์ ๋ช
๋ น์ด, 2 + 2, ํ์ผ ์ฐ๊ธฐ ๋ฐ ์ํธ์์ฉ ๋ฑ์ด ๊ฐ๋ฅํ์ผ ์์คํ
์ ์ํฌํธํ ์ ์์(fs.writeFileSync๋ฅผ ์์ฑํ ์๋ ์์)์ด ํ๊ฒฝ์์๋ ์ฝ๋๊ฐ ํ์ผ๋ก ์ ์ฅ๋์ง ์๋ ๋์ ๋
ธํธ ์ ํ๋ฆฌ์ผ์ด์
์ ํ ์ค์ฉ ์์ฑํ๊ฒ ๋จ์ด ์ฝ๋๋ค์ ๋
๋ฆฝ์ ์ผ๋ก ๊ธฐ๋ฅํ์ง ์์์ด ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃํ๋ฉด ๊ทธ๋๋ก ๋(์ด๋์๋ ์ ์ฅ๋์ง ์๊ณ , ๋ค์ ์คํํ ์ ์๋ ํ์ผ์ด..
NodeJS
Node.js์ ์ญํ Node.js๋ ์๋ฒ์ ์ฝ๋ ์คํ์๋ง ๊ตญํ๋์ง ์์ Node.js๋ JavaScript ๋ฐํ์์ผ๋ก ๋ธ๋ผ์ฐ์ ๊ฐ ํ์ํ์ง ์์์๋ฒ๋ฅผ ์ด์ํ๋๋ฐ ์ฌ์ฉํจโ Node.js์ ๊ฒฝ์ฐ์๋ ์๋ฒ ์์ฒด๋ฅผ ์ค์ค๋ก ์์ฑํจ(์ฝ๋๊ฐ ๋ค์ด์ค๋ ์์ฒญ์ ์ฒ๋ฆฌํด์ ๋ค๋ฅธ ์ฝ๋๋ก ๋ณด๋ด์ค)โ PHP์์๋ Apache๋ Nginx์ ๊ฐ์ ์ถ๊ฐ ํด์ด ์์ด์ ์์ฒญ์ ๋ฐ์ PHP ์ฝ๋๋ฅผ ์คํํด ์คโ Node.js๋ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์ฝ๋์์ ์ํ๋ ์์
์ ์ํ๋ชจ๋ ๋น์ง๋์ค ๋ก์ง์ ์ด์ํ๋๋ฐ ์ฌ์ฉํ๊ธฐ๋ ํจ์๋ต(Response) ์ฌ์ด๋๋ ์ฒ๋ฆฌNode.js๋ฅผ ๋์ฒดํ ๋งํ ํ๋ ์์ํฌ๋ก๋ Python, Django, PHP, Laravel, Vanilla PHP, ASP.NET, Ruby ๋ฑ์ด ์์Node.js์ ํฐ ์ฅ์ ์ ํ๋ก ํธ์๋์์..
NodeJS
Node.js ์คํํด๋ณด๊ธฐ 1์ฝ์๋ก ์คํ1. ์๋ ์ฝ๋๋ ๋ณดํต ๋ธ๋ผ์ฐ์ ์์ ์คํ๋์ง๋ง Node.js๋ก๋ ์คํ์ด ๊ฐ๋ฅ 2. Visual Studio Code์ ํฐ๋ฏธ๋์ ์๋ก ์ด๊ณ , node ๋ค์์ ํ์ผ๋ช
์ ์ถ๊ฐ๋ก ์
๋ ฅํ๋ฉด ๋ํํ ๋ชจ๋์ ์ง์
ํ๋ ๊ฒ์ด ์๋ ์ด JavaScript ์ฝ๋ ํ์ผ์ Node.js๋ก ์คํํ๊ฒ ๋จ 3. Hello Node.js๊ฐ ํ์๋ ๊ฒ์ ๋ณผ ์ ์์ Node.js๋ก ์คํํด๋ณด๊ธฐ 2ํ์ผ๋ก ์ถ๋ ฅ๊ฐ ์์ฑํ์ผ๋ก ์ถ๋ ฅ๊ฐ์ ์์ฑํ๊ธฐ ์ํด Node.js๊ฐ ์ ๊ณตํ๋ ๋ด์ฅ๋ ๊ธฐ๋ฅ ์ค ํ๋์ธ ํ์ผ ์์คํ
๊ธฐ๋ฅ์ ์ฌ์ฉ 1. ๋
ธ๋์ ํ์ผ ์์คํ
๊ธฐ๋ฅ์ ์ฌ์ฉํ ๊ฒ์ ์๋ฆฌ๊ธฐrequire()๋ Node.js์์ ์ ๊ณต๋๋ ๊ตฌ๋ฌธfs ๋ชจ๋์ Node.js์ ํฌํจ๋ ๋
ธ๋ ์ฝ์ด ๋ชจ๋ ์ค ํ๋ 2. ๊ฐ๋จํ ์์๋ก ์ํฌํธ..
NodeJS
Node.js ์ค์น ๋ฐฉ๋ฒ1. https://nodejs.org์ ์ ์ 2. ์ต์ ๋ฒ์ ์ ๋ค์ด๋ก๋ (ํ์ฌ 21.6.1๋ฒ์ ์ด์ง๋ง ์ธ์ ๋ ๋ณ๊ฒฝ๋ ์ ์์ !) 3. 4. 5. 6. 7. 8. ์ค์น๊ฐ ์๋์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ1. ํฐ๋ฏธ๋(๋งฅ) ํน์ ๋ช
๋ น ํ๋กฌํํธ(์๋์ฐ)๋ฅผ ์คํ 2. node -v๋ฅผ ์
๋ ฅํ ๋ฐฉ๊ธ ์ค์นํ Node.js์ ๋ฒ์ ์ ํ์ธํ ์ ์์ Node.js ์ฌ์ฉ ๋ฐฉ๋ฒ 1Node.js๊ฐ ์ ๊ณตํ๋ ๋ํํ ๋ชจ๋๋ก ์ง์
(์ด๋ REPL์ด๋ผ ๋ถ๋ฆผ) 1. node ๋ช
๋ น์ด๋ฅผ ์คํ์ด๋ ๊ฒ ํ๋ฉด ํฐ๋ฏธ๋(๋งฅ) ํน์ ์ปค๋งจ๋ ํ๋กฌํํธ(์๋์ฐ)์ ์๋ก์ด ๋ชจ๋์ ์ง์
ํ๊ฒ ๋จ์ฌ๊ธฐ์์๋ ํน์ ํ ๋
ธ๋ ๋ช
๋ น์ด๋ค์ ์ฌ์ฉํ ์ ์์(๊ธฐ๋ณธ์ ์ธ ๊ณ์ฐ, JavaScript ์ฝ๋ ์คํ ๊ฐ๋ฅ) 2. ๋ํํ ๋ชจ๋๋ฅผ ์ข
๋ฃํ๋ ค๋ฉด Ctrl+C ํน์ ..