2011년 3월 11일 새벽 2시경.


초저녁에 자고 나서 일찍 깨어나 컴퓨터를 켜고 잠깐 있다 V3프로그램에서 황당한 일이 벌여졌습니다.

Trojan/Win32.OnlineGameHack 진단


제 컴퓨터가 바이러스로 도배되었다는 충격적인 사실을 보고 치료 버튼을 누르려고 하였죠.

그러나 Twitter의 안철수 연구소 계정(@ahnlab_man)에서  V3 프로그램에서 에러가 났다는 공지가 나왔습니다.

  1. V3 Lite 및 V3 365 사용자 중 불편을 겪으시는 사용자님은 시스템 복원이 가능 시 최신 복원시점으로 복원해 주시면 감사하겠습니다. 불편을 끼쳐드려 다시한번 죄송합니다!
  2. 불편을 끼쳐드려 진심으로 사과드립니다. 현재 Trojan/Win32.OnlineGameHack로 다수의 파일들이 진단하는 증상이 발생하였다면 컴퓨터를 종료하시지 말고 V3 실시간 감시 일시 종료 후 최신 엔진(2011.03.11.02)로 업데이트 필수
  3. [긴급] 현재 사용하는 컴퓨터에서 Trojan/Win32.OnlineGameHack로 다수의 파일들이 진단하는 증상이 발생하였다면 컴퓨터를 종료하시지 말고 V3 실시간 감시 일시 종료 후 최신 엔진(2011.03.11.02)로 업데이트 필수


결국 안철수연구소 홈페이지에 갔더니... 바이러스가 걸리지 않았는데도 Trojan/Win32.OnlineGameHack이라고 바이러스 오진을 한다는  메시지가 나왔더군요.



운좋게 트위터 타임라인에서 V3 오진 문제가 있었구나를 알았지, 트위터 타임라인을 확인하지 않았다면 ... 현재 작업했던 작업물이 전부 날라갈뻔한 걸 생각하니 끔찍 ㅠㅠ


현재는 V3 업데이트를 하고 컴퓨터 재부팅 하려고 작업물을 전부 저장중에 있습니다. 그러한 중에 이 포스트를 작성하구요.

V3의 신뢰성이 땅에 떨어진 경험을 하였고, 다른 바이러스 엔진으로 바꿀까란 생각을 하였습니다. 그럼 뭘 바꿔야 하지?


ps. Twitter가 정말 유용하다고 느꼈습니다.

Buy me a coffeeBuy me a coffee

2010년 11월 22일 월요일 밤.


연구실에선 박사분들께서 대화하는 것 들으면서 내일 맡아야할 것들을 정리하고 책을 뒤져보고 있었다.


박사분들께서 전부 "Facebook"과 "Twitter"가 주위에서 많이 사용한다면서, Facebook이 주위서 많이 쓰는가 보다는 식의 결론을 내는 대화를 하고 있었다.

내 주위만 해도 같은 대학원 다니는 사람들이 Facebook을 많이 쓰고 있으며, 고등학교 친구들, 대학 친구들이 Facebook을 많이 사용하여 싸이월드보다 많이 활용하고 있으니, 싸이월드를 주위서 쓰는 사람을 내 주위서 본 적이 없다.


각설하고, 박사분들께서 Facebook 이야기를 계속하다 영화로 화제 전환하다가, 재미있는 영화 없냐고 하였다 내가 "소셜 네트워크"라는 영화를 이야기 하였다.


소셜 네트워크
감독 데이비드 핀처 (2010 / 미국)
출연 제시 아이젠버그,앤드류 가필드,저스틴 팀버레이크
상세보기


나는 "이번에 나온 '소셜 네트워크'라는 영화가 나왔는데, 이 영화 괜찮다고 하더군요. Facebook 창립자인 마크 주커버그(Mark Zuckerberg)의 일대를 그린 영화에요"라고 했다.

그러자 모 박사님께서 평이 여러개로 갈린다고 하던데, 재미있는 사람도 있고, 재미 없고 지루하다는 사람도 있다 라고 하였다.

