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에서 다운 받아서 사용