Recent Post»

Recent Comment»

Archive»

« 2025/1 »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Twitter4J 설치/테스트

Open API | 2010. 6. 16. 16:51 | Posted by LuRan

Twitter API는 http://apiwiki.twitter.com/ 에서 세부 정보를 찾아볼 수 있다.

합병되기 전/후의 두 개의 회사가 연관되어 있어, 두 개 (혹은 세 개)의 API 그룹으로 구성되어 있다.

HTTP 기반의 프로토콜인데, 여러 언어로 라이브러리가 공개되어 있다.

그 중, java로 공개된 라이브러리로는 Twitter4J, java-twitter, jtwitter 등이 있으며,

사용자 층이 두텁고, 업데이트가 최근까지 가장 활발한 Twitter4J를 선택하여 일부 메소드를 테스트해 보았다.


1. Twitter4J의 공식 사이트 : http://twitter4j.org/


2. Twitter4J의 활용예 (* YouTube 동영상 참조 : http://www.youtube.com/watch?v=2-iz5CduZdw)

  * 위의 예는 NetBeans를 활용한 예임


3. 설치하기(on Eclipse)

  • 위의 사이트에서 해당 라이브러리를 다운로드한다.

  • 다운받은 파일을 적당한 곳에 압축해제한다.

  • Eclipse에서 새 프로젝트를 하나 생성한다. 예 : TwitterTest

  • Runtime Library로 twitter4j-core-2.1.3-SNAPSHOT.jar와 twitter4j-httpclient-support-2.1.3-SNAPSHOT.jar를 설치한다.


4. 특이사항

  • 위의 동영상에는 나와 있지 않았고,  위의 설치과정 후 테스트 코드를 간략하게 작성하여 실행하였을 때 추가적으로 필요한 라이브러리가 있는 것으로 확인함

  • apache 사이트로부터 다음 파일들을 별도로 구한 후, runtime library build path에 추가한다.
    • httpcomponents-client-4.0.1-bin.zip (이 속에 있는 모든 jar)
    • httpcomponents-core-4.0.1-bin.zip (이 속에 있는 모든 jar)
    • apache-mime4j-0.4.jar
    • commons-loggin-1.1.1.jar

5. 테스트

  • 나의 timeline 가져오기
twitter = new TwitterFactory().getInstance("yourid", "yourpassword");
List statusList = twitter.getFriendsTimeline();
System.out.println("");
for(Status status : statusList) {
    System.out.println(status.getUser().getName() + ":" + status.getText());
}

[결과]


오상영:twhirl (windows용)에서는 검색어 입력에 한글이 되지 않는 것 같네요. 방법이 따로 있나요?
유시민:오늘점심은피자시켜먹었어요. 떨어진사람이식당돌아다니면서 인사받기도민망하고 왠지좀그래서^^;;;;;;
Kyuhwan Yun:@HeyMrJee 요즘 모기들이 진화하고 있나봐요 ㅎㅎ
유시민:자꾸무효표논란이있고 누가찍었니안찍었니 얘기들이나오니 마음이무거워서 긴글하나올렸습니다.
너무길어서트윗에는못썼어요.www.usimin.net에올렸어요
Kyuhwan Yun:@kicu2000 오늘 아침 스포츠 뉴스에서 스페인 1.5군이 출전했다고 했음 ㅋ
오상영:김연아 금메달을 국제기록문화전시회에서 보고 왔습니다. http://yfrog.com/0diavvj
JK Jee:http://bit.ly/dx5eQK “방송사에서는 물고기를 방류하는 현장 화면을 찍지 못해 보도를 못한다고 말한다.
그럼 천안함 사건의 경우 어뢰가 터지는 순간을 방송사 기자들이 직접 봐서 관련 보도를 내보내고 있느냐.”
김주하:성적에 상관없이 우리모두 하나됨이 더욱좋죠^^ 바램은 우승! ㅎㅎ RT @talkeee: @kimjuha 이번 월드컵
한국대표팀 성적 예상 어떻게 하시나요 ^^
최용석:아…넵 허승준님 반갑습니다…즐거운 주말보내세요…^^ RT @SJHuh: @myclex 어제 인사드린 허승준입니다 ^^ 강연
잘 들었습니다. 지나치게 편안한(응?!!) 분위기 속에서의 강연이라 힘드셨을 … http://dw.am/L2zCi
김주하:계정을 선물받고 시작했어요. RT @MobiusHolic: @kimjuha 김주하아나운서님은 어떤계기로 트위터를
시작하신건가요?
JK Jee:@kyuhwany 예리한 모기인걸…
김주하:네. 예전 PC 통신시절에 바로만나자는 것을 번개라고 @kimseongjoo 님께서 시작하셨다고 알고 있습니다. RT
@Ruingarden: @kimjuha 혹시 번개라는 단어가 어떻게해서 나왔는지 아세요? 하늘에서 내리는 번개말구요ㅋㅋ갑자기
궁금해져
Autodesk Korea:[이벤트] 솔루션데이행사 http://durl.kr/mg9y 를 RT & 행사등록 회원ID를
보내주신 10분께 달콤쌉사름한 던킨교환권(6천원)을 드립니다! 마감6시/발표6시반! #autodesk_event
CNN Breaking News:BP positioning cap over ruptured well in Gulf of
Mexico. Watch live http://live.cnn.com/
Autodesk Korea:[이벤트 예고] 솔루션데이 3번째 트윗이벤트 공지합니다! 던킨도너츠 교환권 10분의 주인공은
누구일까요? 두둥~이벤트는 11시에 소개되고 당첨자는 6시반 발표!~많은 참여부탁드려요~#autodesk_event
YONG HO LEE:@HeyMrJee 축구 스페인이 1.5가 출전한 느낌이~~ ㅎㅎ
김주하:아닙니다!! 모꼬지 신청하시면 @twtbs에서 DM 으로 안무 영상 보내드려요. RT @ehdwnek: @kimjuha
주하님~똑같이하는거에요??도레미송으루?? ㅋ
김주하:제 춤이 그리 보고싶으세요? ㅠㅠ RT @ROSAinSeoul: @kimjuha 네! 받은지 이틀정도되었어요 밥먹고
소화시키면서 연습했는데요 한번만해도 헥헥 아나운서님도 그간 바쁘셨으니 오늘 맹연습 하셔야죠^^ 자봉만하지 말고 함께해요!^^

  • DirectMessage 보내기
Place p = twitter.getGeoDetails("thatseeyou");
System.out.println("name:" + p.getName() + ",country:" + p.getCountry() + ",fullname:" + p.getFullName() +
    ",placetype:" + p.getPlaceType() + ",street address:" + p.getStreetAddress() + ",URL:" + p.getURL());
[결과]
오과장님이 수신 확인해 줌


  • GeoQuery 하기
GeoQuery gq = new GeoQuery("74.125.71.104");     // 74.125.71.104 : google.com
ResponseList list = twitter.getNearbyPlaces(gq);
for(Place p : list) {
    System.out.println(p.getFullName());
}
[결과]
San Jose, CA
Fremont, CA
Palo Alto, CA
West Santa Clara, CA

  • Search 하기
Query query = new Query("김연아");
QueryResult result = twitter.search(query);
List tweetList = result.getTweets();
for(Tweet tweet : tweetList) {
    System.out.println("[" + tweet.getFromUser() + "] : " + tweet.getText());
}
[결과]
    [Last.fm] 이승기 – Smile Boy (Rock Ver.) (with 김연아): http://www.last.fm/music/%EC%9D%B4%EC%8A%B9%EA%B8%B0 http://bit.ly/9xoB1x
    [khmer365] : [MV HD]Lee Seung Gi (이승기) & Kim Yuna (김연아) – Smile Boy (스마일 보이): <!– // –><![CDATA[
    var oldLoad = window... http://tinyurl.com/2uo8byc
    [cathrinepark] : http://sori.la/567Sx ♥ 승리의 함성 (The Shouts Of Reds Part 2) (Featuring 김연아)-빅뱅 #soribada
    대~~ 한민국 승리의함성
    [anidia80] : @WizardJinny 김연아 식단..
    [meisiank] : #nowplaying The Shouts Of Reds Part 2 (Feat. 김연아) ♪ Bigbang ft Trans Fixion http://bit.ly/b9lPi1 via @twitbird
    [chacannara] : @refreshmyself 이쁘니 왔네?! 김연아… 비싸지…
    [zzambo] : fallowing 김연아
    [jedicat1] : ^^ 대박.뭐라 말할 수 없음 ..RT @daidai4141: RT @nubesradi: RT @gomdal: 아놔 ㅋㅋ RT @Jooru: ㅋㅋ RT @JunorArt: ㅋㅋ 김연아 코스프레 랰ㅋㅋ 촘 쩌네요 ㅋㅋ http://j.mp/dydJPu
    [nanibasuki] : Check this video out — [MV HD]Lee Seung Gi (이승기) & Kim Yuna (김연아) – Smile Boy (스마일 보이) http://youtu.be/_S1mvnOK2aY
    [RudyWorld] : @LovelyGumiii 야 김연아
    [kkakjangee] : [MV] 김연아 & 이승기 – Smile Boy http://goo.gl/yEKG
    [stickjin] : #nowplaying
    빅뱅 @BigBangOfficial ♪ 승리의 함성 (The Shouts Of Reds Part2) (Feat. 김연아)
    - YouTube http://tln.kr/5ltr
    [lunasaur] : ♥ 승리의 함성 (The Shouts Of Reds Part 2) (Feat. 김연아) by 빅뱅(Bigbang), 트랜스픽션(Trans Fixion) #lastfm: http://bit.ly/bo6nID
    [YuNarsha] : @anicheng @TrendReportFil 김연아 선수의 트위터는 @Yunaaaa 가 맞습니다. =)
    [Yellsvan] : RT @eunmars: @keybaksa @jaed74 @lec3660 @baekban @rosepeche @ad1gio  김연아 방송 결방이 결실을 맺기를 바랍니다. ;


