관련포스트

2010/04/29 - [Mobile/Android] - Mozilla Fennec for Android 설치후 멸망


안드로이드용 Fennec을 설치해보았습니다.

Fennec.apk로 설치하는 과정.

Fennec 설치 완료.



설치하는데 정말 무겁더군요 -_-;


그리고 실행하는데 속도도 느리고... 아직 만든지 얼마 되지 않은 Alpha버전이라 최적화가 덜된 모양입니다.

가로모드에선 가상 키보드가 안되는 문제가 있습니다. -_-



아직 개선사항이 많아 보이는듯 하는 결론이 나왔습니다.

Mozilla재단의 Mobile Firefox인 Fennec을 설치해보면서 계속 feedback을 해야 좋은 앱이 될것같은 느낌입니다.

세로보기모드에선 상당히 괜찮게 돌아가더군요. (세로모드에선 가상 키보드가 정상 작동됨)

Clien 사이트 접속

구글 사이트 접속




아직 Opera와 Webkit엔진을 사용한 안드로이드용 웹브라우저 비교하였을때 Mozilla Fennec은 갈길이 너무나 멀구나를 알게 되었습니다.

Buy me a coffeeBuy me a coffee

안드로이드 앱을 Android Market에서 구입을 하게 되었습니다.

안드로이드 개발을 공부하다보니 모토로이에 책을 보고 싶었습니다. 그러나 책을 보고 싶어도, 책을 구해야되지요.

안드로이드 유료 어플중에서 O'Relly사에서 출간한 Android Application Development라는 책이 있습니다.

아래의 책을 안드로이드 유료 어플로 구입할까 하다 결국 구입을 했습니다.

