24기 14학번 김성민입니다.

angle's camp 때 만든 트위터 봇에 대한 후기

[[Tableofcontents]]
== API ==
 * Application Programming Interface의 약자
  * 프로그램을 만들 때 필요한 interface의 묶음
 * 브라우저 주소창에 javascript:alert("Zeropage DevilsCamp") 
  * alert 창을 우리가 구현하지 않았음
  * 여러 이미지부터 버튼 이벤트 구현까지..
 * application을 개발하기 쉽게 만들어 놓은 것이 api
 * 여러 사람들이 미리 만들어 놓은 api를 이용

== Twitter API ==
 * Twitter4J라는 API
  * JAVA를 사용
  * JAVA Doc으로 사용법을 쉽게 알 수 있음
  * 상대적으로 사용하기 쉬움

 * API 사용법?
  * JAVA Doc이라는 문서에
  * 또는 API 제작사의 웹사이트

== Design ==
 * 설계
  * 무슨 기능, 어떤 역할을 할 지
  * 기능
   * 트윗 보내기
   * 키워드 검색
   * 타임라인 분석
   * 멘션에 반응하기
   * 마음(좋아요) 표시
  * top down 설계로
  * API를 사용하여 기능을 조금 더 쉽게 기능을 구현
  * 트위터 API를 사용하기 위해서는 개발자 인증을 먼저 받아야 함(dev.twitter.com)

 * API를 사용한 구현
  * 한줄짜리 코드로 트윗을 보낸다!
  * 세줄로 특정 문자열을 포함하는 트윗을 찾는다!
  * 개발!
  * 한다!

== Implementation ==
 * 구현한 기능
  * 자동 트윗 ( 문장 ), ( 아이디, 문장 )
  * 특정 키워드로 검색 후, 최근순으로 저장
  * Bot이 Following 하고 있는 User List 저장
  * Bot이 Following Users의 TimeLine 최신순으로 가져와서 List에 저장
  * TimeLine의 문장들 중, “자살”이 있으면 자살 방지 문구 전송
  * 중복 트윗을 방지하기 위해, 이미 멘션 보낸 글은 “마음”표시

 * 만들 때는 bottom up으로   

== QnA ==
 * API는 twitter4j.org에서 다운 받아서 사용