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

카테고리

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



 페이스북이 웹개발 언어인 자바스크립트를 사용해 애플 iOS 운영체제가 탑재된 기기용 앱을 개발할 수 있는 도구인 '리액트 네이티브 프레임워크'를 오픈소스로 풀었다. 



'리액트 네이티브 프레임워크'는 웹 개발 언어로 많이 쓰이는 자바 스크립트를 사용해 iOS 기기용 앱 사용자 인터페이스(UI) 개발을 가능케 한다.  HTML5 등 웹표준 기술을 사용해 모바일 앱 UI를 개발할 수 있는 페이스북 자바스크립트 프레임워크인 '리액트'의 일종이다.


>> 자세한 내용은 원문을 참고 바란다.

[바로가기]

출처 : http://news.naver.com/main/read.nhn?mode=LS2D&mid=shm&sid1=105&sid2=283&oid=092&aid=0002071950


오픈소스 사이트 : http://facebook.github.io/react-native/


Posted by happydong
, |



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