이후, Facebook이 적응하기 어려운데, Twitter는 더더욱 적응하기 어렵다는 이야기등등을 들었습니다.


이런 대화를 토대로 저는 아래와 같은 생각을 하였습니다.

  • SNS(social network service)는 현재의 트랜드가 되었으며 미래에도 지속될것이다.
  • Facebook의 인기는 싸이월드를 제칠 것이다.
  • Twitter도 스마트폰의 보급으로 많이 사용될 것이다.
  • 미래 사회는 Social화 될것이다.
위와 같은 4가지 생각을 주절주절 적었습니다.
위의 4가지 생각를 한마디로 정리하면 "SNS없는 미래는 앙꼬없는 찐빵이다"

대학 3학년 말쯤에 미투데이를 사용하다 생각했던 것인데, 이 생각들이 3년 뒤에 스마트폰으로 실현되었습니다.
미투데이를 처음 접할 대학 3학년때, 과제하면서 미투데이 하느라 재미있었는데, 요즘은 Twitter와 Facebook을 하는데에 재미가 있더군요. 

Facebook이 주위서 많이 쓰는걸 보다 갑자기 떠오른 내용을 블로그에 잠깐 주절거렸습니다.


ps. 점점 주위 사람들이 Facebook에 온다는걸 요즘 직감하고 있습니다. 점점 SNS사용하기가 무서워진다는 생각을 합니다.
ps2. 피쳐폰들을 쓰던 사람들이 이제 스마트폰으로 바꾸고 있는데, 스마트폰의 쓰임새가 웹서핑보다는 SNS사용으로 주로 많이 사용할듯 합니다.
ps3. SNS이 뜰것이다는 생각은 대학 3학년 말쯤에 많이 하였는데, 지금 생각한것과 대학 3학년 말때 생각한거랑 많은 차이가 있더군요. 대학 3학년 말쯤엔 PDA는 많이 보급도 되지 않았고, 스마트폰은 꿈도 꾸지 못할 시기라 데스크탑 중심으로 SNS가 발달될것이라는 생각을 하였지만, 현재는 스마트폰의 빠른 보급으로, SNS을 일반인들이 스마트폰으로 많이 쓰고 있습니다. 단지 3년이란 시간이 지났을뿐인데도 이렇게 많은 차이가 나군요. 기술의 발전은 너무 빠릅니다.
ps4. 마크 주커버그(Mark Zuckerberg)의 삶을 각색한 "소셜 네트워크"라는 영화는 관심이 있는데, 시간이 없어 주말에 볼 생각입니다. 
Buy me a coffeeBuy me a coffee



구글 모바일 트위터(@GoogleMobile)에서 Android OS 2.3 Gingerbread를 조만간 공개할 것이라는 암시를 내보내는 사진을 올렸습니다.

출처: http://twitter.com/GoogleMobile/status/3174327650361344

출처 http://twitpic.com/3682u2


Google이 YouTube를 통해 Google 본사에 Gingerbread 동상을 세우는 동영상을 공개를 하였습니다.

이후, 이번엔 트위터를 통해서 Gingerbread 과자를 구운걸 트위터에 공개를 하였습니다.


Android OS 2.3 Gingerbread 가 언제 공개 될려나요? 기대됩니다^^


Buy me a coffeeBuy me a coffee

2010년 10월 8일.

실습조교로 학생들 가르치다, 잠시 컴퓨터실에 있는 아이맥을 사용하여 인터넷을 잠시 사용하였습니다.


트위터를 웹으로 접속하는데 어느새 이상한 화면이 뜨더군요.

Meet the new Twitter.com

Meet the new Twitter.com - Try it now!

이것이 바로 새로운 트위터!(newtwitter)


클릭 한번에 새로운 트윗으로 변화!

결국은 트위터에 아래와 같은 글을 작성.

맥을 쓰다 트위터를 웹으로 접속하니 드디어 새로운 트위터로 접속되었다. 일단 감상중 +_+


