[노드JS] node js란 무엇인가
[노드JS] node js란 무엇인가 — #노드js #nodejs 학습법 이론 학습을 하기 이전, 명심해야할 학습법이 있다. 1.이해가지 않는다고 뒤돌아가...
#노드js #nodejs
학습법 이론
학습을 하기 이전, 명심해야할 학습법이 있다.
1.이해가지 않는다고 뒤돌아가 다시 보지 말 것
2.외우지 말라
=> 자주 봐서 외워짐을 당하라
=> 크롬을 통해 copy and paste하라
- 이해하는게 중요하다
=> 왜 생겨났는지?
=> 왜 사용하는지?
===> 응용이 가능해진다.
노드 JS에 대한 이해
자바스크립트
자바스크립트란 HTML을 제어하기 위한 언어이다. 원래 HTML은 글,사진등 정적인 표현만 가능했다. JS가 개발된 후 JS를 통헤 다양한 HTML요소를 동적으로 표현이 가능해졌다.
JavaScropt는 어떻게 읽을까?
자바스크립트는 브라우저 엔진이 읽는다. 브라우저마다 각기 JavaScript를 읽는 엔진이 존재한다. 많은 사람들이 사용하는 크롬은 V8이라는 자바스크립트 엔진을 사용중이다. 이 엔진은 브라우저 내부에 존재한다.
이 V8엔진을 브라우저 밖으로 떼어낸게 노드 JS(node.js)이다. 이제 노드 JS로 JavaScript를 브라우저 밖에서도 다양하게 활용이 가능하다.
node js의 장점 - Unblocking I/O
기존 프로그랭으로 서버를 구축하면
megabox서버를 예로 들어보자. 예전 방식으로 서버를 만들어 사용자가 A라는 영화의 티켓을 예매해달라고 서버에게 요청을 보냈다고 해보자. 티켓이 1장의 경우에는 별 문제없이 빠르게 요청을 처리한다.
요청을 잘 처리해주다가 중간에 오래걸리는 요청이 들어왔다고 해보자. 이때 서버는 요청을 처리하기위해 잠시 멈추고, 새로운 요청을 받지 못한다. 그럼 그 다음 사용자는 서버가 이전 요청을 처리하기전까지 계속 기다려야 할 것이다.
node js로 서버를 구축하면
이제 node js를 사용해 만든 서버를 생각해보자. 서버는 우선 사용자들의 요청을 모두 받아들인다.
순서에 상관없이 빠르게 처리가 가능한 순서대로 요청을 처리하기 때문에, 서버가 중간에 멈출일이 없다.새로운 사용자의 요청또한 언제든 받을 수 있다.
node JS는 코드가 간단하고, 빠르게 서버를 만들 수 있다. 요즘 많은 사람들이 이용하는 SNS,채팅 기능을 만드는데 용이하며, 웹페이지 서비스를 만드는데 매우 적합한 언어이다.






