Post

๐Ÿฅœ [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 ์˜ ํŠน์ง• ๋ฐ ๊ตฌ์กฐ

image-01 (ํŠน์ง•๊ณผ ๊ตฌ์กฐ)

Single Thread

์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณณ์ด ํ•œ ๊ณณ์ž„

JavaScript ์˜ ์†์„ฑ

Non-Blocking I/O

์•ž์„  ์ž‘์—…์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ๊ฒฝ์šฐ ๋จผ์ € ์ฒ˜๋ฆฌ ๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜

์ด ํŠน์ง• ๋•Œ๋ฌธ์— Node.js ๋Š” ์งง์€ ์†ก์‹ ์„ ๋จผ์ € ์ฆ‰๊ฐ์ ์ธ ๋Œ€์‘์„ ํ•˜๋Š” Messenger ๋“ฑ์— ์œ ๋ฆฌ ํ•จ

NPM ์„ ํ†ตํ•œ ํ™•์žฅ์„ฑ

npm ์ด๋ž€

Node.js์˜ ํŒจํ‚ค์ง€์ง€๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ (Node Package Manager)

๋‹ค์–‘ํ•œ Module(Package) ์ œ๊ณต

ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ๋ฏธ๋ฆฌ ๊ตฌํ˜„๋˜์–ด ์žˆ์Œ

This post is licensed under CC BY 4.0 by the author.