새로 바뀐 트위터가 기존과 바뀌게된 점- http://twitter.com/newtwitter

  • New design
  • View photos, videos, and other media content
  • Discover related content
  • Mini profiles
  • Rollout timing


아래는 새로운 트위터 기능을 보여주는 홍보 동영상


Twitter: discover what's new in your world

Buy me a coffeeBuy me a coffee

저는 트위터를 2008년 5월 21일부터 시작하였습니다.

맨 처음에 접했을때엔 어떻게 트윗을 할지도 몰랐고 실험삼아 아래와 같은 트윗을 하였습니다.

http://twitter.com/studioego/status/816495998


트위터가 인기가 많아짐에 따라서 팔로워도 늘고 팔로잉하고 있는 사람도 많아졌지요. 아마 김연아 선수의 트위터 사용 이후에 대한민국 사람들이 트윗을 많이 사용하게 된듯 합니다.

트위터에 보면 맞팔? 이라는 단어도 많아지고, 맞팔을 강요하는 사람도 늘어났습니다.

트위터의 팔로우 개념을 싸이월드의 친구 맺기 같은 개념을 받아들여서 맞팔을 해야 친구라는 생각을 하게 되고 친구가 되기 위해서 사람들에게 맞팔을 요구하는 분들도 상당수 있는걸로 알고 있습니다.


메일을 보다보면 저를 팔로잉(Following)을 하는 분들이 늘어났다는 것을 실감하게 되었지요. 그러나 팔로잉(Following)을 하는 사람들 보면 맞팔을 위해서 Following을 하다 상대방이 팔로잉 안하자 다시 언팔(Unfollow)을 하고 나서 다시 팔로(follow)을 하는 사람들이 있더군요.

그 중에서 심한 사람을 만났습니다. @bcpar 라는 분이 매우 심하신듯 하더군요.

맞팔 100%를 만들기 위해서 팔로잉 했다 다지 언팔 했다 팔로잉 하는 식의 행동을 7번씩이나 @.@

가끔씩 디자이어에서 어디서 많이 본 이름인데 하고 넘어가다... 검색해보니 6번 팔로우 했다 언팔하고를 하다 이번에 7번째로 팔로우를 하였습니다.


위의 행태를 본 순간 저는 머리가 아득해졌습니다. 트위터에서 어떻게 쓰든간에 자유입니다.

그러나 맞팔을 강요하는 행위 같은 팔로우 뒤 언팔, 그 후 팔로우 식의 행동은 좀 아니라고 봅니다.

팔로워가 많다고 해서 그 사람이 트위터에서 영향력 있는 사람이라고는 생각 하지 않습니다.


ps. 참고로 저 분들에겐 Block 기능 사용하진 않했습니다. 저의 기준에서 Block기능은 브리트니같은 성인광고, 또는 정치인들밖에 하지 않았습니다. -_-;;

ps2. 저는 맞팔엔 무관심입니다. 저와 몇번 트윗에서 저의 관심사에 대해서 이야기 한 사람들에 대해서만 팔로잉을 합니다. 천명이 넘다 보니 팔로워들 Timeline을 다 보지도 못합니다. 웬간해선 팔로우를 잘 하지도 않습니다.

Buy me a coffeeBuy me a coffee

Touiteur - Twitter for Android



제가 소개할 안드로이드용 트윗 어플은 Touiteur라는 것입니다.

hTC Desire에서 Twitter를 쓰는 것이 일상이 되었는데 안드로이드용 트윗 어플들이 많긴 해도 저의 성미를 맞춰주는 어플들이 별로 없더군요.

우선 Twitter사에서 공식으로 나온 안드로이드용 Twitter는 그렇게 쓸만하지가 않더군요. 메모리 많이 차지하고, RT기능이 약간 마음에 안든다고 할까요?

hTC에서 기본 제공되는 Peep은 기능이 약간 부실한 면이 있으며, Seesmic은 과도한 용량을 사용하는데다, 엄청난 패킷을 사용하기때문에 사용하기 망설이던 중, Touiteur를 사용하게 되었습니다.  (Seesmic을 3G망에서 쓰다보면 요금폭탄 맞을 위험성이 큽니다.)

