Node.js

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
Node.js
Node.js 로고
원저자 Ryan Lienhart Dahl
개발자 Node.js 개발자
안정화 버전 0.10.26 / 2014년 02월 18일, 420일 경과
미리보기 버전 0.11.12 / 2014년 03월 11일, 399일 경과
프로그래밍 언어 C++, 자바스크립트
운영 체제 맥 OS X, 리눅스, 솔라리스, FreeBSD, OpenBSD, 마이크로소프트 윈도 (시그윈), webOS
종류 네트워크 애플리케이션 프레임워크
라이선스 MIT 허가서
웹사이트 http://nodejs.org/

Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. Node.js는 작성언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리성능을 가지고 있다.

Node.js는 내장 HTTP 서버 라이브러리를 포함하고 있어 웹서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹서버의 동작에 있어 더 많은 통제를 가능케 한다.

개요[편집]

Node.jsV8 (자바스크립트 엔진) 위에서 동작하는 이벤트 처리 I/O 프레임워크이다. 웹 서버와 같이 확장성 있는 네트워크 프로그램 제작을 위해 고안되었다.

Node.js는 파이썬으로 만든 Twisted, 로 만든 펄 객체 환경, 루비로 만든 이벤트머신과 그 용도가 비슷하다. 대부분의 자바스크립트가 웹 브라우저에서 실행되는 것과는 달리, Node.js는 서버 측에서 실행된다. Node.js는 일부 CommonJS 명세[1]를 구현하고 있으며, 쌍방향 테스트를 위해 REPL 환경을 포함하고 있다.

역사[편집]

Node.js는 Ryan Dahl에 의해 2009년에 처음 시작되었으며, 그가 일하던 Joyent라는 회사에서 개발 및 운영을 담당하고 있다.[2]

Ryan Dahl은 Flickr의 파일 업로드 프로그래스바를 보았을 때, 파일이 얼마나 업로드 되었는지 알지 못했고, 알기위해서는 서버에 쿼리를 날려야한다는 점을 보고 조금 더 쉬운 방법을 원했으며 그에 따른 Node.js를 고안해 내었다.[3]

최초 Node.js 버전은 Ryan Dahl에 의해 2009년 Linux 기반으로 출시되었다. Inangural JSConf EU conference에서 Ryan Dahl의 발표[4] 직후 국제적인 관심을 끌기 시작했다.[5]

Node.js의 패키지매니저인 npm은 2011년에 처음 소개되었다.

2011년 6월 Microsoft는 Joyent와 파트너쉽을 맺고[6] Node.js의 Windows버전을 같은 해 최소 Windows버전을 7월에 출시했다.

예제[편집]

Node.js로 작성한 hello world HTTP 서버:

var http = require('http');
 
http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello World\n');
}).listen(8000);
 
console.log('Server running at http://localhost:8000/');

다른 예제, 7000번 포트를 여는 간단한 TCP Echo 서버:

var net = require('net');
 
net.createServer(function (stream) {
    stream.write('hello\r\n');
 
    stream.on('end', function () {
        stream.end('goodbye\r\n');
    });
 
    stream.pipe(stream);
}).listen(7000);

같이 보기[편집]

주석[편집]

  1. http://wiki.commonjs.org/wiki/Implementations/node.js
  2. Alex Handy (2011년 6월 24일). “Node.js pushes JavaScript to the server-side”. SDTimes. 2011년 9월 4일에 확인함. 
  3. Harris, Amber (April 1, 2012). “The Birth of Node: Where Did it Come From? Creator Ryan Dahl Shares the History”. Devops Angle. 26 October 2013에 확인함. 
  4. “Ryan Dahl at JSConf EU 2009”. 
  5. “Ryan Dahl at JSConf EU 2009 Video”. 
  6. “Porting Node to Windows”. 2 August 2014에 확인함. 

바깥 고리[편집]