๐ Reference
๐ Chapter
Node.js
- Node.js๋ JavaScript ์คํ ํ๊ฒฝ(runtime)์ด๋ค.
- ๋ธ๋ผ์ฐ์ ๋ฐ์์ JavaScript ์ฝ๋๋ฅผ ์คํํ ์ ์๋ค.
- ํฌ๋กฌ์์ ์ฌ์ฉํ๋ V8 ์์ง์ ์ฌ์ฉํ๋ค. (V8 ์์ง: ๋ธ๋ผ์ฐ์ ์์ JavaScript๋ฅผ ํด์ํ๋ ๊ฒ์ด๋ค.)
- ์ด๋ฒคํธ ๊ธฐ๋ฐ์ ๋น๋๊ธฐ I/O ํ๋ ์์ํฌ์ด๋ค.
- CommonJS๋ฅผ ๊ตฌํํ ๋ชจ๋ ์์คํ
์ด๋ค.
- Node.js๋ ๊ตฌ๊ธ ํฌ๋กฌ์ JavaScript ์์ง(V8 Engine)์ ๊ธฐ๋ฐํด ๋ง๋ค์ด์ง ์๋ฒ ์ฌ์ด๋ ํ๋ซํผ์ด๋ค.
- Node๋ ์น ์๋ฒ๊ฐ ์๋๋ค. Node ์์ฒด๋ก๋ ์๋ฌด๊ฒ๋ ํ์ง ์๋๋ค.
- ์ํ์น ์น ์๋ฒ์ฒ๋ผ HTML ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํด์ฃผ๊ณ ์๋ฒ๋ฅผ ์ด๊ณ ๊ทธ๋ฐ ์ค์ ์ด ์๋ค.
- ๋จ, HTTP ์๋ฒ๋ฅผ ์ง์ ์์ฑํด์ผ ํ๋ค. (์ผ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋์์ ๋ฐ์ผ๋ฉด์)
- Node.js๋ ๊ทธ์ ์ฝ๋๋ฅผ ์คํํ ์ ์๋ ํ๋์ ๋ฐฉ๋ฒ์ ๋ถ๊ณผํ ๊ทธ์ JavaScript ๋ฐํ์์ด๋ค. โ Node.js๋ JavaScript๋ฅผ ์คํํ ์ ์๋ ํ๊ฒฝ์ด๋ค.
- WebAPIs์ ์ธํฐํ์ด์ค๊ฐ ๋์ผํ๋ค.
- Chrome์ V8 ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ผ๋ก ๋น๋๋ JavaScript ๋ฐํ์(runtime)์ผ๋ก 'Event Driven', 'Non-Blocking I/O' ๋ชจ๋ธ์ ์ฌ์ฉํด ๊ฐ๋ณ๊ณ ์ฑ๋ฅ์ด ๋ฐ์ด๋ ๋์ ํ๊ฐ๋ฅผ ๋ฐ๊ณ ์๋ค.
- ์ค์ ๋ก ์ฌ๋ฌ ๊ธ๋ก๋ฒ ๊ธฐ์
์์ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ๋ Node.js๋ฅผ ๋ง์ด ์ ํํ๊ณ ์๋ค.
- Node.js์๋ Node Package Manager๊ฐ ํฌํจ๋์ด ์๋๋ฐ ์ด๋ JavaScript ํ๋ก์ ํธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ค์ง์ ์ธ ํ์ค ๋๊ตฌ์ด๋ค.