node.js 란 무엇인가?
- 서버 사이드 자바스크립트 기술.
- 모든 API는 이벤트 지향 비동기 API.
- 비동기 처리 특성에 의한 동시 접속 처리 능력이 월등히 뛰어남.
- 오픈소스로 모듈에 대한 커뮤니티가 활성화가 잘 되어있다.
- js 파일 하나가 하나의 모듈
- 각각의 모듈은 기본적으로 외부에서 접근할 수 없으나, module.exports 를 통해 외부에 오픈할 변수나 함수를 정의할 수 있다.
- 반대로 require 는 다른 외부 모듈( js ) 를 가져올 수 있으며, 해당 모듈에서 module.exports 로 정의한 변수나 함수를 사용할 수 있다.
- Node는 다음과 같은 기본 모듈을 가진다.
* Process : 프로세스에 대한 정보를 담고 있는 전역 객체
* Utilities : 타입 검사, 포맷팅 등의 유틸 함수 제공
* Events : 이벤트 관련 함수 제공
* Buffers : 바이너리 데이터의 옥텟 스트림을 다루는 모듈
* Streams : 스트림을 다루기 위한 추상 인터페이스
* Crypto : 암호화에 대한 함수 제공
* TLS/SSL : 공개키/개인키 기반인 TLS/SSL 에 대한 함수 제공
* File System : 파일을 다루는 함수 제공
* Path : 파일의 경로를 다루는 함수 제공
* Net : 비동기 네트워크 통신 기능 제공
* UDP / Datagram Sockets : UDP의 데이터그램 소켓 통신 기능을 제공.
* DNS : 도메인 네임 서버를 다루는 함수 제공
* HTTP : HTTP서버와 클라이언트 기능을 제공
* HTTPS : HTTPS 서버와 클라이언트 기능을 제공
* URL : URL을 다루는 함수 제공
* Query Strings : URL의 쿼리 문자열을 다루는 함수 제공
* Readline : 스트림에서 라인 단위로 읽는 기능을 제공
* Vm : 자바스크립트를 실행하는 기능을 제공
* Child Processes : 자식 프로세스 생성과 관련된 함수를 제공
* Assert : 유닛 테스트를 위한 단언문을 제공
* TTY : 터미널이나 콘솔 관련 기능을 제공
* Zlib : zlib 압축 함수를 제공
* OS : 운영체제에 대한 정보를 제공하는 함수를 제공
* Cluster : 여러 노드 프로세스를 실행하는 클러스터 기능을 제공
'프로그래밍 놀이터 > Web' 카테고리의 다른 글
[Script] Backbone.js 란? (0) | 2012.09.18 |
---|---|
[Script] NPM 이란? ( Node Package Manager ) (0) | 2012.09.18 |
[Database] MongoDB 가 무엇인가? 특징은? (0) | 2012.09.18 |
[Database] NoSQL 이란 무엇인가? ( SQL이 아니라구?? ) (0) | 2012.09.18 |
[HTML] REST or RESTful 이 뭔가요? ( Representational state transfer ) (0) | 2012.09.18 |
댓글