6. 기타
  • 다음의 링크를 보면, Twitter API로 할 수 있는 일들을 예상할 수 있을 것임 (http://twitter4j.org/en/javadoc/index.html)

    예) Tweet 읽기/쓰기, 친구 목록 가져오기, Follower 가져오기, 위치정보 가져오기, Trend 조회, DM 발송/조회, 스팸 처리, 타임라인 조회, Status 조회 등

:

공공정보 활용 지원센터

정보 | 2010. 6. 14. 00:29 | Posted by 블로장생

최근에 공공정보 활용 지원센터가 문을 열었다.  인사말을 보면 아래와 같이 되어 있다.

“공공정보 활용 지원센터는 정부나 공공기관에서 공공정보를 개방하고, 민간에서 수집하여 활용하는 과정에서 생기는 다양한 애로사항을 접수하고, 상담, 지원하기 위해 설치 되었습니다.”

바람직한 일이다. 현재의 애로사항은 개별 사이트에서는 많은 정보를 제공하고 있지만 이를 활용하기 쉬운 형태인 Open API 형태는 별로 없다는 것이다.

공공정보 목록서비스라는 링크가 있어서 따라가 보았는데 현재 제공하는 내용은 공공기관 웹 사이트를 정리한 것이라고 밖에 볼 수 없을 것 같다. 추후에는 발전하여 Open API 목록도 같이 추가되는 날이 오면 좋을 것이다.

