본문 바로가기

Front-End/Node.js

노드란 무엇일까?

노드란 무엇일까?

노드는 javascript를 이용해서 서버를 만들 수 있는 개발 도구이다.
노드 라고도 하고 노드제이에스라고 부른다.

노드(node.js)라는 개발 도구가 생긴이유는?

노드는 2009년 라이언달(Ryan Dahl) 이 만들었는데 그 당시에는 웹 서버에 파일을 업로드 할때, 업로드가 완료되기 전까지 웹 서버에서 데이터를 조회하거나 하는 등의 작업을 할 수 없었는데 이 문제를 해결하기 위해 새로운 방식의 서버 개발도구를 만들기 시작했는데 그것이 노드 이다.

노드의 장점

노드는 요청을 동시에 처리할 수 있는 비동기 입출력(논블로킹 입출력, Non-Blocking IO) 방식을 적용했다.
이벤트 기반 입출력(Event Driven I/O) 방식 이다.

크롬 V8 자바스크립트 엔진

V8엔진은 필요한 기능을 병렬로 처리하는 스레드풀 이벤트를 받아 처리하는 이벤트루프 등의 기본 기능이 있으며
네트워킹 기능을 담당하는 소켓(Socket), http라이브러리 들이 있습니다.

CommonJs 표준 스팩

노드는 CommonJs 표준 스팩을 따릅니다. CommonJs표준 스팩은 자바스크립트 코드를 별도의 모듈 파일로 분리시키고 필요할때 불러와 사용할 수 있는 방식을 정의해 둔 표준 입니다.
CommonJs 표준 스팩이 궁금하면 링크 참고 :)