Youtube - 전세계 사용자들과 공유

구글의 미션
전세계 모든 정보를 잘 정리하여 사용자가 편리하게 이용할수 있도록 한다.
인류의 자산은 인터넷에 있는지 모른다. 인터넷의 정보는 일부분. 활자,음악속......

누구나 쉽게 인터넷으로 정보를 얻게...

  1. 초창기 유투브
    2005.02 유튜브의 첫모습 
    2006.10 구글과 하나가 되다.
    직원 65명
  2. 현재의유튜브
    세계에서 가장 큰 동영상 커뮤니티로 성장
    정교화된 콘텐츠 검증기술.(CID)
    다양한 형태의 광고들.
  3. 유튜브의 미래 
    더 다양한 종류의 컨텐츠: TV, 영화,스포츠중계,뮤직비디오,각종 캠페인들,
    모든기기에서 편리하게 재생되는 유튜브 동영상

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

Twitter 시계봇과 동급인건가?  (0) 2010.05.30
Twitter 서버 장애 발생  (0) 2010.04.05
Firefox 3.6 출시됨  (0) 2010.01.22
Firefox 3.6 출시 예정.  (0) 2010.01.22
nProtect가 결제 오류를 내고있음.  (0) 2010.01.20
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


Firefox Logo
Firefox Logo by Keng Susumpow 저작자 표시

드디어 Mozilla Firefox 3.6이 출시되었습니다!

Firefox의 새버전은 여러가지 향상된 기능을 보여줍니다.

데이터를 로드하는 시간, 시작 속도, 안정성, 자바스크립트 실행을 빠르게, 자바스크립트를 부드럽게 실행할수 있게, 향상시킨 Gecko 1.9.2 web-rendering 엔진을 사용해서, 이전의 Firefox 3.5보다 20% 더 빠른 속도 향상이 있습니다. 

추가로 Personas라는 기능을 추가하여, Firefox에 한번의 클릭과 재시작 없이 마음껏 화면을 고치는 기능을 제공합니다.

또한 HTML5를 전체적으로 지원합니다.

Firefox 3.6에 대한 자세한 특징들은 여기를 클릭하면 됩니다. (영문, English)

아래는 Firefox 3.6의 새로운 기능을 설명해주는 동영상입니다.

What's New in Firefox 3.6

저는 2010년 1월 22일 오전 2시 30분(PST 1월 21일 오전 9시 30분)에 Mozilla Foundation에서 Firefox 3.6이 나온다는 발표를 들었습니다.

Firefox 3.6 will be available for download at www.firefox.com on Thursday, January 21st at 9:30am Pacific Standard Time.

그러나 2010년 1월 22일 오전 1시 30분경 Mozilla측에서 1시간일찍 Firefox 3.6 파일을 올리고는 3.6 출시가 되었다는 발표가 홈페이지에 나왔습니다.

 

Firefox 3.6 파일이 미리 서버에 올려진걸 바로 나온 것을 보고 다운로드 받아서 설치하게 되었습니다.

아래는 Firefox 3.6 설치화면입니다. (기존에 Firefox 3.5버전이 설치되어 있었습니다.)

두근두근, 드디어 Firefox 3.6을 설치하는 순간입니다!

Firefox 3.6설치하는데, 저는 기본적으로 Standard로 설치하였습니다.

Firefox 3.6 설치 경로를 지정하고 Upgrade를 해줍니다. 여기선 이미 Firefox 3.5가 설치되었기 때문에 경로지정을 안해줘도 됩니다.

Firefox 3.6으로 Upgrade중입니다.

드디어 Mozilla Firefox 3.6 설치가 완료되었습니다.

설치를 마무리 하고 나서 Firefox 3.6을 사용하게 되었습니다.

Mozilla Firefox 3.6 설치 인증완료!

나도 이제 Mozilla Firefox 3.6 사용자!

ps. 저는 이번에 Firefox 3.6을 설치하면서 에반게리온(Neon Genesis Evangelion) 테마로 변경하였습니다^^

Mozilla Firefox 3.6 Evangelion Theme



 

 

Buy me a coffeeBuy me a coffee



오랜만의 Firefox 관련 글을 올립니다.

Mozilla 재단에서 Firefox 3.6을 드디어 출시한다는 글을 보았습니다.


What's New in Firefox 3.6


