본문으로 이동

Node.js

위키백과, 우리 모두의 백과사전.
Flow3r (토론 | 기여)님의 2010년 11월 8일 (월) 03:25 판 (첫 등록 - 영문판 문서를 완역)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
Node.js
원저자Ryan Lienhart Dahl
개발자Node.js 개발자
안정화 버전
0.2.4 / 2010년 10월 23일(14년 전)(2010-10-23)
저장소
프로그래밍 언어C++, 자바스크립트
운영 체제맥 OS X, 리눅스, 솔라리스, FreeBSD, OpenBSD, 마이크로소프트 윈도 (Cygwin), webOS
종류네트워크 애플리케이션 프레임워크
라이선스MIT 허가서
웹사이트http://nodejs.org/

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

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


예제

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

var sys = require('sys'),
    http = require('http');

http.createServer(function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.end('Hello World\n');
}).listen(8000);

sys.puts('Server running at http://127.0.0.1:8000/');

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

var net = require('net');

var server = net.createServer(function (stream) {
    stream.setEncoding('utf8');

    stream.addListener('connect', function () {
        stream.write('hello\r\n');
    });

    stream.addListener('data', function (data) {
        stream.write(data);
    });

    stream.addListener('end', function () {
        stream.write('goodbye\r\n');
        stream.end();
    });
});

server.listen(7000, 'localhost');

같이 보기

주석

바깥 고리