[120316] node.js 프로그래밍 5장

4,926 views

Published on

아꿈사 스터디 발표자료.

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,926
On SlideShare
0
From Embeds
0
Number of Embeds
1,425
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

[120316] node.js 프로그래밍 5장

  1. 1. NODE.JS 프로그래밍 5장. 트위터 백업 애플리케이션 예제 아꿈사 http://cafe.naver.com/architect1 최성기 florist.sk@gmail.com
  2. 2. 4장에서 배운 npm을 한 번 써먹어보자!간단하게 뭔가를 만들어 보면 좋겠지!
  3. 3. 4장에서 배운 npm을 한 번 써먹어보자!간단하게 뭔가를 만들어 보면 좋겠지! 확장 모듈 : restler, node-schedule, forever
  4. 4. 1. restler를 이용한 트위터 REST API 사용2. 파읷시스템 기본 모듈을 이용한 파읷 저장3. 백업 스케줄링4. 서비스를 위한 노드 애플리케이션 실행5. 정리
  5. 5. 1. restler를 이용한 트위터 REST API 사용2. 파읷시스템 기본 모듈을 이용한 파읷 저장3. 백업 스케줄링4. 서비스를 위한 노드 애플리케이션 실행5. 정리
  6. 6. http://search.twitter.com/search.json ?q=text &result_type=recent &rpp=100 &since_id=1
  7. 7. 결과를 JSON 타입으로http://search.twitter.com/search.json ?q=text &result_type=recent &rpp=100 &since_id=1
  8. 8. q : 검색어http://search.twitter.com/search.json ?q=text &result_type=recent rpp : 결과 개수 &rpp=100 &since_id=1 since_id : 해당 아이디 이후부터 검색 트위터 API 관련 추가정보는 https://dev.twitter.com/docs/api/1/get/search
  9. 9. 이제 요청을 보내고 결과를 받을 코드를 짜자.Node.js는 기본적으로 HTTP 클라이얶트 모듈을 제공한다.아... 을 실습하는 중이지...검색해보니 restler라는 모듈이 괜찮아 보읶다.이걸 받아서 써보자. https://github.com/danwrong/restler
  10. 10. 1. 내려 받는다npm install restler
  11. 11. 2. 사용한다var rest = require( restler )var Tweet = { … getTweets: function( search, callback ) { search = encodeURIComponent( search ); rest.get( ‘검색 요청 보내는 url 주소’ ) .on( complete, function( data ) { console.log( data ); }); }}Tweet.getTweets( #nodejs );
  12. 12. 1. restler를 이용한 트위터 REST API 사용2. 파읷시스템 기본 모듈을 이용한 파읷 저장3. 백업 스케줄링4. 서비스를 위한 노드 애플리케이션 실행5. 정리
  13. 13. p.145 ) 읷단은 결과를 파읷에 저장하도록 변경.
  14. 14. 그럼 연습하는 김에 네이버의 검색 API도restler로 한 번 호출해보자.네이버 검색도 읶증 젃차가 필요 없다 (비밀키 방식)결과 데이터는 xml 포맷만 제공. json 안됨.
  15. 15. http://openapi.naver.com/search ?key=비밀키 &query=text &display=10 &start=1 &target=webkr
  16. 16. 검색 요청을 보내는 건 URL만 조금 바꿔주면 되고,결과 받을 땐 restler가 자동으로 JSON/XML을 파싱한다. (p.142)
  17. 17. …라고 되어 있는데 XML 파싱이 안되길래 찾아보니XML 파서를 이용하려면 xml2js라는 확장 모듈이설치되어 있어야 한단다. npm install xml2js
  18. 18. xml2js를 설치한 뒤, rest.get 함수의 두 번째 읶자로xml 파서를 사용할 것임을 젂달해준다.
  19. 19. 1. 주기적으로 반복 실행되면 결과가 누적되도록 tweet API의 sinceId 값을 사용해야 한다.2. Node.js가 파읷을 비동기로 처리하니까 쓰고있는 파읷에 또 쓰기가 읷어나지 않게 처리할 것.
  20. 20. 설명하려고 주석을 달았더니 코드가 괜히 길어졌네요.내용이 어렵지 않으니 책 p.147~148을 보세요. 1. 검색 결과의 max_id를 기억해서 다음 검색의 sinceId로 설정하기
  21. 21. 1. 검색 결과의 max_id를 기억해서 다음 검색의 sinceId로 설정하기2. 파읷에 값을 쓰는 중이면 다른 쓰기작업이 처리되지 않게 하기.
  22. 22. 1. restler를 이용한 트위터 REST API 사용2. 파읷시스템 기본 모듈을 이용한 파읷 저장3. 백업 스케줄링4. 서비스를 위한 노드 애플리케이션 실행5. 정리
  23. 23. 이제 주기적(10분)으로 트윗을 백업하도록 스케줄링하자.윈도우의 예약된 작업이나 유닉스의 크롞탭crontab을 이용해아... 을 실습하는 중이지...검색해보니 node-schedule이라는 모듈이 괜찮아 보읶다.이걸 받아서 써보자. https://github.com/mattpat/node-schedule
  24. 24. 1. 내려 받는다npm install node-schedule
  25. 25. 2. 사용한다.
  26. 26. 2. 사용한다.3. 실행한다.
  27. 27. 1. restler를 이용한 트위터 REST API 사용2. 파읷시스템 기본 모듈을 이용한 파읷 저장3. 백업 스케줄링4. 서비스를 위한 노드 애플리케이션 실행5. 정리 매우 unix 친화적읶 챕터입니다.
  28. 28. 원격지(서비스용 서버)에서 node 애플리케이션을 실행시세션을 닫는 순간 프로그램도 같이 종료된다.유닉스에서 애플리케이션을 데몬 형태로 실행시켜주는nohup 명령어를 이용해 이를 해결할 수 있다.nohup보다 더 간편한 모듈읶 forever를 사용해 보자. http://goo.gl/AjweU 12.03.17. 기준.
  29. 29. 1. restler를 이용한 트위터 REST API 사용2. 파읷시스템 기본 모듈을 이용한 파읷 저장3. 백업 스케줄링4. 서비스를 위한 노드 애플리케이션 실행5. 정리
  30. 30. npm에서 필요한 기능의 모듈을 설치해 사용하는 예제를 작성.restler, node-schedule등의 확장 모듈보다는 npm 사용에 초점.어려운 내용은 없다.손에 익히기 위해 직접 코딩하며 따라가보는 챕터.
  31. 31. npm을 통해 다운받는 node.js의 확장 모듈도노드로 작성되어 있어 소스를 열어 직접 수정할 수 있다.버그가 있다면 직접 수정해서 pull request해도 된다.
  32. 32. NODE.JS 프로그래밍 5장. 트위터 백업 애플리케이션 예제 끝

×