Node.js
| 원저자 | Ryan Lienhart Dahl |
|---|---|
| 개발자 | Node.js 개발자 |
| 안정화 버전 | 0.10.26 / 2014년 02월 18일 |
| 미리보기 버전 | 0.11.12 / 2014년 03월 11일 |
| 프로그래밍 언어 | C++, 자바스크립트 |
| 운영 체제 | 맥 OS X, 리눅스, 솔라리스, FreeBSD, OpenBSD, 마이크로소프트 윈도 (시그윈), webOS |
| 종류 | 네트워크 애플리케이션 프레임워크 |
| 라이선스 | MIT 허가서 |
| 웹사이트 | http://nodejs.org/ |
Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. Node.js는 작성언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리성능을 가지고 있다.
Node.js는 내장 HTTP 서버 라이브러리를 포함하고 있어 웹서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹서버의 동작에 있어 더 많은 통제를 가능케 한다.
개요[편집]
Node.js는 V8 (자바스크립트 엔진) 위에서 동작하는 이벤트 처리 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);
같이 보기[편집]
주석[편집]
- ↑ http://wiki.commonjs.org/wiki/Implementations/node.js
- ↑ Alex Handy (2011년 6월 24일). “Node.js pushes JavaScript to the server-side”. SDTimes. 2011년 9월 4일에 확인함.
- ↑ 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에 확인함.
- ↑ “Ryan Dahl at JSConf EU 2009”.
- ↑ “Ryan Dahl at JSConf EU 2009 Video”.
- ↑ “Porting Node to Windows”. 2 August 2014에 확인함.