검색결과 리스트
tweet search에 해당되는 글 1건
- 2014.01.18 [프로젝트] Tweech (1)
글
[프로젝트] Tweech
1. 기본사항
시스템명: Tweech
주관기관: 앳게임
개발인원: 5명
프로젝트 기간: 2010.08.02 ~ 9.17
2. 프로젝트 소개
SNS 시장에서 트위터 서비스의 점유율이 빠른 속도로 증가함에 따라 트위터를 통한 정보와 지식 공유의 수준 역시 나날이 높아지고 있다.
Tweech 앱은 미국 내 트위터 서비스 이용자들을 대상층으로 한다. 단순한 키워드 검색 서비스를 넘어서서 사용자를 대변하는 Bot(로봇)을
Following 함으로써 관심있는 분야에 대한 최적의 글을 자신의 타임라인에서 구독할 수 있는 앱이다.
이런 검색시스템을 바탕으로 트위터 사용자들이 작성한 메시지들의 패턴을 분석하여 사용자와 유사한 유형을 가진 다른 사용자들을 추천해주는
기능을 제공한다. 트위터 검색시스템 구축을 1차 목표, 로봇 및 성향 분석 모듈 구축을 2차 목표로 하며, 현재 버전에서는 1차 목표까지 완료하였다.
3. 개발환경
타겟 시스템: iPhone 3GS
SDK: Java 5, iPhone SDK 3.0, Apache Lucene 3.0
언어: Java, Objective-C
프레임워크: iBATIS 2.3, Spring2.5, SpringMVC
분석/설계도구: Visual Paradigm
개발도구(IDE) : Eclipse 3.6, Xcode 3
서버 운영체제: CentOS 5.4
애플리케이션 서버: Apache Tomcat 6.02
데이터베이스: MySQL 5.1
[iPhone Client]
OAuth 인증처리 및 사용자 계정관리 (Objective-C / C언어 사용)
Third Party 라이브러리를 사용하지 않고, 웹 서비스 자원 오픈 표준인 OAuth 인증처리를
구현하였다. 최대 5개까지의 트위터 계정을 등록할 수 있으며, 최초 등록 시 OAuth 인증과정을
거치게 된다.
Tweeter API (Follow / Favorite / Retweet) 요청 및 처리 (Objective-C 언어 사용)
Tweeter API와 연동하여 검색된 트윗글을 북마크하고, 리트윗하는 기능을 구현하였다. 또한
트윗글 작성자를 팔로우하는 기능도 제공한다.
[Server]
색인기(Indexer) 모듈 (Java 언어 사용)
Apache Lucene 3.0 검색 라이브러리를 사용하여, 분석기를 구현하였다. Crawler 모듈에서 수집된 트윗글을 네트워크로 전송 받아 파일시스템에 색인파일을 생성한다.
[iPhone Client]
OAuth 인증처리 및 사용자 계정관리
OAuth 인증처리 과정은 다음과 같다. Tweeter API 지원 페이지에서 Third Party 앱으로
등록하면 Consumer Key, Consumer Secret 값이 발급된다. 이 값과 사용자부터 입력 받은
트위터 서비스 UserName과 Password를 바탕으로 OAuth 인증 URL로 접속하여 Request
Token 요청, Acces Token 요청과정을 거쳐 최종적으로 Access Token을 획득하게 된다.
Access Token은 사용자 데이터에 접근을 허용하는 일종의 허가권으로 인증이 요구되는 트위터
API 사용시 필요한 값이다. OAuth 구현시 트위터 OAuth 도움말 페이지 및 OAuth Core1.0 Spec을 참고하여 구현하였다.
최대 5개까지의 계정을 등록하여 사용할 수 있으며, 등록 요청을 받은 계정정보는 유효성 검사
후 OAuth 인증처리를 거치게 되며, 성공시 iPhone SQLite 데이터베이스에 저장된다.
6-2.색인기(Indexer) 모듈
색인기(Indexer) 모듈
색인기 모듈은 Java 언어를 사용하여, Apache Lucene 3.0 오픈소스 검색 라이브러리를 사용하여 구현하였다.
Crawler가 수집한 트윗글(Status) 목록을 네트워크를 통해 전송 받아, 색인파일을
생성하는 역할을 한다. Crawler가 수집한 트윗글 목록이 끊임없이 전송되기 때문에 지연없이
색인을 생성하는 것이 핵심이 된다. 색인속도가 전송되는 트윗글의 속도를 따라가지 못하게 되면 메모리 부족현상이 발생하게 된다.
성능을 향상을 위해 5개의 쓰레드로 동작하며, 100건 단위로 트윗글을 메모리에 색인한다. 빈번한 파일 색인 생성작업은 가장 CPU
자원을 소모하기 때문에 1000건의 트윗글이 메모리에 색인되면 파일색인을 생성하도록 처리하였다.
색인된 파일들은 NFS(Network File System)을 통해 검색기 모듈에 의해 참조된다.
빠른 검색을 지원하기 위해서 증가하는 색인파일들을 주기적으로 최적화하여 색인파일의 개수를
줄이고 정리해야한다. IndexerOptimizer는 색인기 모듈 구동과 동시에 지정된 시간 후에
일정 주기로 색인파일을 최적화 한다.
7. 주요화면
|
|
|
|
|
'언어로그 > 프로젝트로그' 카테고리의 다른 글
| [프로젝트] Tweech (1) | 2014.01.18 |
|---|---|
| [프로젝트] 분실물 다나와 (1) | 2014.01.18 |
| [프로젝트] StarOS를 아시나요? (0) | 2014.01.18 |