처음엔 UI가 약간 적응하기 힘들다는 것 빼곤, 익숙해지면 Seesmic보다 트윗을 편하게, 쉽게 쓸수 있는것 같습니다.

Touiteur는 프랑스어로 읽으면 Twitter라고 하군요.

Touiteur의 Twitter Timeline화면입니다. 기본화면이기도 합니다.

Touiteur에서 특정 트윗을 선택했을때의 화면입니다.


Touiteur에서 특정 트윗에 대해 멘션을 줄때의 화면입니다. 글 작성할때에 위의 화면처럼 나옵니다.

Touiteur에서 특정 트윗에 대해 RT(ReTweet)를 줄때의 화면입니다. 글 작성할때에 위의 화면처럼 나옵니다.


Touiteur에서 저에게 온 멘션들을 보여주는 화면입니다.

Touiteur에서 Twitter의 리스트와 검색, 트랜트, Favorites등을 선택할 수 있는 화면입니다.



Touiteur Review

Touiteur - The Best Android Twitter App around


Touiteur는 Levelstudio에서 만들었으며 링크는 http://levelupstudio.com/touiteur 입니다.

Android Market에서 다운로드 받으실려면 아래의 QR코드를 캡쳐해서 접속하시면 됩니다.



Buy me a coffeeBuy me a coffee


혜민아빠(홍순성)님께서 보안뉴스와 트위터 인터뷰를 한 동영상입니다.



전문가들은 자신의 사생활이나 정보를 무분별하게 노출함으로써 혹시 모를 개인정보유출에는 각별한주의가 필요하다고 지적한다. 자신의 정보 노출의 범위가 어디까지인가 항상 생각을 해야 하고 적절한 통제가 필요하다고 조언한다.


트위터와 같은 SNS는 보안에 취약하다고 생각됩니다. 우선 SNS를 쓰다보면 자기 자신의 정보를 필요 이상으로 노출하는 경우가 많습니다.

자신의 정보 노출 범위가 어디까지인지에 대해서 진지하게 고민을 하고 트위터, 미투데이, 요즘과 같은 SNS를 사용해야지 별 뜻없이 무심코 SNS에 글을 올리다간 필요 이상의 개인정보가 남들에게 노출되는 부작용이 있습니다.

항상 SNS을 쓸때마다 적절한 통제가 필요하다고 느낍니다만 스마트폰등 컴퓨터를 이용하지 않고도 바로 본능적으로 글을 바로바로 올려 사용하는 상황에선 자기 자신의 위치를 노출한다는거나 등의 일을 많이 벌이지 말아야할 것입니다.

SNS를 사용할때 개인정보 노출을 하지 않도록 노력해야할때입니다.


ps. Facebook 창시자 마크 주커버그가 프라이버시의 시대가 종료하였다는 발언을 한 이후에 SNS에서의 보안에 대해서도 많은 생각을 해보았습니다. SNS의 보안은 본인 스스로가 조심해야지, 스스로가 조심하지 않으면 개인정보 노출같은 피해상황이 나올수가 있습니다.


Buy me a coffeeBuy me a coffee



어느덧 Twitter의 Timeline을 보다보니 제가 Google App Engine으로 Twitter 봇을 구현한것( Google App Engine으로 Twitter 봇을 구현!)과 트위터의 유명한 봇들이 같은 시간에 글이 올라간걸 구경하게 되어씃ㅂ니다.


정시에 항상 올라가는 봇들의 트윗과 저의 트윗.


제가 예전 Java를 사용하여 Google App Engine으로 Twitter 봇을 구현! 을 한 걸 보면 사람들의 평에 시간을 알려줘서 좋다는 평과 아이폰에 시계가 있는데 왜 구현했나? 등의 대략 2가지의 평이 트위터로 올라오더군요.

지속적으로 트위터를 쭉 보다 제가 프로그래밍 한 자동 트윗에서 나온 시간을 보니 시간은 정말 빨리 지나가구나를 느낍니다.

그리고 나도 시계봇과 동급이라는 생각을 문듯 하였습니다.