ps. 이미 Firefox 3.6이 출시가 되었다는군요 (KST AM 1:50, PST AM 8:50)

서버에는 미리 파일 올려 놓고, 예정시간인 PST 9:30 am전에 Firefox 3.6을 공개했습니다.


Buy me a coffeeBuy me a coffee

제가 연구실 컴퓨터로 작업하다, 급한 결제거리가 생겼습니다. 

오늘 안으로 결제를 안하면 서비스 제공이 중단된다는 거라 급한 불이 생긴거죠.

제가 쓰는 연구실 컴퓨터에 공인인증서가 설치 되어있지도 않고, 제가 공인인증서가 있는 USB를 들고 오지 않아서 결제를 해야하는데 난감하였죠.

결국은 통장입금이 아닌 카드 결제를 하게 되었습니다.


연구실 컴퓨터에 nProtect도 깔려있고, 예전에 결재를 이 컴퓨터로 했던 경험때문에 결재를 하려니 갑자기 이런 아래와 같은 메시지가 뜨더군요.


이미 nProtect가 깔려있는데 왜 그럴까? 하고 생각을 하다... 뭔가 레지스트리가 꼬인 것 같은 느낌이 들었죠.

결국은 nProtect를 지우고, 레지스트리 정리를 하였죠. 그리고 재부팅. 그리고 nProtect를 다시 설치하고 나서야 결제 시도를 하였습니다. 이제서야 결제완료를 하였더군요.

그리고는 제 연구실 컴퓨터는 ActiveX로 계속 꼬여가고 있습니다.


nProtect는 무슨 목적으로 있는걸까요? 프로그램이 꼬이는 경우가 몇번 있는데 계속 nProtect를 은행과 카드결제에 많이 쓰는 이유는 무엇일까요?

nProtect에 대한 이야기들은 구글 검색을 보면 찾을 수 있으니 여기서 각설하고, nProtect를 설치 안해도 인터넷 뱅킹과 거래등을 자유롭게 할수 있는 날이 왔으면 좋겠습니다.

Buy me a coffeeBuy me a coffee


트위터(Twitter)를 이용하며 얼리어답터로 유명한 박용만회장님께서 Google사에서 출시한 'NexusOne'을 개봉하는 모습을 촬영하였습니다.


받긴 했는데 이제부터 이 넘을 우짠다? http://tweetphoto.com/8984070

일단 개봉 작업만 올립니다 http://yfrog.us/072tkz

받긴 했는데 이제부터 이 넘을 우짠다?


보통사람이라면 기기를 신주단지 모시듯 NexusOne을 개봉합니다만...

회장님께선 고정관념을 깨고 터프한 개봉을 하였습니다. 촬영한 모습 보다가 저의 간이 떨어질뻔 할정도로 저거 툭하다 고장나면 어찌지 이런 생각만 하더군요.

회장님께선, 일반 사람들처럼 손에 익을 정도로 쓰고 싶다는 표현을 동영상에 보여준것일수도...

ps. NexusOne을 구입하신것 부럽습니다.

Buy me a coffeeBuy me a coffee

어느덧 2010년 1월 18일 월요일.

저는 트위터를 사용하다 이상한 글을 보았습니다.


"1등만 구글 넥서스원 따먹는 더~러운 이벤트"에 참여했슴다! 같이 참여하실 분은 @Hi_Android를 follow하시고 http://www.hongik.com/phone 클릭! || 근데 1등 될라나? -_-a ㅋㅋㅋ


아니 이게 뭐지?

위와 같은 글을 보고나선 저는 바로 @Hi_Androidhttp://hongik.com/phone/ 클릭을 하였습니다.

의외의 홈페이지가 나오기 시작하였습니다.

그것은 Google사에서 1월 5일에 출시된 NexusOne 1대를 공짜로 조건없이 그냥 준다는 이벤트였던것이였습니다!

http://hongik.com/phone/ - 1등만 구글 넥서스원 따먹는, 더~러운 이벤트"


저도 이벤트에 참여를 하여 트위터에 아래와 같은 글을 올렸습니다.


"1등만 구글 넥서스원 따먹는 더~러운 이벤트"에 참여했슴다! 같이 참여하실 분은 @Hi_Android를 follow하시고 http://www.hongik.com/phone 클릭! 참 쉽죠~잉?

공짜라면 양잿물도 마시고, 공짜좋아해서 대머리가 되는 경우도 있지 않습니까?


