사용자 도구

사이트 도구


lifemotif:start

문서의 이전 판입니다!


LifeMotif: GMail-based Private Diary System

Desktop

Concept

플랫폼 선택에 있어

LifeMotif는 일단 '오픈(open)'되게 나갈 생각이다. 그러므로 가능한 한 여러 플랫폼을 지원할 수 있도록 만들었으면 좋겠다. 이것은 빌드된 바이너리 뿐만 아니라 소스 코드에도 해당된다. 그러므로 어떤 특정한 플랫폼만 지원하는 기술은 사용하지 않았으면 좋겠다.

C#의 경우 문법적으로도 깔끔하고, 여러 좋은 점이 많지만 Microsoft에 묶여 있다는 인상을 접기 어렵다. 여러 플랫폼을 아우를 수 있는 라이브러리로 Qt가 있으므로 Qt를 사용하고, C++를 사용하도록 하는 것이 좋다고 판단하였다.

OAuth나 이메일 데이터를 가져오는 네트워킹 파트에서는 Python을 사용하는 것이 간결하고 더 효율적인 것으로 생각한다. 또한 네트워크가 아닌 부분 있어 왠만한 부분들은 표준 C++ 기능을 이용하여 Qt를 이용하지 않더라도 큰 문제 없이 동작하도록 하자.

현재 Visual Studio에 많이 의존하여 코드를 작성하였지만 빌드, 배포 보두 여러 플랫폼을 고려하도록 작성하도록 한다.

주요 기능

  1. 인증 기능 (authenticate)
    • Gmail로부터 사용자의 이메일 계정에 접근할 수 있도록 허락받는 기능
    • Gmail 서버로부터 access token, refresh token을 받아 오는 기능
  2. 이메일 리스트 가져오기 (email listing)
    • 이메일 서버로부터 유저가 정한 메일함으로부터 이메일 목록을 가져오는 기능
    • 이메일이 전달된 날짜를 바탕으로 언제 쓰여진 일기인지 파악
  3. 이메일 데이터베이스
    • 이메일을 날짜별로 분류함. GMail은 이메일을 제목을 기반으로 하나의 대화로 묶는 기능이 제공되므로 대화 단위로 데이터베이스를 작성함.
  4. 일기 보기
    • 이메일, 즉 일기 하나를 가져와서 출력하는 기능
    • 이메일 raw data의 파싱이 필요함.
lifemotif/start.1389338423.txt.gz · 마지막으로 수정됨: 2014/10/09 21:23 (바깥 편집)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki