블로그 이미지
내게 능력 주시는 자 안에서 내가 모든것을 할수 있느니라 - 빌립보서 4 : 13 - happydong

카테고리

Happydong (1363)
프로그래밍 (156)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday

'2014/08'에 해당되는 글 7건

  1. 2014.08.06 Node Events 등록/삭제
  2. 2014.08.05 Node.js Process 객체들
  3. 2014.08.05 Node REPL(Read-Evaluate-Print-Loop)



이벤트 등록과 삭제는 기존 자바스크립트와 비슷하다. 모 node가 자바스크립트 기반이니깐 당연하지!! ^^ 


 ㅁ Event등록


 이벤트 등록은 addListener 또는 on을 이용하여 등록 할 수 있다. 


 var firstEventHandler = function(){

  // 내용

 } 

 process.addListener('exit', firstEventHandler);


 var secondEventHandler = function(){

  // 내용

 }

 process.on('exit', secondEventHandler);



 on과 addListener 메서드 모두 동일한 기능이므로, 가독성이 좋은 on메서드를 주로 사용하자. node에서는 동일한 이벤트가 10개 초과 등록되면 에러가 발생한다. 이때 setMaxListeners(n) 메서드를 이용하여 필요 시에 추가적으로 설정해주면 에러가 발생하지 않는다.


 ㅁ Event삭제


 이벤트 삭제는 removeListener 메서드로 삭제할 수 있으며, 해당 이벤트 모두 삭제 하고 싶으면 removeAllListeners메서드를 이용하면 된다. 


 var errorHandler = function(e){

  // 내용

 } 

 // 등록

 process.on('uncaughtException', errorHandler);

 // 삭제

 process.removeListener('uncaughtException', errorHandler);

 // 모든 이벤트 삭제

 process.removeAllListeners('uncaughtException');



ㅁ Event 발생

 

 emit 메서드를 이용해서 강제로 이벤트를 발생 시킬 수 있다. 


  process.on('fnTest', function(){

      // 내용

  });


  process.emit('fnTest');



Posted by happydong
, |



node.js에서 Process객체를 console.log로 출력해보면 다양한 것들이 있음을 알수 있다. 


[그림 1 - process 로그 출력화면]


다양한 Process객체들의 API정보는 아래 링크에서 확인 할 수 있으며, 예제도 있다. 


- http://nodejs.org/api/process.html (바로가기)


Posted by happydong
, |



Node REPL(Read-Evaluate-Print-Loop)는 커맨트 창에서 "node"라고 명령어를 날리면, 실행된다. 


[그림 1 - node REPL 진행화면]


 [그림 1]과 같이 node명령어를 날리고, ".help"명령어를 날려 보자. (Node REPL의 모든 명령어는 "."로 시작하는 특징이 있다.)



명령어 

 내용

 .break

  현재 구동 중인 작업을 종료하고 대기 상태로 변경합니다.

 .clear

 현재 context를 초기화합니다. 이는 Node.js를 재실행하지 않더라도 사용 중이었던 모든 변수 및 클로저 등을 깨끗이 정리해줍니다.

 .exit

  Node REPL을 종료 합니다. <Ctrl>+<D>키와 같습니다.

 .help

  도움말 메뉴를 출력합니다.

 .load

  js파일을 REPL 세션으로 적재합니다.

 .save

  현재 수행 중인 REPL 세션에서 실행하였던 모든 명령어들을 파일로 저장합니다.



Posted by happydong
, |