HTML5 를 계기로 copy & paste 가 아닌 언어로서의 javascript 학습을 시작하였습니다.

그러던 중 이제서야 node.js 를 접하게 되고... 요놈 참...

- node.js 공식 사이트 : http://www.nodejs.org/
- 국내 참고 사이트
   . Outsider 님 블로그 : http://blog.outsider.ne.kr/
   . andrwj 님 블로그 : http://ajaxian.kr/

node.js 가 무엇인지는 Outsider 님이 2011년 1월 29일(토)에 봄싹 스웨거에서 발표하셨다는 따근따근한 아래의 자료를 보시면 좋을 것 같습니다.

View more presentations from rockdoli.

위의 자료와 더불어 2010년 11월 마이크로소프트웨어 컬럼에 기고된 내용 중 일부를 아래에 인용해 봅니다.

 node.js 란 무엇인가?

- node.js 는 구글이 개발해서 현재 크롬 브라우저에 탑재되어 있는 자바스크립트 엔진인 V8 을 기반으로 만들어진
   서버사이드 자바스크립트입니다.
- node.js 는 V8 의 기능을 자바스크립트를 통해 사용할 수 있도록 만들어진 wrapper 라고 말할 수 있습니다.
- node.js 는 V8 이 내부적으로 특정 기능을 수행하는 과정에서 유저가 등록한 callback function 을 호출해 주도록 합니다.

 node.js 의 design goal

- Function 은 직접 I/O 에 연결되지 않습니다.
- 저수준(low-level)을 지향하며, 스트리밍으로 모드 것을 처리하되 데이터 버퍼링을 강제하지 않습니다.
- TCP, DNS, HTTP 등의 중요한 프로토콜에 대히 빌트인 형태로 지원됩니다.
- 다양한 HTTP 기능들을 지원합니다.
- 클라이언트 사이드 자바스크립트 프로그래밍과 비슷하며, 동시에 과거의 유닉스 시스템 프로그래밍과도 친숙합니다.

 node.js 의 아키텍처

- V8 : 자바스크립트 엔진
- libev : Event loop 라이브러리
- libeio : 비동기 I/O 라이브러리
- c-ares : 비동기 DNS를 지원하는 오픈 소스
- opnSSL : 암호화 라이브러리
- node bindings : C/C++로 구현된 시스템 바인딩 레이어
                            (여기에서 socket, http등의 통신 기능이 제공되지만 DOM에 관한 기능은 제공되지 않는다.)
- node standard library : 유저가 실질적으로 V8의 기능을 사용하기 위해 사용하게 될 자바스크립트 라이브러리,
                                      이를 통해 node bindings에 접근할 수 있다.

저작자 표시 비영리 변경 금지
신고
Posted by JuHoi