reCAPTCHA를 웹서비스에 적용시켜 보거나 또는 적용된 웹서비스를 이용하면서 두 단어를 입력하는 것에 대해서 더 정확하게 판별을 할려나 보다 외에는 별다른 생각이 없었다. 몇일전 TED에서 reCAPCHAR를 만든 루이스 폰 안의 '대규모 온라인 협업'이란 강연을 보면서 그 이유를 알 수가 있었다.



reCAPCHA의 주목적은 내가 알고 있던 실제 인간을 판별하기 위한 것 뿐만 아니라 책들을 디지털라이징을 하는데 도움을 주기위한 것도 있었다. 스캔후 OCR로 판독하기가 어려운 상태가 좋지 않은 문자들을 reCAPTCHA에 구별을 위한 문자와 같이 보여줌으로써 인간의 도움을 빌린다는 것이다. reCAPTCHA 인증시 나오는 단어중 하나만 실제 인간인지 판별하는 용도로 사용되고 나머지 하나는 컴퓨터가 판독하기에 불분명한 단어들을 확인하기 위해 사용한다는 것이다. 참으로 기발한 아이디어인 것 같다.

다만 reCAPTCHA를 이용하는 서비스 사용자들의 책들의 디지털라이징에 도움을 주는 이러한 참여가 누구를 위한 것인지는 의문이 든다. reCAPTCHA는 구글에 인수되었는데 구글북스의 디지털라이징에 사용되는지는 모르겠다. 광고를 보고 클릭함으로써 구글의 서비스를 무료로 이용하는 것처럼 문자 판독에 작은 도움을 주고 서비스들을 무료로 사용하는 대가중 하나로 봐야 하는 것인인지...

용도와 목적이야 어찌되었던 이런 개인들의 작은 노력이 합쳐져 커다란 결과물을 낼 수 있는 도구들이 많아 진다는 것은 좋은 현상인 것 같다. 물론 그 목적이 모두가 누릴 수 있는 공익이라면 더 보람과 가치가 있을 것이다. 그동안 IT에 별로 관심이 없었더니 오래전 부터 시작된 일을 이제서야 혼자 감동 받고 뒷북을 치고 있으니 조금 난감하기는 하다.

루이스 폰 안은 위의 TED 강연에서 Duolingo란 새로운 서비스를 소개한다. 웹사이트들을 많이 사용되는 여러 언어로 번역을 하는 서비스이다. 이 역시 여러 사용자들의 자발적인 참여를 통해 번역을 하게되며 사용자들은 Duolingo 서비스를 통해 번역할려는 다른 외국어를 학습하며 번역을 한다.


사이트를 가보니 베타 테스트 중이며 아직 지원하는 언어가 많지 않은 것 같다. 어떤 방법으로 사용자에게 외국어 학습과 함께 번역에 기여할 수 있게 하는 가는 잘 모르겠지만 뭔가 재미있는 것이 나올 것 같기도 하다. 영어가 모국어인 사람들도 많지만 전체로 보면 영어를 배우고 싶어하는 사람이 더 많을 것이다. 그런데 현재 모습만 보면 왠지 외국어를 배우고 싶어하는 영어 사용자들을 위한 단방향 서비스인 것 같기도 하다. 영어에 익숙해지기 위해 많은 시간을 투자해야만 하는 한국에서 이런 비슷한 서비스가 한글 전용으로 나오는 것도 괜찮을 것 같다.

저작자 표시 비영리 변경 금지
신고

'이야기들 > 소소한 이야기' 카테고리의 다른 글

Xcode 재설치  (6) 2012.03.09
reCAPTCHA와 집단지성의 활용  (0) 2012.01.31
꿩 대신 닭?  (2) 2012.01.11
2012년...  (0) 2012.01.02
아이맥 구입  (8) 2010.04.25
아이폰 개발자 프로그램 갱신  (2) 2009.11.05

컴퓨터, 스마트폰, 탭 각종 디스플레이 기기에 둘러 쌓여 있다보니 오히려 아날로그적인 옛것들에 관심이 많이 간다. 하지만 아마존에 나온 킨들4가 요즘 마음을 조금씩 흔들고 있다. 지름신은 왔지만 정말로 나에게 필요한가에 대해서 생각하다 보면 망설여지게 된다. 킨들과는 다르지만 갤럭시탭에 킨들 어플을 깔고 몇권 다운로드 받아서 보긴했지만 이 역시 처음에 몇 페이지만 읽다가 그만두었다. 칸들에 대한 아쉬움도 있고해서 아이폰의 iBooks에 들어가서 이것저것 둘러 보았다. 보다보니 애플에서 올린 개발관련 문서들이 있다. 