Steve Ballmer
Steve Ballmer by jdlasica 저작자 표시비영리
(대머리인 Microsoft사 CEO인 Steve Ballmer)

구글 넥서스원을 준다는 이벤트에 안드로이드폰이 급한 저로선 바로 참여를 해버렸습니다 *-_-*

이벤트를 참여하고 나선 저는 이런 생각을 하였습니다.

"구글 폰에 관심 많은 얼리어답터, 개발자, 기획자, 일반인들에게 이벤트를 제공함으로서 엄청난 회사 홍보를 제대로 할수 있겠는데?"

"그런데 사람들 넥서스원 이벤트에 낚여서 대부분 이벤트에 참가하는 것 아닐까?"


 아니나다를까... Twitter에 지금까지 3000명이상이 @Hi_Android 를 Following을 하고 있던겁니다.


다만 Twitter계정 @Hi_Android 와 홈페이지  http://hongik.com/phone/ 을 운영하는 곳이 (주)홍익세상이라는 회사라는 군요.

안드로이드에 관련된 정보, 뉴스, 의견들을 전해드립니다. (주)홍익세상입니다.

(주)홍익세상이란 회사가 무슨 회사인지는 모르는 중소기업이지만, 트위터를 통한 입소문으로 Google의 Android 플랫폼에 관심많은 개발자, Android에 관심 많은 얼리어답터, 기획자, 일반인등등 여러 계층의 사람들을 끌여들여 인지도를 많이 높이게 된 것 같군요.

(주)홍익세상이란 회사가 무슨 회사인지는 대충 짐작 가는 대목이 있습니다. (Android Platform에서 디바이스와 앱개발 하는 회사일듯?)


Twitter라는 Social Platform에서 소문을 퍼뜨리고, 사람의 심리를 잘 이용하여, 아주 기가 막힌 NexusOne 이벤트를 주최하여 회사이름을 빠르게 알게한 (주)홍익세상 운영진들에 대해, 저는 Social Platform을 제대로 이용한 회사의 사례라고 블로그에 기록하고 사람들에게 알리고 싶습니다.


1등에게 NexusOne을 준다는 이벤트 참가하고 나선, 제발 당첨되었으면 하는 바람도 있군요^^


Buy me a coffeeBuy me a coffee

Daum에서 새로 선보일 mircoblog서비스이며, 현재 베타서비스중인 Yozm(요즘) 초대장을 배포합니다^^

여기 링크를 클릭하여 가입하면 저랑 바로 친구추가입니다. 요즘에 가입해보아요^^

http://yozm.daum.net/sungdh86/join?key=2a41c -  제가 yozm에 초대하는 링크입니다.


Yozm을 사용해보실 분은 링크 클릭하면 가입이 됩니다.


Buy me a coffeeBuy me a coffee

다음 커뮤니케이션스(Daum Communications)에서 드디어 SNS(Social Networking Service)인 요즘(yozm)이라는 이름의 베타 서비스를 시작하였습니다.

Daum Yozm(요즘)

언제 어디서나 친구와 나누는 yozm


다음(Daum)에서는 Microblog이라는 개념으로 Yozm이라는 서비스를 2010년 1월 22일까지 베타 테스트를 한다군요.

운 좋게도, 주위 분중에서착하신 Mazefind님께서 Yozm 베타테스트 초대장을 주셔서 저는 베타서비스 기간인 2010년 1월 18일에 가입을 하였습니다.


일단 Yozm이라는 서비스를 사용해보니 이건 마이크로블로그(Microblog)의 개념의 서비스라는 걸 느끼게 되었습니다. 간단하게 1줄로 글 올리는 식의 서비스를 말하는거죠.


아직 베타서비스라 다음에서 운영하고 있는 블로그 서비스인 Daum 블로그Tistory 블로그 와는 연동이 안된 상태입니다만, 조만간 Daum 블로그나 Tistory와 연동될듯 합니다.

Yozm을 사용해보니 SNS(Social Networking Service)의 일종인 Twitter를 많이 벤치 마킹 하였더군요. (Twitter가 Microblog의 효시라 보면 됩니다.)

Twitter뿐만 아니라 벤처로 시작하여 NHN에 인수된 후 서비스를 하고 있는 Me2day의 핑백포스트 방식을 따라하였고, 전체적인 구성은 Yahoo!에서 베타테스트로 운영되고 있는 Meme라는 서비스를 많이 참조를 하였는걸 느꼈습니다.

