๐ฅ [Node.js] Node.js ์ ํน์ง ๋ฐ ๋ฐฐ๊ฒฝ
ํด๋น ํ์ด์ง๋ Node.js ์ ๋์๊ณผ์ ๊ณผ Node.js ์ ๋ฐฐ๊ฒฝ์ ๋ํด ํฌ์คํ ํฉ๋๋ค.
Node.js ์ ํ์ ๋ฐฐ๊ฒฝ
๋จผ์ ์น ํ๊ฒฝ์ ๊ตฌํํ๋ HTML
๊ณผ CSS
JS
๊ฐ ์๋ค.
HTML
๊ณผ CSS
๋ ๋ธ๋ผ์ฐ์ ๋ด์ ์๋ JavaScript
์์ง์ ํตํด์ ํด์์ด ๋๊ฒ ๋๋ค.
๊ทธ ์ค ๊ตฌ๊ธ์ Chrome
์์ ๋ง๋ v8
์ด๋ผ๋ ์์ง์ด ์๋๋ฐ
์ด ์์ง์ด ๊ฐ๋ฐ๋๊ณ ๋์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์๋๊ฐ ๋น์ฝ์ ์ผ๋ก ๋นจ๋ผ์ก๋ค.
์ฌ์ฉ๋๊ฐ ์์ฒญ๋๊ฒ ์ฆ๊ฐํด ์ด v8
์์ง์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ Node.js
๋ฐ๋ผ์ Node.js ๋ Chrome v8 JavaScript ์์ง์ผ๋ก ๋น๋๋ JavaScript ๋ฐํ์์ด๋ค.
์ฌ๊ธฐ์ Runtime
์ด๋ ๋์ํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
Node.js ์ ํน์ง ๋ฐ ๊ตฌ์กฐ
Single Thread
์์ ์ ์ฒ๋ฆฌํ๋ ๊ณณ์ด ํ ๊ณณ์
JavaScript
์ ์์ฑ
Non-Blocking I/O
์์ ์์ ์ด ์ค๋ ๊ฑธ๋ฆด ๊ฒฝ์ฐ ๋จผ์ ์ฒ๋ฆฌ ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ
์ด ํน์ง ๋๋ฌธ์ Node.js ๋ ์งง์ ์ก์ ์ ๋จผ์ ์ฆ๊ฐ์ ์ธ ๋์์ ํ๋ Messenger
๋ฑ์ ์ ๋ฆฌ ํจ
NPM ์ ํตํ ํ์ฅ์ฑ
npm
์ด๋
Node.js
์ ํจํค์ง์ง๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ๋๊ตฌ (Node Package Manager)
๋ค์ํ Module(Package) ์ ๊ณต
ํ์ํ ๊ธฐ๋ฅ์ด ๋ฏธ๋ฆฌ ๊ตฌํ๋์ด ์์