RSS

월간 보관물: 11월 2011

Gravatar 서비스를 iOS앱에서 사용해보자

인터넷을 사용한다는 것은 회원가입을 의미한다. 인터넷상에 자신의  id를 드러내는 것에 불편해 하는 사람도 있고 그것을 무지하다고 생각하는 사람들도 보아왔다. 하지만 여전히 많은 사람들은 자신의 사진을 공개하길 즐기는 것 같다. 그래서인지 사생활 공개와 감시의 위협이 있는 ‘face’book이 폭발적으로 성장하고 있는 것을 봐도 그렇다.

자신의 얼굴을 노출하건 특정 avatar를 대신 보이든,  SNS에서 프로필 사진이 없는 경우는 온라인상의 신뢰를 얻기 힘들다. 그래서 여러 사이트에서 내 사진을 요구하고 관리하고자 하는데 이것은 몇 가지 불편이 존재한다.

  • 어떤 사이트에 회원 가입시마다 내 이미지를 보내야 하는 불편
  • 이미지를 보내기 위해서는 프로필로 등록할 이미지를 내 로컬 저장소에 보관해야 하는 불편
  • 해당 이미지를 수정하거나 제거하려면, 각각의 웹사이트를 돌아다니며 수정해야 하는 불편
이런 것을 관리해주는 것이 오늘 소개할  Gravatar 이다. Globally Recognized Avatar라고 서비스를 한 줄로 표현한다. 참 적절하다. ^_^
이 서비스의 구현 기술은 이메일과 이미지 사이의 맵핑이다. 유저가 입력하는 인증된 이메일과 나의 아바타 이미지를 맵핑해두면, 제3의 사이트에서 회원가입을 할 때 이메일을 입력했을 뿐인데, 내 아바타 이미지를 보여주는 특이한 경험을 선사해주는 것이다. 그것도 자동으로!
이런 자동화의 이면에는 이메일을 md5 hash encode한 다음 그 문자열로 이미지의 url를 완성시켜 이미지를 가져오는 방식이다. 이미 눈치채신 분도 있겠지만 이를 통해서 내 이메일 주소가  사진의  URL속에 노출되지 않도록 보안 문제를 해결하였다.
이제 이 gravatr를 iOS에서 사용하는 것은 무척이나 간단하다. 일단 만들기 전에 찾아봤다. 이미 Mugunth 아저씨가 구현을 해 놓고 공개하고 있으니 가져가서 쓰면 될 것이다.
 
댓글 2개

게시자: 켬 2011년 11월 29일 in iOS개발, Uncategorized

 

하이브리드 앱 개발환경 Appspresso 소개

우리 회사에서는 유난히 하이브리드 앱에 대해서 관심이 높다. 반년 전쯤 애플 앱스토어에 업데이트 걸었다가 승인이 나기까지 한달이 넘게 걸렸던 적이 있었는데, 그 후로 회사에선 네이티브 앱에 대해서는 의구심을 갖기 시작한 것 같다. 빠른 반응속도나 유저 경험은 좋지만, 비즈니스의 명운을 앱스토어가 쥐고 있다는 점이 네이티브 앱은 탐탁치 못했나 보다. 쫄았나? 🙂

하이브리드 앱이란 껍데기만 네이티브로 만들고 그 속 알맹이는 html5와 javascript로 채운다는 개념이다. 이것은 한번 앱스토어에 통과되면 끝. 콘텐츠를 서버쪽에서 맘대로 바꿔치기 할 수 있으니, 교육용 콘텐츠로 승인받고 음란물을 틀수도 있게 되는 것인데. 그만큼 비즈니스가 자유를 갖게 된다는 것이다. 그런 불순한 목적이 아니더라도, 내가 내 콘텐츠를 서비스 하는데 애플에 30%를 떼주는 것이 콘텐츠 사업하는 사람들에게는 칼만 안든 강도로 여겨져서 받아들이기 힘든 조건일 수 있기 때문에 미국의 유수 언론사들도 앱스토어를 통한 판매에는 소극적인 것이다.

그리고 안드로이드와 아이폰, 윈도우 폰까지 가세하면 얼마나 플랫폼이 다양하지 않나? 이걸 일일이 대응하려면 개발비용이 만만치 않을 것이다. 하이브리드 앱은 껌데기만 개발해 놓고 그 속은 html5라니 responsible web으로 꾸며내면 적은 비용으로 여러 플랫폼 지원이 가능해진다는 것은 부인하기 어렵다.

별 내용 아닌 걸 길게 이야기 했는데, 아무튼 하이브리드 앱 만의 장점이 분명히 존재한다.

단점은 짧게 이야기 하면 성능이 쥐약이란 것. 네이티브에서 휙휙 돌아가는 자연스러운 움직임은 아직까지는 어려운 것 같다. html5기술의 비약적 성장으로 많이 극복되었다지만, 네이티브는 놀고 있는게 아니므로 네이티브 앱의 화려한 무공에 따라가는 것은 어불 성설일것이다. 따라서 하드웨어의 성능을 극한으로 사용하는 정말 잘 만들어진 앱은 네이티브에서 계속 나올 것이라고 봐도 요 몇 년간는 틀리지 않을 듯.

