์์ฆ ํธ๋๋๋ฅผ ๋ถ์ํ๊ธฐ ์ํด ๊ณต๊ณ ๋ฅผ ๋ณด๋ค๊ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ํ์ ์คํฌ ์ค "Node.js" ์ ๋ํด ๋๋ฌด ๋ง์ด ๋ดค๋ค.
๊ทธ๋์, Node.js ๊ฐ ๋๋์ฒด ๋ญ๋ฐ? ํ๊ณ ๋๋ฌด ๊ถ๊ธํด์ ์ฐพ์๋ดค๋ค.
Node.js์ ๊ณต์ ํํ์ด์ง ์ ๋ฐ๋ฅด๋ฉด,
Node.js๋ Chrome V8 JavaScript ์์ง์ผ๋ก ๋น๋๋ JavaScript ๋ฐํ์์ด๋ค.
๋ผ๊ณ ์ ์ํ๊ณ ์์ง๋ง, ์ฌ์ค ๋ญ ๋ป์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค...
์ ์๋ ๋ค๋กํ๊ณ , Node.js๋ก ์๋ฒ๋ฅผ ๋ง๋ค์ ์๋๋ฐ
์ ? Node.js๋ก ์๋ฒ๋ฅผ ๋ง๋๋์ง์ ๋ํด ๋ถ์ํ๋ฉฐ, ์กฐ๊ธ ์ด Node.js ์ ๋ํด ์๊ฒ ๋์๋ค.
์ ? Node.js๋ก ์๋ฒ๋ฅผ ๋ง๋ค๊น?
์ฐ๋ฆฌ๋ ์๋น์ค๋ฅผ ๊ตฌํํ ๋ ๋์ฉ๋ ํธ๋ํฝ์ ์์ฃผ ๊ฒฝํํ๊ฒ ๋๋ค.
์๋ง์ ๊ณ ๊ฐ์ ์์ฒญ์ ํ ๋ฒ์ ๋ฐ์ ๊ฑฐ์ ๋์์, ์ฆ ์์์ ์๊ด์์ด ์ฒ๋ฆฌํด์ผ ํ๋ค.
์ด๋ ์ฌ์ฉํ ์ ์๋ Node.js์ ํน์ง์ด ๋ฐ๋ก Non-Blocking I/O ๋ค.
์ฆ, ๋ง ๊ทธ๋๋ก ํด์ํด๋ณด๋ฉด ์๋ฌด๊ฒ๋ ๋ง์ง ์๋ ์
์ถ๋ ฅ์ ์ง์ํ๋ค๋ ๊ฒ์ด๋ค.
Node.js์ ์ฅ์
1. ์ค์๊ฐ ์์ฒญ ์๋น์ค์ ์๋๊ฐ ๋น ๋ฅด๋ค
2. ์ฝ๋๊ฐ ์ฝ๊ณ ๋งค์ฐ ์งง๋ค
3. ์์ ์ฑ, ๋ณด์์ฑ์ด ์ข๋ค
Node.js๋ SNS๋ ์ฑํ ์๋น์ค์ ๊ฐ์ ์๋น์ค๋ฅผ ๊ตฌํํ ๋ ๋ง์ด ์ฌ์ฉ๋๋ค.
์ด๋ฐ ์๋น์ค๋ค์ ์์์ ๋งํ๋ค์ถ์ด ์์ฒญ์ด ์์ฃผ ๋ง์ ์๋น์ค์ด๋ค.
์ผ๋ฐ์ ์ธ ์๋ฒ๋ฅผ ํตํด์ ๊ตฌํํ๊ฒ ๋๋ฉด ์์ฒญ์ด ์์ฃผ ๋ง๊ฑฐ๋, ์ค๋๊ฑธ๋ฆฌ๋ ์์ฒญ์ ๋ฐ์์ ๋ ๋ฉ์ถ๊ฑฐ๋ ๋๊ธฐ์๊ฐ
์ฆ, ๋ก๋ฉ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์๋ค.
์ด๋, Node.js ์๋ฒ๋ก ๊ตฌํํ๊ฒ ๋๋ฉด Non-blocking ๋๋ถ์ ๋ฉ์ถ๊ฑฐ๋ ์์ฒญ ๋๊ธฐ์๊ฐ์ด ๋ฐ์ํ์ง ์๋๋ค.
๋ํ, Node.js๋ ์ฝ๋๊ฐ ๋งค์ฐ ์งง๊ณ ์ฌ์์ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค.
๊ฐ์๋ ๋ง์ง๋ง, ํฌ๊ธฐ๊ฐ ์์ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฃผ๊ณ ๋ฐ๋๋ฐ ์ ํฉํ๊ธฐ ๋๋ฌธ์
์ค์๊ฐ์ผ๋ก ๋ฐ๋ก ๋ฐ์๋์ด์ผ ํ๋๋
ธ๋๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋ค.
Node.js์ ๋จ์
ํ๋์ ์ฐ๋ ๋ ์์์ ๋ชจ๋ ์์ ์ ์ฒ๋ฆฌํ๋ค.
ํ์ง๋ง, ์ด๋ ๊ฒ ์ฅ์ ์ด ์๋ ๋ฐ๋ฉด, ๋จ์ ๋ ์กด์ฌํ๋ค.
Node.js๋ ๋ชจ๋ ํ๋์ ์ฐ๋ ๋ ์์์ ์ฒ๋ฆฌ๋๋ค.
์ฝ๋๊ฐ CPU์ฐ์ฐ์ ๋ง์ด ์๊ตฌํ๊ฒ ๋๋ฉด ์ฐ๋ ๋ ํ๋๊ฐ ๊ฐ๋นํ๊ธฐ๊ฐ ์ด๋ ค์์ง๋ค.
๊ทธ๋ ๊ฒ ๋๋ฉด, ์ด๋ฏธ์ง๋ ๋น๋์ค ๋๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ฐ์ด CPU๋ฅผ ๊ต์ฅํ ๋ง์ด ์ฌ์ฉํ๋ ์์ ์๋ ์ ํฉํ์ง ์๋ค.
์ Node.js์ ์์๊ฐ ๋ง์์ง๋๊ฐ?
๊ธฐ๋ณธ ์ ์์์๋ ์ ์ ์๋ค์ถ์ด Node.js๋ JavaScript๋ฅผ ํ์ฉํด์ผ ํ๋ค.
์ฆ, Node.js๋ฅผ ํ์ตํ๋ค๋ ๊ฒ์ JavaScript๋ฅผ ๋ฅ์ํ๊ฒ ํ์ฉํ ์ค ์๋ค๋ ๊ฑด๋ฐ,
๊ทธ๋ ๋ค๋๊ฑด ์๋ฒ(=๋ฐฑ์๋) ๋ฟ ์๋๋ผ ํ๋ก ํธ์๋ ์์ญ๋ ์ฝ๊ฒ ํ์ ํ๊ณ ํ์คํ ๊ฐ๋ฐ์๋ก์์ ์ฑ์ฅ์ด ์ฝ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
Node.js์ ํจ๊ป ํ์ตํ๋ฉด ์ข์ ์ธ์ด ๋ฐ ํ๋ ์์ํฌ
1. Express.js
Express ๋ Node.js์ ์น ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ์ํ ๊ฐ์ฅ ๊ฐ๋จํ๋ฉด์๋ ๊ฐ๋ ฅํ ํ๋ ์์ํฌ ์ค ํ๋๋ค.
์ฝ๊ฒ ๋งํด Node.js๋ก ์ฝ๊ฒ ์๋ฒ๋ฅผ ๋ง๋ค ์ ์๊ฒ ํด์ฃผ๋ ํด๋์ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ชจ์๋์ ํ๋ ์์ํฌ์ด๋ค.
๊ฐ๋จํ ์น ์๋น์ค๋ฅผ ๋น ๋ฅด๊ฒ ๊ตฌ์ถํ๊ณ ์ถ์ ๋ ์ ํํ์ฌ ์ฌ์ฉํ๋ฉด ์ข๋ค.
2. TypeScript
ํ์
์คํฌ๋ฆฝํธ๋ JavaScript์ ํ์ฅ ๋ฒ์ ์ผ๋ก, ์ ์ ํ์
์์คํ
์ ์ ๊ณตํ๋ค.
์ ์ ํ์
์์คํ
์ ์ฝ๋ ์์ฑ ์ค ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ฅผ ์ค์ด๊ณ , ์ ์ง๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ํ๋ค.
๋๊ท๋ชจ ํ๋ก์ ํธ๋ ์๋ฒ์์ ๊ฐ๋ฐ์ด ์ด๋ฃจ์ด์ง๋ ๋ณต์กํ ํ๋ก์ ํธ์์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
3. Next.js
Next.js๋ TypeScript๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ํ๋ ์์ํฌ์ด๋ค.
Node.js ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์กฐ์ ์ด๊ณ ๋ชจ๋ํ๋ ๋ฐฉ์์ผ๋ก์ ๊ฐ๋ฐ์ ๋์์ค๋ค. Next.js์ ๋ชจ๋ ์์คํ ์ ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ
์ ์ง ๋ณด์์ฑ์ ๋์ฌ ์ฃผ๊ธฐ ๋๋ฌธ์ ๋ํ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ ๋ ์ด์์ ์ธ ๋๊ตฌ์ด๋ค.
'๐ฉ๐ปโ๐ป Developer > ์ ์ ๊ฐ๋ฐ์ ์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋คํธ์ํฌ] REST API๋? (0) | 2024.03.14 |
---|---|
์ํคํ ์ฒ, ํ๋ ์์ํฌ๋ ๋ฌด์์ธ๊ฐ? (0) | 2024.03.13 |
๊ฐ๋ฐ์์๊ฒ ํด๋ฆฐ์ฝ๋๊ฐ ์ค์ํ ์ด์ (0) | 2024.02.08 |
์์๋๋ฉด ์ ์ฉํ ๋งฅ ํฐ๋ฏธ๋ ๋ช ๋ น์ด (0) | 2024.02.07 |
2024 ๊ธฐ์ค ์ ์ ๊ฐ๋ฐ์๋ฅผ ์ํ ๋ฐฑ์๋ ๋ก๋๋งต / 2. ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ์ ๋ฌด, 3. ๋ฐฑ์๋ ์ํคํ ์ฒ (0) | 2024.02.06 |
๋๊ธ