본문 바로가기
프로그래밍 놀이터/Web

[Script] node.js 란 무엇인가?

by 돼지왕 왕돼지 2012. 9. 18.
반응형

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 : 여러 노드 프로세스를 실행하는 클러스터 기능을 제공

 





반응형

댓글