이런 치명적인 단점에도 불구하고 하이브리드 앱이 차지 할 수 있는 시장이 분명 존재한다. 그닥 반응속도 빠를 필요도 없고 화려한 하드웨어 성능도 필요없는 단순한 기능 수행정도의 앱을 찍어만들어야 한다면 하이브리드 앱이 그 대안이 될 수 있겠다.

하지만 하이브리드 앱을 맨땅에서 시작하는 건 불가능에 가깝다. 네이티브를 완벽하게 이해한 상태에서 웹기술을 함께 접목할 수 있는 절대고수들의 영역이기에 우리 같은 사람들은 범접할 수 없다. 따라서 우리는 그들이 만들어 놓은 것을 가져다 쓰는 호사를 누려보자. 하이브리드 앱 개발을 쉽게 도와주는 앱스프레소가 바로 그것인데. 서양의 PhoneGap과 유사한 하이브리드 앱 개발환경이다.

간단한 회원가입을 하면 다운받을 수 있으니 홈페이지를 한번 방문해보길 추천한다.

홈페이지, 다운로드 페이지

백문이 불여일견이니 아래 동영상을 한번 보면 감이 올 것이다. 근데 소리가 없네 😦

아래는 홍보글이에요.

앱스프레소는 웹기술을 사용하여 모바일 앱을 빌드할 수 있는 무료 통합개발환경입니다.

외국의 PhoneGap과 같은 개념을 갖고 있으면서도, Eclipse 기반의 개발환경이 무척 편리하다는 평을 받고 있습니다.

현재 단일소스로 Apple iOS, Google Android 앱을 빌드할 수 있으며, 전세계 웹앱 도매시장인 WAC을 위한 앱으로도 패키징할 수 있습니다.

이외에도 Microsoft Windows Phone, RIM BlackBerry, 삼성 바다 등으로 지원 범위를 확대해 나갈 예정입니다.

순수한 국내기술로 2년여에 걸쳐 개발된 앱스프레소는 2011년 3월에 베타버전이 릴리즈되었고, 2011년 11월30일 정식버전이 발표될 예정입니다.

11월 30일은 kth 2011 개발자 컨퍼런스가 있는 날입니다. 이날 keynote 세션에서 앱스프레소가 발표됩니다.

다음은 관련된 인터넷뉴스 기사입니다.

iOS-안드로이드 앱 개발 한 번에…어떻게?

“앱스프레소 7월 정규버전 PDK 추가…완성도 높아질 것”

KTH, 지식공유 개발자 컨퍼런스 ‘H3’ 개최

앱스프레소는 개인과 기업 모두 상업적인 용도로도 무료사용이 가능합니다.

자세한 앱스프레소 소개는 http://appspresso.com/ko/about-ko 에서 보실 수 있습니다.

무료 다운로드는 http://appspresso.com/ko/download-ko 에서 하실 수 있습니다.

복잡한 가입자정보 없이 이메일만 등록하시면 됩니다. 등록하신 이메일로 다운로드 가능한 인터넷 url 주소를 보내드립니다.

 

Rails 입문

최근 몇 주 동안 설문조사 앱을 만들고 있다.

아는 교회 형제님의 부탁으로 만들어 드리기로 약속한게 여름 초입이었던 거 같은데, 벌써 초겨울이니 더 이상 바쁘단 핑계를 델 재주가 없어서 몰입하고 있다.

설문앱을 만들면서 prototype용 서버를 Google App Engine으로 구성했는데, 인증 쪽도 마음에 들지 않고 뭔가 바닥부터 시작해야만 하는 부담감이 컸다. 그래서 나름 appengine admin같은  모듈을 이용해서 RESTful 서비스가 가능한 구조로 만들어봤는데, 여전히 뭔가 부족함이 많았다. GAE를 대체할 만한 무언가가 필요했는데, Rails를 들여다 보기 시작했다.

Rails를 본격적으로 공부하기 시작한 건 약 한 달 전부터이다. 생소한 Ruby언어에 Rails 프레임웍이 익숙하지 않아 주말마다 낑낑대면서 ‘삽자루’를 쥐고 계속 팠더니 이제 좀 익숙하다.

Ruby언어는 몇년전,  Beijing 주재 ThoughWorks란 회사에 면접을 본 적이 있는데, 이 때 문제를 Ruby나 자바로 풀어야 했었는데 둘 다 익숙하지 않았던 터에 그냥 Ruby를 배워서 면접 과제를 수행했던 재밋는 추억이 있는 언어다. 당시 면접에 Pair programming 시간이 있었는데 MacBook Pro의 OSX도 익숙하지 않았고 Ruby도 한 주 정도 공부한 상태로 프로그래밍을 했었다. 영어로 의견교환을 하면서… 하지만 어떤 이유에서인지 거기서 일할 기회는 얻지 못했다.

