Server๐Ÿงค/Node.JS

Node.js ์—ญ์‚ฌ , ์žฅ๋‹จ์ 

yujindonut 2022. 6. 8. 20:53
728x90

Node.js์˜ ์—ญ์‚ฌ

html์„ ์ฝ”๋”ฉํ•ด์„œ ์›นํŽ˜์ด์ง€๋ฅผ ์ง์ ‘ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๋ถˆ๋งŒ, html ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋ฉด ์ „์ฒด๋ฅผ ์ˆ˜์ •ํ•ด์•ผํ•˜๋ฏ€๋กœ ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์–ด๋ ค์›€

์›น์‚ฌ์ดํŠธ์˜ ์†Œ์œ ์ž๋งŒ์ด ์ปจํ…์ธ ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์›นํŽ˜์ด์ง€ ์„ฑ์žฅ์ด ๋”๋””๊ฒŒ ๋จ

 

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž, ์ด๋ฏธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์ต์ˆ™ํ•œ ์›น ๊ฐœ๋ฐœ์ž๋“ค์ด ์ƒˆ๋กœ์šด ์ปดํ“จํ„ฐ์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ์ง€ ์•Š๊ณ ๋„ ์›น ํŽ˜์ด์ง€๋ฅด๋ฅด ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ์„œ๋ฒ„์ชฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์‹ถ์–ด์„œ ํƒ„์ƒํ•œ Node.js

 

2008, ๊ตฌ๊ธ€์ด ํฌ๋กฌ ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ V8์—”์ง„์„ ๊ฐœ๋ฐœํ•จ

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด์˜€๋‹ค๋ฉด, Node.js๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•„๋‹Œ ์ปดํ“จํ„ฐ ์ž์ฒด๋ฅผ ์ œ์–ด

node.js๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ

Node.js๊ฐ€ ์—†๋‹ค๋ฉด,

์ˆ˜์ฒœ๊ฐœ์˜ <ul></ul>ํƒœ๊ทธ๋ฅผ ๋‹ค๋ฅธ ํƒœ๊ทธ๋กœ ๋ฐ”๊พผ๋‹ค๊ณ  ํ• ๋•Œ, ํ•˜๋‚˜ํ•˜๋‚˜ ์ง์ ‘ ๋ฐ”๊พธ์–ด์ฃผ์–ด์•ผํ•œ๋‹ค!

์‚ฌ์šฉ์ž์˜ ์ฐธ์—ฌ๊ฐ€ ์ œํ•œ๋จ ( ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ž‘์„ฑํ•˜๊ณ , ๋ธ”๋กœ๊ทธ ๋ชฉ๋ก์— ๋„์šฐ๋Š” ๊ฒƒ๋„ ์ง์ ‘ html๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ์ž‘์„ฑํ•ด์ฃผ์—ˆ์–ด์•ผํ–ˆ์Œ)

 

node.js๊ฐ€ ์ ์šฉ๋œ ํŒŒ์ผ

์ง์ ‘ ์‚ฌ์šฉ์ž์˜ ์ฐธ์—ฌ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ. ( CRUD ๋ฅผ ์›น์„ ํ†ตํ•ด์„œ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณต )

์ง์ ‘ ๊ธ€์„ ์ž‘์„ฑํ•˜๊ณ , ๋ชฉ๋ก์— update๊ฐ€ ๋˜๋„๋ก 


์–ธ์ œ ?

API with database behind it ( preferably NoSQL)

Data Streaming ( ex . Youtube)

Real-time chat application

Server-side web application

 

Node.JS์˜ ์žฅ์ 

Single- threaded, based on event driven, non-blocking I/O model

Perfect for building fast and scalable data-intensive apps

JavaScript across the entire stack : faster and more efficient development

NPM : huge library of open-source packages available for everyone for free

Very active developer community

 

Node.JS ๋‹จ์  , ์‚ฌ์šฉ ๋ชปํ•˜๋Š” ํ™˜๊ฒฝ

Applications with heavy server-side processing (CPU - intensive)

 

command + K : terminal clear
node : node ์ฝ”๋“œ ์‹œ์ž‘
.exit , command + D : node ์‹คํ–‰ ์ค‘์ง€
tab : global variables ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ , ๋…ธ๋“œ ๋ชจ๋“ˆ๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ์Œ
String. + tab : String์˜ property๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Œ

 

3 + 8

_ + 6 : _ underscore : ๊ทธ ์ „์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ด

 

 

728x90