iOS Application Programming Guide
The Objective-C Programming Language
Object-Oriented Programming with Objective-C
iOS Technology Overview
Cocoa Fundamentals Guide 
iOS Human Interface Guidelines

다운로드 받아서 iBooks에서 보니 약간 색다르기는 하다. 가장 필수적인 문서들을 모아놓은 것 같은데 iOS Human Interface Guidelines는 한국앱스토어에서는 나오지가 않는다. 컴퓨터에 접근할 수 있는 상황에선 필요 없겠지만 화장실이나 지하철에서 심심할 때 마다 읽어봐야 겠다. 일단 이것으로 킨들에 대한 지름신을 퇴치했다고 믿고 싶다.
저작자 표시 비영리 변경 금지
신고

'이야기들 > 소소한 이야기' 카테고리의 다른 글

Xcode 재설치  (6) 2012.03.09
reCAPTCHA와 집단지성의 활용  (0) 2012.01.31
꿩 대신 닭?  (2) 2012.01.11
2012년...  (0) 2012.01.02
아이맥 구입  (8) 2010.04.25
아이폰 개발자 프로그램 갱신  (2) 2009.11.05

간단한 게임을 하나 만들어 볼려고 하는데 아이폰과 안드로이드 모두 지원하는 Cocos2d-x를 사용해 보기로 했다. NDK도 기존에 사용하던 r5에서 새로운 버전으로 설치하였다. 맥 라이언에서 NDK r7과 cocos2d-1.0.1-x-0.10.0 기준이다.

1. 다운로드 및 설치
1.1 NDK
안드로이드 개발자 사이트에서 최신버전인 r7을 다운로드 받고 압축을 푼 후에 적당한 폴더로 복사한다.

1.2 Cocos2d-x
cocos2d-x의 다운로드 페이지에서 최신버전인 cocos2d-1.0.1-x-0.10.0을 다운로드 받고 압축을 푼 후에 적당한 폴더로 복사한다.

둘다 설치는 간단하다. 다운로드 받고 압축을 푼 후에 원하는 폴더로 복사하면 된다. 

2. 설정 수정
복사해 놓은 cocos2d-1.0.1-x-0.10.0 폴더로 이동한다.

2.1 create-android-project.sh

NDK_ROOT="/home/laschweinski/android/android-ndk-r5"
ANDROID_SDK_ROOT="/home/laschweinski/android/android-sdk-linux_86"

상단에 위와 같이 되어 있는 부분을 아래와 같이 실제 NDK와 안드로이드 SDK가 설치된 폴더로 변경한다.

NDK_ROOT="/Users/zzerr/android-ndk-r7"
ANDROID_SDK_ROOT="/Developer/SDKs/android"

2.2 ./cocos2dx/Android.mk

NDK r7에선 glplatform.h의 GL_GLEXT_PROTOTYPES 이 제거되어 컴파일시 오류가 발생한다. 설치된 폴더내에 cocos2d-x 폴더의 Android.mk를 열어 아래와 같이 수정한다. 

LOCAL_CFLAGS := -DUSE_FILE32API


하단의 위와같이 되어 있는 LOCAL_CFLAGS를 찾아 아래와 같이 GL_GLEXT_PROTOTYPES를 추가한다. 
 

LOCAL_CFLAGS := -DUSE_FILE32API -DGL_GLEXT_PROTOTYPES=1



3. 프로젝트 생성
3.1 create-android-project.sh 실행
안드로이드 프로젝트 생성을 위해서 cocos2d-x 폴더에서 create-android-project.sh 를 실행한다. 

 
실행후에 package path를 입력받는데 적당한 이름을 입력한다. 


다음으로 타겟 안드로이드 SDK 버전을 입력한다. 출력되는 리스트중에서 선택을 한후 'id:' 다음에 나오는 숫자를 입력한다.


그리고 프로젝트명을 입력하면 cocos2d-x 폴더 아래에 프로젝트 이름으로 프로젝트 폴더가 생성된다. 이클립스에서 새로운 프로젝트를 생성하고 위에서 생성된 프로젝트 폴더에서 android 폴더를 선택한다.

3.2 build_native.sh 실행
[프로젝트명]/android 폴더에 있는 build_native.sh를 실행하여 필요한 라이브러리들을 빌드하여 생성한다.

3.3 빌드 및 테스트
이클립스에서 빌드 후 테스트를 한다.


갤럭시탭에서 실행해서 화면에 빈공간이 많은 것 같다. 위에서 프로젝트 생성시 타겟 목록에 따로 갤럭시탭이 있기는 하다.
저작자 표시 비영리 변경 금지
신고

'안드로이드' 카테고리의 다른 글

Cocos2d-x 설치 및 테스트  (4) 2012.01.03