Android Application Development (Paperback)
카테고리 과학/기술
지은이 Rogers, Rick (O'ReillyMedia, 2009년)
상세보기


아래는 한국어판 번역본입니다.

예제로 시작하는 안드로이드 개발
카테고리 컴퓨터/IT
지은이 릭 로저스 (에이콘출판, 2009년)
상세보기


모토로이에선 유료 앱(Paid App)을 검색도 가능하지도 않고, 아예 구입할수도 없는데 어떻게 구입했을까요?

운 좋게도 저는 Android Market이 돌아가는 AVD(Android Virtual Devices)를 구하였습니다. 미국의 Android Market에 쉽게 접속을 할 수 있게 되었죠.

저는 Android 1.6 Donut AVD(Android Virtual Devices)를 구한후, 후Android Market에 접속후 유료 안드로이드 어플을 구입을 하게 되었습니다.


(유료 어플을 구입하려면 Google Checkout 계정이 필요합니다. Paypal계정이나 신용카드 계좌가 있어도 Google Checkout 계정이 없으면 아예 결제 자체가 막혀있습니다.

Google Checkout 계정을 만들때 한국 선택이 없어서 대부분의 경우는 만들기가 어렵습니다. 한국인이 Google Checkout계정을 만들수 있는 방법은 단 한가지, Android Developer가 되는 방법 딱 한가지뿐입니다. 구글에 우선 $25달러 주고 Android Developer로 등록하지 않은 채로는 유료 어플 구입이 어렵습니다.)

미국의 Android Market에 접속하여 유료 어플인 Android Application Development에 대해 구입을 선택하게 됩니다.


안드로이드 유료 어플 구입하겠냐는 질문을 합니다.


Android App 결제 - Android Application Development by O'Relly Media US$4.99


결제를 하려면 Google Checkout 계정이 있어야 가능합니다.

Buy now: US$4.99 를 클릭하면 결제가 됩니다,

저는 휴대폰에 결제완료 SMS를 확인하게 하였기 때문에, 유료 안드로이드 어플 결제를 하니 바로 결제완료되었다는 문자가 도착하였습니다.

$4.99 결재가 되었습니다 GOOGLE이라는 마크가 보이군요.


(지름신은 이렇게 쉽게 오는가 봅니다.)

이렇게 구입한 유료 앱을 모토로이에 설치를 해보았습니다.

adb로 구입한 apk파일을 뺀 후, apk파일을 모토로이에 넣고 설치를 하였습니다.

아주 설치가 잘되더군요.

화면이 워낙에 큰 모토로이다 보니 표지가 예쁘게 보이지 않습니다. -_-;;


책을 보는데엔 문제가 없더군요. 매우 깔끔하게 보입니다. (이렇게 영어 실력이 늘어날뿐이고^^)

여긲지, 안드로이드 유료 어플 구입, 설치, 사용기였습니다.

ps. Android OS도 허점이 많은건지 아님, Google이 구조적 허점을 알면서도 방조하는지 궁금해짐.

Buy me a coffeeBuy me a coffee

이 글은 DroidEgo님의 2010년 1월 24일의 미투데이 내용입니다.

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

하루에 얼마만큼 걷습니까?


현대 문명에 놓인 도시 사람들은 생각보다 운동양, 걷는 양이 매우 적다고 하더군요. 생각보다 하루에 5000보 이상 걷는 일이 흔치 않습니다.

저는 대학원생이다 보니 거의 대부분을 연구실에서 대부분의 시간을 앉아서 보냅니다. 평소 생활 습관이 지하철에서 출퇴근하고, 연구실에서 거의 앉아서 생활하기 때문에 운동량이 절대적으로 부족합니다.

정신적인 스트레스와 밤샘을 자주 하다보니 저의 체력은 대학입학때와 다르게 점점 바닥이 되는걸 느끼고, 점점 뱃살이 늘어나는 듯한 느낌이 계속 들었습니다.

그러다 보니 운동량이 적은 저에겐 대학원다니면서 고갈된 체력을 키워주는데 걷기운동이 필요하다는 것을 느끼게 되었습니다.


대략 2009년 12월달즈음, 저는 걷기 운동을 생활화하게 되었습니다. 12월달, 제가 걷기 운동을 하게 된 계기는 단순히 스마트폰인 Nokia 6210s에 있는 Nokia Step Counter프로그램의 실행결과를 보고 충격을 받았던거에서 시작하였습니다.

저의 휴대폰인 Nokia 6210s - Nokia 6210 Navigator라고 외국에서 많이 알려진 휴대폰입니다


제 휴대폰인 Nokia 6210s에서 Nokia Step Counter라는 만보기 프로그램을 설치한 후 제가 하루에 몇 번 걸었는지 확인해보았습니다.

※ 참고로 Nokia Step Counter는 휴대폰의 G-Sensor를 가지고 사용자가 몇 번 걷는지에 대해 계산한 후에 걷는 숫자를 계산해주는 프로그램입니다.

아래는 Nokia Step Counter에 대한 소개 동영상입니다.





저의 예상과 다르게 생각보다 많이 걷지를 못한다는 것을 알았습니다. orz (부끄러울정도로 공개 불가할 정도로 많이 걷지 않는다는 걸 깨달았습니다)

그리고 집에서 거의 보내 활동양이 적은 주말에는 거의 3000보만 걸어도 많이 걷는구나를 알고 나서는 일부러라도 집근처 올림픽 공원산책을 나가기 시작하였습니다.

학교에서는 엘리베이터를 사용하지 않고 계단만 이용하고, 집(아파트)에서도 계단만 사용하여 걷기 양을 늘리고, 지하철탈때에도 에스컬레이터를 사용하지 않고 옆에 있는 계단만을 사용하는 습관을 들이게 되었습니다

위와 같이 꾸준이 만보 이상 걸으려고 노력하니 하루에 만보 이상을 걷는 습관이 생겼더군요.

만보 이상 걷게 되는 것을 기본생활화 하니 제주올레를 돌때 거의 3만보에 가깝게 걸어도 몸에 무리가 없을 정도로 체력이 좋아진 것을 알게 되었습니다.

아래는 제주도에서 올레길을 걸었을때의 기록입니다.


저는 꾸준히 만보정도를 걷기를 목표로 하다보니 대부분 하루에 8,000보~10,000보 정도를 걷다는걸 프로그램상으로 알게 되었습니다.


아래는 2010년 1월 12일자 저의 걷기 기록입니다.

Posted using Mobypicture.com


매일 만보(10,000보)이상 걷기 운동을 해보니 걷기운동을 하기 전보다 몸이 점점 건강해진 것을 알게 되었고, 배의 군살이 조금씩 빠진 걸 알게 되었습니다.

만보 이상 걸으려는 걷기 운동을 생활화 하다 보니 많이 걸어도 몸에 무리가 오지도 않고, 빨리 걸어도 숨이 차지 않고, 대학원 다니면서 체력고갈이 심해진것이 보충되는 느낌이었습니다.

몸 건강을 위한다면 만보 걷기 운동을 해보세요. 일부러 헬스클럽 가는 것보다 싼 비용으로 효과적으로 운동을 할수 있을것입니다.

Nokia Step Counter라는 프로그램때문에 걷기 운동을 시작하고, 꾸준히 걷기 운동을 하여 덕을 본 저로선, 거의 앉아서 생활하는 다른 사람들에게도 걷기운동에 동참하자는 충고를 하고 싶습니다^^

Buy me a coffeeBuy me a coffee

+ Recent posts