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

카테고리

Happydong (1363)
프로그래밍 (156)
01.C#기초 (4)
02.C#고급 (13)
03.ASP.NET (28)
04.HTML&Script (17)
05.Silverlight (38)
06.C 언어 기초 (2)
07.iOS (14)
08.Java (5)
09.SQL (8)
10.컴퓨터보안 (10)
11.패턴이야기 (3)
12.유니티3D (1)
13.Ubuntu (7)
14.Node.js (6)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday

'프로그래밍/14.Node.js'에 해당되는 글 6건

  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
, |