전체적인 UI구성이 Meme!를 많이 따라해서 깜짝 놀랐습니다.

Yahoo! Meme

Yahoo!에서 베타서비스를 하고 있는 SNS인 Meme!


타켓층을 10~20대로 잡았다는 느낌을 많이 들었습니다. Yozm의 글자 크기, 컬러, 프로필 뱃지등등을 보면 10~20대가 좋아할만한 디자인을 추구하였습니다.

그리고  다음 뮤직서비스와 연동되는 것과, 프로필 뱃지들을 보면 싸이월드같은 수익 모델이 있을듯한 생각도 해봅니다.

이러다 보니 현재, Me2day의 현재 타켓 계층과 겹친다?! (연예인 마케팅을 하고 잇는 미투데이의 현재 타켓은 10~20대 계층이라고 보면 됩니다.)

Me2day는 복잡한 구성들이 많아 쓰기가 어렵게 느껴지는 것이 많다만, Yozm은 심플하게 만들어서 한 번에 봐도 쓰기 쉽게 만들려고 노력한 흔적들이 보입니다. (그래도 Yozm도 처음 접하면 어렵긴 모두가 마찬가지)


Daum Yozm

Daum에서 베타서비스(~2010.1.22)중인 Yozm(요즘)입니다.


요즘(yozm)이라는 서비스를 몇 시간동안 사용해 보니, SNS의 특성상 친구가 점점 많아짐에 많은 시간을 투자하여 사용하게 되더군요.^^

다음에서 실제로 정식 서비스가 진행되면 10~20대에게 꽤 인기 있는 서비스가 될것으로 생각됩니다^^. 진부한 싸이월드도 아니고, Twitter도 아닌 새로운 서비스의 성공적인 미래를 바라봅니다^^


1월 22일까지 베타서비스 기간입니다만, 혹시 베타테스터로 미리 사용하고 싶은 분들께선 제가 초대장을 보냅니다.

여기 링크를 클릭하여 가입하면 저랑 바로 친구추가입니다. 요즘에 가입해보아요^^

http://yozm.daum.net/sungdh86/join?key=2a41c -  제가 yozm에 초대하는 링크입니다.

Buy me a coffeeBuy me a coffee

이번 제주도 여행(2009.12.29~2010.01.01) 에서 MS사 MVP인 무적전설(박성기)님을 만났습니다.

무적전설(박성기)님이 Windows Mobile폰으로 작성한 부록.

제주올레 6~7코스 사이를 무적전설(박성기)님과 같이 걸으면서 이야기를 하다 Windows Mobile에 대한 이야기가 나오면서 저는 그때 'Windows Mobile로 개발 해볼까?'라는 생각을 해버렸조.

2010년 1월 1일 집에 도착하고선 바로 잠실로 뛰쳐나가 Windows Mobile관련 개발 서적을 구입을 하였구요.

윈도우 모바일 애플리케이션 개발 가이드
카테고리 컴퓨터/IT
지은이 앤디 위글리 (에이콘출판, 2009년)
상세보기

Windows Mobile 폰도 개발하고 테스트하는데 필요하게되지요. 그래서 저는 Windows Mobile폰을 어떤 걸 구입할까 망설여졌습니다.

옴니아폰을 구입하려고 하였더니 학생인 저에게 엄청난 부담이 되었고, 기가바이트의 P100은 평이 안좋고, 엑스페리아는 SKT라 그닥 멸망이고... 결국은 KT의 LG 인사이트(KT-KU2000)으로 구입 결정을 하였습니다.

인사이트폰(LG-KU2000)의 단점은 외국에서 내놓은 폰에 GPS모듈 빠져 스펙다운이라는 악명을 떨쳤습니다. 그러나 Windows Mobile 프로그램 개발용도로 쓰는지라 우선 저렴하면서도 잘 돌아가는걸 구입을 하게 되었습니다.

휴대폰은 KT폰스토어에서 구입을 하였구요. 가입비면제, USIM칩 구입 면제, 총 0원 구입을 하였습니다 *-_-* (무려 공짜폰!)


 

이제 인사이트폰만 도착하면 Windows Mobile 셋팅을 해야겠군요 +_+

현재는 인사이트폰을 기다리고 있습니다.

Buy me a coffeeBuy me a coffee

+ Recent posts