'컴퓨터 > Web' 카테고리의 다른 글

Google Voice 초대장 도착.  (0) 2010.06.12
Daum의 새로운 Favicon?  (0) 2010.06.02
Twitter 서버 장애 발생  (0) 2010.04.05
Youtube Night에서 구글이 보여준 PT내용입니다.  (0) 2010.02.21
Firefox 3.6 출시됨  (0) 2010.01.22
Buy me a coffeeBuy me a coffee

현재, 2010년 4월 5일 오후 11시경부터 Twitter서버가 맛이 갔습니다.


계속 오류 메시지가 뜨는데, 정말 몇 개월만에 고래까지 보았군요.


고래를 정말 오랜만에 보니, 트위터도 정말 유지 보수하는게 힘들겠구나는 생각을 해보았습니다.

'컴퓨터 > Web' 카테고리의 다른 글

Daum의 새로운 Favicon?  (0) 2010.06.02
Twitter 시계봇과 동급인건가?  (0) 2010.05.30
Youtube Night에서 구글이 보여준 PT내용입니다.  (0) 2010.02.21
Firefox 3.6 출시됨  (0) 2010.01.22
Firefox 3.6 출시 예정.  (0) 2010.01.22
Buy me a coffeeBuy me a coffee

오랜만의 프로그래밍 관련 포스팅입니다.

저는 이번에 제 Twitter 계정에 시간을 알려주는 봇을 구현하였습니다.
(봇[bot] : 특정시간이나 행위에 자동반응하는 형식의 실행하는 서비스를 말합니다)

저의 Twitter 계정에 "현재, 한국시간으로 2010년 1월 24일 오전 6시 를 알려드립니다." 라는 식의 시계 봇을 구현함.


위의 화면를 보시면, 제 트위터를 Following하시면 제가 현재 시간을 알려드리는 걸 알수 있습니다.

(봇은 어떻게 구현했나구요? Google AppEngine이라는 서비스로 Java로 구현했답니다^^)


Google AppEngine book
Google AppEngine book by Channy Yun 저작자 표시

(참고로 Google App Engine은 무료로 제공되는 Java/Python 기반 웹 호스팅 서비스입니다)


제가 간단한 트위터에 시간 알려주는 봇을 구현한 이유는 트위터에서 @xguru 라는 닉을 사용하는 권정혁님이 개발한 트위터 봇들에 영감을 얻고, 나도 프로그램을 작성할 수 있는 학생인데 한번 만들어 봐야지라는 문제의식으로부터 시작하였습니다.

트위터의 xguru님께서 만든 Twitter bot들입니다.


위의 시간을 알려주는 봇을 구현하는데엔 기본적인 Java지식, 그리고 Java Server Page(JSP), Servlet, Twitter API등을 알아야됩니다.

Java기반 지식들은 아 알겠다는 가정하에 트위터 API들을 알아봐야겠죠?

Twitter의 API에 대해선 Twitter에서 제공하는 사이트에서 검색을 하면 나옵니다.
Twitter API wiki

Twitter API는 REST API와 Search API라 나눠집니다.

  • Twitter REST API
    개발자들이 update timeline, status data, 사용자 정보등의 Twitter의 핵심 데이터를 작성, 수정등의 접근할 수 있게 허용해줍니다.
  • Twitter Search API
    Search API는 개발자들에게 Twitter 검색 서비스와 상호작용할수있도록 해주며, 검색 트랜드 관련 데이터에 접근 할수 있도록 해준다.
  • 위의 글의 출처는 아래와 같습니다. http://apiwiki.twitter.com/API-Overview

    The Twitter REST API methods allow developers to access core Twitter data. This includes update timelines, status data, and user information. The Search API methods give developers methods to interact with Twitter Search and trends data.

참고로 Twitter API를 사용할때 주의해야할 점은 일정시간 안에 전송되는 요청을 제한을 합니다.

Twitter API를 사용하였을 경우에 시간당 최대 호출을 150개로 제한을 하고 있죠.

