- Node.js๋?
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ ์์ํฌ
- npm์ด๋?
Javascript๋ฅผ ์น ๋ธ๋ผ์ฐ์ ๋ฐ์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ญํ ์ ํ ์ ์๋๋ก ์ง์ํ๋ ํ๋ซํผ(๋ฐํ์)์ด๋ค. Javascript๊ฐ ๊ตฌ๋๋ ์ ์๋ ํ๊ฒฝ์ ๊ตฌ์ถํด์ค๋ค
๋ทํ๋ฆญ์ค, ์์ด๋น์ค๋น, ๋งํฌ๋์ธ, ์ฐ๋ฒ, NASA ๋ฑ ๋ง์ ๊ณณ์์ Node.js๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค
๋จ์ผ ์ค๋ ๋(Single-Thread)
ํ ๋ฒ์ ํ๋์ ์์ ๋ง ์ฒ๋ฆฌํ ์ ์๋ ๊ตฌ์กฐ
์๋ฅผ ๋ค์ด, ์ฃผ๋ฐฉ์ ์๋ฆฌ์ฌ๊ฐ ํ๋ช
์ธ ๊ฒ๊ณผ ๊ฐ๋ค
๊ทธ๋์ ์ฃผ๋ฌธ์ด ๊ณ์ ๋ค์ด์๋ ํผ์์ ์ฒ๋ฆฌํด์ผ ํ๋ค
๋ ผ ๋ธ๋กํน(Non-blocking) I/O
ํน์ ์์
์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค๋ฅธ ์์
์ ์ํํ ์ ์๋ ๋ฐฉ์
์ฆ, ์์ฐจ์ ์ผ๋ก ์์
ํ์ง ์๊ณ ์๊ฐ์ด ๋ ๊ฑธ๋ฆฌ๋ ์์
๋ถํฐ ์ฒ๋ฆฌํ๋ค
์๋ฅผ ๋ค์ด, ๋ผ๋ฉด์ ์กฐ๋ฆฌํ๋ ์๊ฐ์ 10๋ถ์ด ๊ฑธ๋ฆฌ๊ณ ๊ทธ ์ค ๋ฌผ์ด ๋๋ ์๊ฐ์ 5๋ถ ๊ฑธ๋ฆฐ๋ค๊ณ ๊ฐ์ ํ ๋, ์์ฐจ์ ์ผ๋ก ์งํํ๋ค๋ฉด, ์๋ฆฌ์ฌ๋ ๋ฌผ์ด ๋์ ๋๊น์ง ๊ธฐ๋ฌ๋ ค์ผํ๋ค
๊ทธ๋ฌ๋ ์์ฐจ์ ์ผ๋ก ์งํํ์ง ์๋๋ค๋ฉด, ๋ฌผ์ด ๋๋ 5๋ถ ๋์ ๋ณถ์๋ฐฅ์ ์กฐ๋ฆฌํ๋ ๋ฑ ํจ์จ์ ์ผ๋ก ๋ค๋ฅธ ์๋ฆฌ๋ฅผ ํ ์ ์๊ฒ ๋๋ค
์ด๋ฒคํธ ๊ธฐ๋ฐ
ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋, ๊ทธ์ ๋์ํ๋ ์์ ์ ์คํํ๋ค
์๋ฅผ ๋ค์ด, ์๋ฆฌ์ฌ๊ฐ ์ฃผ๋ฌธ์ด ์๋ค๋ฉด ์ผ์ ํ์ง ์๋ ๊ฒ๊ณผ ๊ฐ๋ค
๋ค๋ฅธ ๊ฐ๋ฐ์๋ค์ด ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋์ ์ฝ๋ ๋ฉ์ด๋ฆฌ
ํน์ ๊ธฐ๋ฅ์ ์ํํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ๋ค ๋ด ํ๋ก์ ํธ์ ์ ์ฉํ ์ ์๋ค
๋ชจ๋์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค
๋ง๋ค๊ณ ์ถ์ ์๋น์ค๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ํ์ํ ๋ชจ๋ ์ผ์ ํ ์์์ ํ๋ ๊ฒ
์ฆ, ์๋น์ค ์์ฑ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ํ ์์ ๋ชจ์๋ ๊ฒ์ด๋ค
Node.js๋ก ๋ง๋ค์ด์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ ํ๋ก๊ทธ๋จ
์ ์ธ๊ณ์ ๊ฐ๋ฐ์๋ค์ด npm์ ์ด์ฉํ์ฌ ์์ ๋ค์ด ๋ง๋ ํจํค์ง๋ฅผ ๊ณต์ ํ๋๋ฐ,
์ฐ๋ฆฌ๋ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(๋ถํ)์ ์ฐพ๊ณ ๊ฐ์ ธ์์ ํ๋ก๊ทธ๋จ์ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์๋ค
npm install module-name
npm uninstall module-name