ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

Node.js/Node.js ๊ณต๋ถ€

1. Node Js ๋ž€? [ํ”„๋กค๋กœ๊ทธ]

๋Œ•๋Œ•์ด๋ฐœ๐Ÿพ 2018. 3. 21. 16:58



์„œ๋ฒ„์ชฝ์„ ๊ด€์‹ฌ์žˆ์–ด ํ•˜๋˜ ๋„์ค‘์— ํ˜„์ง ๊ฐœ๋ฐœ์ž ๋ถ„์˜ ์กฐ์–ธ์œผ๋กœ ์š”์ฆ˜ ์ถ”์„ธ(?) ์„œ๋ฒ„์‚ฌ์ด๋“œ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์ธ Node JS ์— ๊ด€์‹ฌ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ๋‹ค.


์กฐ์–ธ์„ ํ•ด์ฃผ์‹  ๋ถ„๊ณผ ์•ˆ๋“œ๋กœ์ด๋“œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์— ์žˆ๋Š”๋ฐ ํ•ด๋‹น ์–ดํ”Œ์€ spring boot๋กœ ์„œ๋ฒ„์ž‘์—…์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

(๋ฌผ๋ก  ์ œ๊ฐ€ ๊ฑฐ์˜ ๋ฐ”๋‹ฅ์ˆ˜์ค€์ด๋ผ์„œ ๋ง์ด ํŒ€์ด์ง€ ๊ฑฐ์˜ ํ˜ผ์ž ํ•˜์…จ๋‹ค๊ณ  ๋ด๋„ ๋ฌด๋ฐฉ..)


๋ฌดํŠผ ์„œ๋ฒ„๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„์š”ํ•˜๊ธฐ์— ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•œ๋‹ค! (์ƒํ™œ์ฝ”๋”ฉ์˜ ๋™์˜์ƒ๊ฐ•์˜ ํ™œ์šฉ)



....? ์ผ๋‹จ ๋‚˜๋Š” JavaScript๋ฅด ๊ณต๋ถ€ํ•ด๋ณธ ์ ๋„ ์—†๊ณ  ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜,  ๋…ผ ๋ธ”๋กœํ‚นI/O๋ชจ๋ธ? ์ž˜ ๋ชจ๋ฅด๊ฒ ๋Š”๋ฐ.. ์ธํ„ฐ๋„ท์œผ๋กœ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ


๋ธ”๋กœํ‚น ๋ฐฉ์‹๊ณผ ๋…ผ ๋ธ”๋กœํ‚น ๋ฐฉ์‹์ด ์กด์žฌํ•˜๋Š”๋ฐ UNIX์— ์žˆ๋Š” 5๊ฐ€์ง€ ๋„คํŠธ์›Œํฌ ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ํ•œ๋‹ค.(๊ตณ์ด ๋‹ค๋ฅธ ๋ชจ๋ธ ์„ค๋ช…์€ ์ƒ๋žต)


๋ธ”๋กœํ‚น ๋ฉ”์†Œ๋“œ๋Š” ๋™๊ธฐ๋กœ, ๋…ผ ๋ธ”๋กœํ‚น ๋ฉ”์†Œ๋“œ๋Š” ๋น„๋™๊ธฐ๋กœ ์‹คํ–‰๋œ๋‹ค๊ณ  ํ•˜๋Š”๊ฑธ๋ณด๋‹ˆ ๋น„๋™๊ธฐ == ๋…ผ ๋ธ”๋กœํ‚น I/O ๋ชจ๋ธ ? ๋ผ๊ณ  ํ•ด๋„๋ ๋Ÿฐ์ง€..




2009๋…„์— ๋ผ๋ฆฌ์–ธ ๋‹ฌ์ด๋ผ๋Š” ๋ถ„์— ์˜ํ•ด์„œ Node.js๋ผ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์ถœ๋ฐœํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌ๊ธ€์ด ๋งŒ๋“  V8์—”์ง„์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  event-driven์ด๋ผ๊ณ  ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ ๋ฐฉ์‹๊ณผ ๊ทธ๋ฆฌ๊ณ  non-blacking IO

๋ผ๊ณ  ํ•˜๋Š” ๋ฐฉ์‹์„ ๊ฒฐํ•ฉํ•ด์„œ Node.js๋ผ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ์›น๋ธŒ๋ผ์šฐ์ € ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•„๋‹Œ ์„œ๋ฒ„ ์ชฝ์—์„œ๋„ 

๋™์ž‘ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํ™•์žฅ๋˜๋Š” ๊ฒฐ์ •์ ์ธ ๊ณ„๊ธฐ๋ฅผ ๋งˆ๋ จํ•˜๊ฒŒ ๋œ๋‹ค.


Java Script๋กœ ๋งŒ๋“ค์–ด์ง„ Node Js?

: Java Script ์–ธ์–ด๋ฅผ ํ•œ๊ตญ์–ด๋ผ๊ณ  ๊ฐ€์ •ํ•œ๋‹ค๋ฉด ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ•์€ ๋™์ผํ•˜์ง€๋งŒ ์˜ˆ๋ฅผ๋“ค๋ฉด ๋ณ‘์›์„ ๊ฐ”์„ ๋•Œ๋‚˜ ์‹๋‹น์— ๊ฐ”์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด ๋ฐฉ์‹์ด ๋‹ค๋ฅธ ๊ฒƒ ์ฒ˜๋Ÿผ

Java Script ์–ธ์–ด๋ฅผ ์ด์šฉํ•ด์„œ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ œ์–ดํ•  ์ˆ˜๋„ ์žˆ๊ณ , ์„œ๋ฒ„ ์ชฝ์— ์žˆ๋Š” Node.js๋ฅผ ์ œ์–ดํ•ด์„œ ์„œ๋ฒ„์ชฝ์—์„œ ๋™์ž‘ํ•˜๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ

ex) alert ('Hello world') 

๋ผ๋Š” ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚จ๋‹ค๋ฉด ์›น๋ธŒ๋ผ์šฐ์ €์ƒ์—๋Š” ๊ฒฝ๊ณ ์ฐฝ์ด ๋œจ๊ฒ ์ง€๋งŒ ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•„๋‹Œ ๊ณณ์—์„œ ์‹คํ–‰์‹œํ‚จ๋‹ค๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค.


๊ฒฐ๋ก  . Node.js๋ผ๋Š” ๊ฒƒ๊ณผ ์›น ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์˜์—ญ์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ธฐ์ˆ ์ด๊ณ  ๊ทธ๋ฆฌ๊ณ  ์„œ๋กœ๊ฐ€ ํ˜‘๋ ฅ์ ์ธ ๊ด€๊ณ„์— ์žˆ๋Š” ๊ธฐ์ˆ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.



์ด๋ก ์ ์ธ ๋ถ€๋ถ„์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•˜๋‹ค๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค..(์ž˜ ๋ชจ๋ฅด๊ฒ ๋„ค์š”..) ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์ธ ๊ฒŒ์‹œ๋ฌผ์ด๋ผ๊ธฐ ๋ณด๋‹ค๋Š” ์ € ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ๊ธฐ๋ก์„ ๋‚จ๊ฒจ๋‘๋Š” ํ˜•์‹์œผ๋กœ ์ง„ํ–‰๋ ํ…Œ๋‹ˆ ์ž˜๋ชป๋œ๊ฑฐ๋‚˜ ์ค‘์š”ํ•œ ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์‹œ๋ฉด ์ •๋ง ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!





๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