News On Me2day

From Doowon Kim

Jump to: navigation, search

Contents

개요

  • 동기
    • TweetGuru를 보고 재미삼아 미투데이로도 받을 수 있게 한번 만들어 보았다.
  • 목적
    • 구글 앱엔진을 한번 사용해본다.
    • Python를 익힌다. (Java로도 디플로이가 가능해서 개발 언어를 Java로 변경)
  • 사용언어 : Java
  • 개발환경 : Eclipse
  • 개발기간 : 2009.05

설명

  • 개념
    • 구글 앱 엔진에 등록된 Java 프로그램이 일정시간마다 실행되어 새로운 소식 게시판에 글이 올라왔는지 판단을 한다.
  1. 만약 새로운 글이 올라왔다면 제목과 URL를 DB에 저장을 한다.
  2. 새로운 글이 없다면 아무일도 수행하지 않는다.
    • 구글 앱 엔진에 등록된 또 다른 Java 프로그램이 일정시간마다 실행되어 DB에 제목과 URL이 저장되어 있다면 미투데이로 전송을 한다.
  • 구현
    • clien2me2day.java : 클리앙 새로운 소식 게시판에 새로운 글이 올라왔는지 판단
  1. Clien 새로운 소식 게시판 RSS feed를 이용
  2. ROME API를 이용하여 RSS feed를 Parsing한다.
  3. 작성된 시간과 DB에 저장되어 있는 업데이트 시간를 비교하여 업데이트 시간보다 이후라면 DB에 URL와 제목을 저장한다.
    • me2dayPosting.java : DB에 위에서 저장한 URL과 제목이 있다면 미투데이에 전송을 한다.
  1. Me2day java API를 이용하여 포스팅한다.


후기

  • 처음에는 Clien RSS feed로 부터 시작해서 RSS feed Parser, 미투데이 포스팅 API까지 다 구현하려고 했으나 이 프로그램의 목적이 단순히 Google App Engine을 한번 맛 보는 것이기 때문에 위의 2개 API를 가져다 사용함.
  • 저 위의 2개(RSS Feed Parser, 미투데이 포스팅 API)가 만약 오픈소스가 아니었다면 저것들을 다시 구현해야 되는데 그에 따르는 시간적 소모가 엄청나다. 이번 계기로 오프소스의 중요성을 더 한번 느낌.

개발일지

  • 개발 중 생각치 못했던 문제점
    • 미투데이는 한번 포스팅하면 10초를 기다려야 한다.
      • 결국 me2dayPosting.java 파일을 새로 만들어서 Cronjob에 올린다.(총 2개 Cronjob이 돌고 있음)
  • 수정해야 할 사항
  1. clien2me2day.java가 실행될 때 db에 쓰레기 값이 하나 들어간다.(2009.5.22)
  2. 제목에 댓글수가 표시되는데 [10]와 같이 십의 자리가 넘어가면 ‘[’가 표시된다. 현재 뒤에서 3자리만 지우도록 함.(2009.5.22)
  3. feed parsing 시 시스템 리소스를 많이 차지함
  4. 제목에 콤마가 들어가면 링크가 깨진다.(2009.5.22)
  5. 2009.5.24 일 같은 게시물이 올라간다.
    1. 원인 : 게시판 rss feed가 시간순으로 정렬되지 않았고 구글 앱 엔진의 디비 확장으로 인해 디비가 꼬여서그런거 같습니다.
  • 추가해야 할 사항
  1. 현재는 새로운 소식만 미투데이에 포스팅하는데 강좌게시판이나 다른 게시판의 글도 포스팅할 수 있도록 이 프로그램를 확장한다.

미투데이 주소는 http://me2day.net/clien_news 입니다.

참고 자료

Personal tools