암튼 그런 추억이 서린 Ruby고 그것과 연관된 Rails란 web development framework를 익히는 과정은 힘들었지만 다른 언어 환경과 비교해서 무척 즐거운 경험이었다.

내가 Rails를 익히게 된 절차는 이랬다.

  1. Ruby 언어 익히기 (약 2시간 정도)
  2. Rails 기초 (Rails for Zombie, 약 4시간)
  3. 설문앱을 위한 Model, Controller, View 구성 (약 10시간)
  4. 인증을 위한 Devise기초 (약 10시간, rails에 대한 이해가 부족해서 삽질이 많았음)
  5. (현재 진행중)

앞으로 남아 있는 게 수없이 많겠지만, 이제 rails 입문은 끝낸듯 하여 기쁜 맘에 몇 글자 적어본다.

 

 
댓글 2개

게시자: 켬 2011년 11월 17일 in Uncategorized

 

고향집에 있는 책들

공대 졸업자들은 누구나 있을 법한 공업수학과 물리학개론서부터 전공서적인 회로이론, 전자회로, 컴퓨터구조 등등
전공서는 배울 때는 열심히 했던거 같은데 지금 내 직업과는 거리가 있는 과목들이 많았네 그려 🙂

신기하게도 교양수업 중에 배웠던 미국정치외교사, 중국근대사, 고대근동사 등 오히려 이런게 더 실제 삶에 도움이된 듯!

고향집 책꽂이에서 별생각을 다해보는군!

최피디 단상

 
댓글 2개

게시자: 켬 2011년 11월 5일 in Uncategorized

 

Xcode 4.2에서 armv6가 빠진 이유

Xcode 4.2에서 프로젝트 설정에 들어가보면 Architecture 설정부분이 있는데 이번 4.2버전부터 armv6가 기본으로 제외되었다. 설정을 추가 함으로 컴파일러 경고를 없이할 수 있는데, 자세한 내용은 다음 링크를 참조하면 쉽게 수정가능하다.

http://www.weston-fl.com/blog/?p=3050

그런데, 왜 armv6가 빠졌는지 생각해보자면, 현재 iOS device중에서 armv6 기반은 iPhone 3 이전모델과 iPod touch 1,2세대까지다. iPhone 3는 국내에서 보기 힘든 모델이고 iPod touch도 4세대가 나온지 일년이 다 되어가는 시점에서 1,2세대는 참 오래전 이야기일 뿐이다.

공교롭게도 위 제외된 모델에는 iOS 5를 설치할 수 없다. 애플이 향후 iOS 5를 전략적으로 밀기 위해서 나머지 것들을 정리하려는 계산에서 Xcode 4.2에서 armv6를 제외한 것이라고 본다.

혹시, 당신이 만들고 있는 앱이 iPod touch 1,2세대까지 지원해야하는 앱이라면 armv7 뿐만 아니라 armv6도 함께 추가해줘서 호환성을 보장할 필요가 있겠다.

 
 

웹-앱 게이트웨이로 하이브리드 앱 만들기 동영상 강좌

아이폰 네이티브 앱에서 웹뷰를 띄워서 하이브리드 웹앱의 형태로 개발하는 사례가 늘어가고 있다. 심지어 프레임만 웹으로 가져가고 나머지는 모두 웹뷰에서 처리하는 앱도 있는데 나름 장점이 있겠다.

  • 애플 승인 없이 앱을 업데이트 할 수 있다.
  • 안드로이드/아이폰 두 플랫폼을 한 번에 개발할 수 있다.

이 두가지만으로도 비즈니스 측면에서 유용성 면에서 네이티브 개발보다 웹뷰를 통한 개발이 훨씬 우위에 있다고 하겠다.다가 HTML5의 막강한 파워를 아이폰/안드로이드 모두 지원하고 있기 때문에 자바스크립트 개발자들은 네이티브를 몰라도 얼마든지 모바일 웹 개발이 가능해졌다.

하지만 한계는 존재하는데, 카메라나 엑셀러미터 정보등 하드웨어 장치에 대한 인터페이스는 아직 제대로 마련되어 있지 않은 관계로 네이티브와 웹뷰 사이에 가교역할을 해줘야 할 경우가 많다.

이 컨셉으로 만든 것이 웹-앱 게이트웨이로 웹뷰를 호출할 때 네이티브의 UI를 정의하거나 UI의 이벤트를 웹의 JS호출로 변경하거나 하는 트릭을 넣은 것이다.

자세한 내용은 다음 동영상을 잠깐 보면 이해가 될 것이다.

내용

  • 웹뷰 – 앱 UI 정의
  • 앱에서 버튼 탭 이벤트를 웹뷰의 JS호출로 변환
난이도: 중급

 

소스코드는 github에 올라가 있다.