Node.js๋?
1. Node.js
Node.js๋ Chrome V8 JavaScript ์์ง์ผ๋ก ๋น๋๋ JavaScript ๋ฐํ์์ ๋๋ค.
-Node.js๋ ๊ณต์ ํํ์ด์ง
๋ฐํ์์ ํน์ ์ธ์ด๋ก ๋ง๋ ํ๋ก๊ทธ๋จ๋ค์ ์คํํ ์ ์๋ ํ๊ฒฝ์ ๋ปํ๋ค.
์ฐ์ , ์๋ฐ์คํฌ๋ฆฝํธ๋ผ๋ ์ธ์ด๋ฅผ ์์์ผํ๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ HTML์ ์ข ์๋์ด์๋ ์ธ์ด์ด๋ค. HTML ์กฐ์๊ณผ ๋ณ๊ฒฝ์ ์ํด ์ฌ์ฉํ๋ค.
*HTML์ ์นํ์ด์ง์ ๊ธ์ฐ๊ณ ๊ทธ๋ฆผ ๋ฃ๋ ์ธ์ด์ด๋ค. (์ ์์ง์, ๊ธ ๋ฃ๊ณ ๊ทธ๋ฆผ ๋ฃ๊ณ ๋)
์ ์ ์ธ์ด์ธ HTML์ ์กฐ์ํด์ ์นํ์ด์ง๋ฅผ ๋ค์ด๋๋ฏนํ๊ฒ ๋ฐ๊ฟ์ฃผ๋ ๊ธฐ๋ฅ์ ํ๋๊ฒ ์๋ฐ์คํฌ๋ฆฝํธ์ด๋ค.
=================================================
HTML์ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์กฐ์ํ๋ค๋ฉด, ์๋ฐ์คํฌ๋ฆฝํธ ํด์์ ๋๊ฐํ๋ ?
๋ฐ๋ก ๋ธ๋ผ์ฐ์ ์ด๋ค. ๋ธ๋ผ์ฐ์ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ํด์ ์์ง์ด ์๋ค.(๋ธ๋ผ์ฐ์ ์ ์ข ๋ฅ์ ๋ฐ๋ผ ์ฐ๋ ์์ง์ด ๋ค๋ฅด๋ค.) ๋ฐ๋ผ์ ๊ธฐ์กด์๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ธํฐ๋ท ๋ธ๋ผ์ฐ์ ์์์๋ง ์คํํ ์ ์์๋ค.
๊ทธ๋ฌ๋, 2008๋ ๊ตฌ๊ธ์ด V8 ์์ง์ ์ฌ์ฉํ์ฌ ํฌ๋กฌ์ ์ถ์ํ๋ค. V8 ์์ง์ ์์ฒญ ๋น ๋ฅด๊ณ , ์คํ ์์ค๋ก ์ฝ๋๋ ๊ณต๊ฐ๋์๋ค. V8 ์์ง์ด ๋๋ฌด ๋ฐ์ด๋์ ๊ธฐ๋ฅ์ ์ข ๋ ๋ํด V8 ์์ง ๊ธฐ๋ฐ์ ๋ ธ๋ ํ๋ก์ ํธ๋ฅผ ์์ํ๊ณ , Node.js(V8)์ด ๋ฑ์ฅํ๋ค. Node.js๋ ๋ธ๋ผ์ฐ์ ๋ด์์ ๋ง๊ณ ๋ ๋ค๋ฅธ ํ๊ฒฝ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๊ฒ ๋๋ค.
๋ฐ๋ผ์ Node.js๋ JavaScript ์คํ ํ๊ฒฝ(=๋ฐํ์) ์ด๋ค.
Node.js๋ฅผ ์ค์นํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ฅผ ํค์ง ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ปดํจํฐ์์ ์ํํ ์ ์๊ฒ ๋๋ค.
Node.js๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ปดํจํฐ์์ ์ฝ๊ฒ ์คํ์์ผ์คฌ๊ธฐ ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ฒ๋ผ ์ฌ์ฉํ๊ธฐ ์์ํ๋ค.
Node.js๋ฅผ ์ค์นํ๋ฉด ๋ธ๋ผ์ฐ์ ๋ฅผ ํค์ง ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ปดํจํฐ์์ ์ํํ ์ ์๊ฒ๋๋ค.
- Node.js ํํ์ด์ง์์ ์ค์น ํ
- Windows ๊ฒ์์ฐฝ์ cmd๋ฅผ ๊ฒ์ํด์ ๋ช ๋ น ํ๋กฌํํธ๋ฅผ ์ด์ด๋ด ์๋ค.
- ์ค์น๊ฐ ์ ๋๋ก ๋๋์ง ํ์ธํด๋ณด๋ ค๋ฉด ๋ช ๋ น ํ๋กฌํํธ์ node -v ๋ฅผ ์ ๋ ฅ ํ ๋ฒ์ ์ด ์ ๋๋ก ๋์ค๋์ง ํ์ธํด๋ณด๋ฉด ๋ฉ๋๋ค.
- ์ค์น ํ์ธ์ด ๋๋ฌ์ผ๋ฉด node๋ฅผ ์คํ์ํค๊ธฐ ์ํด node ์ ๋ ฅํ ํ
- console.log('ํฌ๋ก') ๋ฅผ ์ ์ด์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ์๋ํ๋์ง ํ์ธํด๋ด ์๋ค.
๋ง์ ์ฌ๋๋ค์ด Node๋ก ์๋ฒ๋ฅผ ๋ง๋ ๋ค.
Node.js๋ก ์๋ฒ๋ฅผ ๋ง๋๋ ์ด์
์ผ๋ฐ์ ์ธ ์๋ฒ๋ ์์ฒญ์ ์์๋๋ก ๋ฐ์์ผ ํ๋ค. ๊ทธ๋์ ํน์ ์์ฒญ์ด ๋ง์ผ๋ฉด ๋ค์ ์๋ ์์ฒญ์ ๊ทธ๋์ ๊ธฐ๋ค๋ ค์ผ ํ๋ค. ํ์ง๋ง Node.js๋
๋ชจ๋ ์์ฒญ์ ํ ๋ฒ์ ๋ฐ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์์ ์๊ด์์ด ์ฒ๋ฆฌ ์๋๊ฐ ๋น ๋ฅธ ๊ฒ๋ถํฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ๋ค ์ค๋ค. ์ฒ๋ฆฌ ์๋๊ฐ ๋น ๋ฅธ ๊ฒ๋ถํฐ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๊ฒ Node.js์ Non-blocking I/O์ ๊ฐ๋ ์ด๋ค.
Node.js์ ๊ฐ์
SNS๋ ์ฑํ ์๋น์ค์ ๋ง์ด ์ฌ์ฉ๋๋ค. ์ด๋ฐ ์๋น์ค๋ค์ ํน์ง์ ์์ฒญ์ด ๋งค์ฐ ๋ง๋ค๋ ๊ฒ์ด๋ค. ์ผ๋ฐ ์๋ฒ๋ก ๊ตฌํํ๋ฉด ์์ฒญ์ด ๋ง๊ฑฐ๋ ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ฒญ์ด ์์ผ๋ฉด ๋ฉ์ถ๊ฑฐ๋ ๋๊ธฐ ์๊ฐ์ด ๋ฐ์ํ๋ค. ์ด๋ Node.js ์๋ฒ๋ก ๊ตฌํํ๋ฉด ์์ฒญ์ด ๋ง๊ฑฐ๋ ์ค๋๊ฑธ๋ฆฌ๋ ์์ฒญ์ด ์์ด๋ ๋ฉ์ถ๊ฑฐ๋ ์์ฒญ ๋๊ธฐ ์๊ฐ์ด ๋ฐ์ํ์ง ์๋๋ค. ์ด๋ฐ Non-blocking ๋๋ถ์ ์ฑํ ์ด๋ SNS์ ์์ฃผ ์ฌ์ฉ๋๋ค.
์ด์ธ์๋ ๊ฐ์๋ ๋ง์ง๋ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ ์ฃผ๊ณ ๋ฐ๋ ์ค์๊ฐ ์ฑํ ์ ์ฌ์ฉ๋๋ค.
์ด๋ฏธ ์์ ์ฑ๊ณผ ๋ณด์์ฑ ์ธก๋ฉด์ ๋ฌธ์ ๋ ์ถฉ๋ถํ ๊ฒ์ฆ๋์๋ค. ๊ท๋ชจ๊ฐ ํฐ ์์ด๋น์๋น, ๋ทํ๋ฆญ์ค, ๋งํฌ๋์ธ ๋ฑ์์ ๋ ธ๋๋ฅผ ์ฌ์ฉํ๊ณ ์๊ณ , ํ์ดํ์ด๋ ์๋งํธ ๊ฐ์ด ๊ฒฐ์ ์์คํ ์ ์ฌ์ฉํ๋ ๋๊ธฐ์ ์์๋ ๋ ธ๋๋ก ์๋น์ค๋ฅผ ์ด์ํ๊ณ ์๋ค.
Node.js์ ๋จ์
Node.js๋ ๋ชจ๋ ์ค๋ ๋ ํ๋์์ ์ฒ๋ฆฌ๋๋ค. ์ฝ๋๊ฐ CPU ์ฐ์ฐ์ ๋ง์ด ์๊ตฌํ๋ฉด ์ค๋ ๋ ํ๋๊ฐ ๊ฐ๋นํ๊ธฐ ์ด๋ ต๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ์ง๋ ๋น๋์ค ์ฒ๋ฆฌ, ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ฐ์ด CPU๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ์์ ์ ์ํ ์๋ฒ๋ก๋ ๊ถ์ฅํ์ง ์๋๋ค. ์ด๋ฐ ๋ถ๋ถ์์ ๋ ธ๋๋ณด๋ค ๋ ์ ํฉํ ์ธ์ด ์ญ์ ์กด์ฌํ๋ค.
'๊ฐ๋ฐ ์ง์, ์คํฌ๋ฆฝํธ > JavaScript, TS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JSON (0) | 2023.11.27 |
---|---|
JSON.parse() , JSON.stringify() ์์ฑํ์ (0) | 2023.11.27 |
์์ฒญ๊ณผ ์๋ต(Request & Respnse) (0) | 2023.11.27 |
์๋ฒ์ ํด๋ผ์ด์ธํธ(Server & Client) (1) | 2023.11.27 |
๋๊ธฐ์ ํจ์ ๋น๋๊ธฐ์ ํจ์(์ ๋ฆฌํด์ผํจ) (0) | 2023.11.27 |
๋๊ธ