최대 호출을 150개 넘게 호출하면 아래 화면과 같이 Limit라는 것에 걸려서 글을 작성 못하는 일이 발생합니다.

리밋에 대해선 트위터 리밋에 관하여…라는 글을 읽어보시기 바랍니다.

트위터 리밋에 걸릴때 나오는 문구입니다. 이것은 누군가 잘못된 암호를 보내려는 공격시도가 있을때 보이는 리밋문구입니다.


만약 프로그램을 작성한 봇이 요청을 시도할때 이유 없이 에러 발생하면 100% 리밋에 걸렸는지 의심을 해봐야됩니다.

여기서는 Twitter에 글을 작성할 것이기 때문에 Twitter REST API를 사용합니다.

Twitter REST API를 가지고 직접 구현해서 Twitter bot을 구현할 수 있습니다. 그러나 삽질이긴 합니다 =_=.

이미 트위터의 API를 구현한 3rd Party 라이브러리들이 많이 제공하고 있답니다.

http://apiwiki.twitter.com/Libraries 여기에서는 각종 언어로 Twitter REST API를 구현한 라이브러리들이 있습니다.

저는 간단하게 코딩을 하려는데 Twitter4J라는 라이브러리를 선택하였습니다.


Twitter4J는 Yusuke Yamamoto가 Java로 구현한 라이브러리입니다. 오픈소스이며, maven과 통합가능하며, Google App Engine과 친화적인 Java 라이브러리입니다. Twitter4J는 BSD 라이센스을 가지고 있습니다.

Twitter4J는 다음과 같은 기능을 제공한답니다.

  • 100% 순수 자바로 구현 되었으며, JDK 1.4.2 이후의 버전에서 동작한다.
  • Google Android Platform에서도 지원가능
  • 의존성이 없음. 추가적으로 필요한 jar 파일이 없어도 됨.
  • OAuth를 지원함
  • 빠른 수행을 위해서 데이터를 gzip으로 압축해서 전송함

Twitter4J 홈페이지 - http://twitter4j.org/en/index.html



Twitter4J 라이브러리를 사용하고 Eclipse와 Google App Engine을 이용하여 트윗 봇을 구현하였습니다.


Servlet mapping은 web.xml에 있으며 서블릿 클래스를 추가하고 싶으면 web.xml을 추가하면 됩니다.

자바코드를 작성하여 트윗에 올라갈 적절한 내용을 구현합니다.

자바로 트윗 봇을 구성하였으면, 매 시간마다 트윗을 올리기 위해서는 cron 기능을 이용해야합니다. cron설정을 하면 원하는 시간에 트윗을 올릴 수 있습니다.

Google App Engine에서 제공하는 cron을 사용하려면 war/WEB-INF 폴더에 cron.xml을 생성하여 cron.xml에 원하는 시간을 작성해서 올리면 됩니다.

cron 기능 수행에 대한 자세한 내용은 Google App Engine - Scheduled Tasks With Cron for Java 링크를 참조하기 바랍니다.

저는 트윗을 한시간에 하나씩 올리려고 아래와 같이 cron.xml을 구성하였습니다.


<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
  <cron>
    <url>/mashuptime</url>
    <description>Execute time bot every 1 hours</description>
    <schedule>every 1 hours</schedule>
    <timezone>Asia/Seoul</timezone>
  </cron>
</cronentries>


작성을 하고 나선 Deploy를 하여 올리면 간단한 트윗봇이 완성됩니다^^

Java로 작성한 Twitter bot을 Google App Engine에 Deploy하고 올리려는 화면


Google AppEngine으로 Java로 된 웹 페이지를 코딩하고 나선, 갑자기 이런 생각을 하더군요.

Google AppEngine에서 cron기능을 제공하여 매 시간마다 Servlet을 작동시켜 아래와 같은 봇을 구현을 하는데엔 30분도 걸리지 않았습니다.

참 쉽조잉?



이번에 뭔가 Feel을 받으면 매쉬업으로 Twitter bot들을 계속 양산할 느낌이 들더군요. @.@

Buy me a coffeeBuy me a coffee

+ Recent posts