Node.js
보이기
![]() | |
원저자 | Ryan Lienhart Dahl |
---|---|
개발자 | Node.js 개발자 |
안정화 버전 | 0.2.4
/ 2010년 10월 23일 |
저장소 | |
프로그래밍 언어 | C++, 자바스크립트 |
운영 체제 | 맥 OS X, 리눅스, 솔라리스, FreeBSD, OpenBSD, 마이크로소프트 윈도 (Cygwin), webOS |
종류 | 네트워크 애플리케이션 프레임워크 |
라이선스 | MIT 허가서 |
웹사이트 | http://nodejs.org/ |
Node.js는 V8 (자바스크립트 엔진) 위에서 동작하는 이벤트 처리 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');