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

카테고리

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

'Node.js'에 해당되는 글 7건

  1. 2014.08.07 File System 다루기 2
  2. 2014.08.06 Node Events 등록/삭제
  3. 2014.08.05 Node.js Process 객체들



ㅁ File System 모듈 추가


파일을 핸들링 하기 위해서는 File System모듈을 사용해야 한다.

파일 시스템 모듈을 사용하려면 아래 코드와 같이 정의해서 사용하면 된다. 


 var fs = require('fs'); 


ㅁ 파일 읽기

 

 파일은 동기와 비동기로 읽어 올 수가 있다. 동기 호출은 readFileSync 메서드를 이용하면 되고, 비동기 호출은 readFile 메서드를 이용하면된다. readFileSync 메서드는 fs.readFileSync(filename, [options])로 호출하며, readFile 메서드는 fs.readFile(filename, [options], callback)으로 호출한다. 


  var fs = require('fs');


  // 동기 호출

  var data = fs.readFileSync('test.txt','utf8');

  console.log(data);


  // 비동기 호출

  fs.readFile('test.txt', 'utf8', function(err, data){

      if(err) throw err;

      console.log(data);

  });

 



ㅁ 파일 확인


 파일이 존재하는지 확인하기 위해서는 비동기 확인 메서드인 exists(path, callback) 또는 동기 메서드인 existsSync(path) 를 이용한다. 


  var fs = require('fs');


  // 동기 확인

  var exists = fs.existsSync('test.txt');

  console.log(exists);


  // 비동기 확인

  fs.exists('test.txt', function(exists){

     console.log(exists);

  });



ㅁ 파일 쓰기

 

 파일 쓰기 위해서는 비동기 메서드인 writeFile(filename, data, [options], callback) 또는 동기 메서드인 writeFileSync(filename, data, [options])를 사용하면 된다. 


  var fs = require('fs');


  // 동기 파일 쓰기

  fs.writeFileSync('test.txt', 'Dong Wook Kim', 'utf8');


  // 비동기 파일 쓰기

  fs.writeFile('test.txt', 'Dong Wook Kim', 'utf8', function(err){

      if(err) throw err;

      console.log('Success!!');

  });



** 동기 호출과 비동기 호출의 차이점은 동기 호출의 경우 비동기 메서드명 뒤에 "~Sync"라는 접미사가 붙는다. 


기타 다양한 API확인은 아래 링크를 참고하자.

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





Posted by happydong
, |



이벤트 등록과 삭제는 기존 자바스크립트와 비슷하다. 모 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
, |