:

제1회 대한민국 앱 공모전 개최

정보 | 2010. 6. 14. 00:13 | Posted by 블로장생

한국정보화진흥원한국데이터베이스진흥원이 주관하는 ‘대한민국 앱 공모전’이 6월 14일(월) 부터 열린다.

행정안전부, 문화체육관광부, 경기도의 공동 주최로 진행되는 이번 공모전에서는 공공DB를 최대한 개방한다고 한다. 활용하기 쉬운 형태의 open API 형태로 얼마나 제공될 지는 두고 볼 일이다.

관련 기사에 따르면 “이번 공모전에서는 행사 규모에 걸맞게 관광, 교통, 환경, 법률, 교육 등 실생활과 밀접한 180여종의 공공정보와 국내 대표적인 DB사업자의 70여종 DB가 대거 제공돼, 보다 창의적이고 유용한 애플리케이션 개발에 박차를 가할 수 있을 것으로 예상된다.”고 하니 앱 형태가 아니더라도 매쉬업을 구성하는데 활용할 수 있기를 기대한다.

매쉬업을 하면서 데이터 빈곤을 많이 느끼곤 했는데 “농산물 이력정보, 상하수도 정보, 토양 지하수 정보, 수출입 물류정보, 대기 오염 정보 등 민간에서 만들기 어렵거나 일반인들이 접근하기 쉽지 않은 공공정보가 공개된다”하니 매우 반가운 일이다.

:

Script Tag Injection

자바스크립트 | 2010. 6. 6. 02:53 | Posted by 블로장생

브라우저에서 실행 중에 외부의 코드를 불러와서 실행하는 방법에는 script 태그를 runtime에서 생성하는 방법이 있다. 이 방법은 XMLHTTPRequest를 이용한 XSS 문제를 피하기 위한 방법으로 dynamic script의 발전한 형태로 볼 수 있다. 샘플 코드는 아래와 같다.
 
// adapted from http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript'; newScript.onload=scriptLoaded; newScript.src = 'http://api.flickr.com/services/feeds/photos_public.gne?tags=sunset&amp;amp;format=json';
headID.appendChild(newScript);
jsonFlickrFeed = function(feed) {
// deal with the feed!
};
// when the script is finished, remove the script node we added
// removeNode is a custom function defined in the TiddlyWiki source code: http://svn.tiddlywiki.org/Trunk/core/js/Dom.js
// It ensures that the eventhandler is removed before deletion scriptLoaded = function() {
removeNode(newScript);
};
: