https://www.digitalocean.com/community/tutorials/install-uninstall-nodejs-ubuntu
* note : check LTS ppa link
https://github.com/nodesource/distributions
cross platfrom
opensource
run time environment for java script outside browser
great for prototyping and agile development
superfast and highly scalable
javascript everywhere : fullstack
architecture
js code -> js engine(v8) -> execute
history : browser was only rte for javascript
after 2009 : ryan dahl : node (v8 embedded in c++)
node = v8(chrome uses as js engine) embedded in c++
https://www.taniarascia.com/how-to-install-and-use-node-js-and-npm-mac-and-windows/
https://github.com/goldbergyoni/nodebestpractices
synchronous
one thread per one request
add another server if request outnumber threads
asynchronous
one thread handles multiple request by event loop
effective usage of idle time of thread
event queue informs thread that data is ready to send
when not to use node
do not use node for cpu instensive apps : video/audio
when to use node :
data intensive and real time apps(web app)
for linux : npx nodemon index.js
https://www.educative.io/answers/how-to-use-the-nodejs-httpserverresponsestatuscode-property
https://github.com/bezkoder/node-js-tutorials
https://gist.github.com/chranderson/b0a02781c232f170db634b40c97ff455