Rath World » 2009 » September

Archive

Archive for September, 2009

개발자가 쓴 네이트 앱스토어 체험기

September 30th, 2009 2 comments

오늘 네이트와 싸이월드가 통합됐다.

관심 없다. 나는 개발자가 아니던가. 앱스토어가 오픈한 것이 가장 중요한 것이다.

Dev.Square 개발자센터에 가서 간단한 가입절차만으로 앱스 서빙을 할 수 있었다. 스토리를 통해 체험기를 나누려하니 장문의 글이 될까 걱정되어 목록 형식으로 네이트 앱스토어 개발자센터 체험기를 정리해보겠다.

  • 가입이 간단하다. 네이트 아이디로 로그인한 뒤, ‘활성화하기’ 버튼만 누르면 바로 대쉬보드 페이지가 활성화된다.
  • Sandbox를 제공한다. Facebook App 개발자에게 제공되는 API/FBML 테스트 플랫폼과 비슷한 개념. 서비스 런칭 전에 이게 잘 돌아갈런지.. 고민할 필요가 없다. 상세 기능까지 테스트한 것은 아니므로 퀄리티는 보증하지 못하지만.
  • OpenSocial 버전 0.81을 지원한다.
  • Dev.Square 개발자센터에서 제공하는 문서의 품질이 나쁘지 않은 편이다. OpenSocial과 관련된 부분은 얼렁뚱땅 링크만 해놓고 넘어가고 있으나, 오픈소셜 컨테이너 위에서 앱스를 개발하고자 하면서 모든 관련된 문서를 개발자센터에서 찾으려고 하는 시도는 올바르지 않은 태도이니 괜찮다고 할 수 있겠다.
  • 포럼은 유익하지 않다. (싸이월드 클럽으로 제공하고 있는데 유익한 정보를 찾지 못했다.)
  • 사용자가 앱을 승인할 경우, 앱스 개발자는 사용자의 이름, 주소, 나이, 생년월일, 성별, 별명 등 대부분의 개인정보에 접근할 수 있다. 하지만 이 정보들을 앱개발자가 보관할 수 있다는 것은 아니다. 개발자센터 문서에 따르면 절대로 저장하면 안되고, 캐시 목적으로 저장할 경우라도 24시간 이상 유지해서는 안된다고 한다.
  • 일촌 목록을 다 가져올 수 있다. 그리고 일촌에게 앱 추천 메시지를 날릴 수 있는 인터페이스를 제공한다.
  • OpenSocial의 Persistence API를 제공한다. 앱스 내에서의 사용자 설정이나 랭킹정보따위를 어디에 보관할지 고민하지 않아도 된다. 그런데 쿼터는 없을까? 관련 정보는 문서에 기재되어있지 않다. 문서에는 Key/Value 형식이고 값 부분에는 JSON 객체를 그대로 넣을 수 있다고 한다.
  • Activity 스트림을 제공한다. 앱 초대 메시지를 보낼 수도 있고, 앱이 사용자에게 앱 메시지를 보낼 수도 있다. 1,000 byte 제한이 있고, 하루에 한 앱이 한명의 사용자에게 보낼 수 있는 메시지 수 제한은 5개다.
  • 앨범/사진첩 접근 API를 제공한다. 네이트 앱스토어는 OpenSocial 0.81를 지원하고 Album/Photo 관련 API는 OpenSocial 0.9부터 추가된거라 지원을 준비중이라고 한다. 문서가 깔끔히 작성되어있지 않아 혼란을 주는데.. 결론은 opensocial.newDataRequest().add(req.newFetchAlbumsRequest(idspec), ‘viewerAlbums’); 로 앨범 데이터를 가져올 수 있다. 사진첩도 접근 가능하다.
  • 게시판에도 쓰기 권한을 가질 수 있다. 물론 엄하게 조용히 확! 써버리는 것이 아니라, 앱스 개발자는 게시물 내용만을 지정할 수 있고, 네이트가 제공하는 팝업창이 떠서, 사용자가 제목과 댓글을 채우고 승인하는 식이다. 페이스북 앱에서 ‘이 정보를 Wall에 쓸까요?’ 하고 confirm 하는 것과 동일한 방식이다.
  • 결제시스템. 앱스 내에서의 아이템(혹은 서비스) 구매를 할 때 사용자의 도토리를 사용할 수 있다. 대단. 대신 수익의 30%는 SK컴즈가 가져가고 70%만이 개발자의 몫이다. 일반적인 일회성 결제도 가능하지만, 앱 내에서의 통화수단으로의 환전 또한 지원한다. 시장을 꽤 크게 보고 있는 듯 하다. Facebook 의 유명한 마피아워- 나 몹워를 생각하면 이해가 빠를 것이다. 결제 API는 openNate.dotoriPayment(params) 식으로 구성되어있다.
  • 구글 애드센스 사용이 금지되어있다.

오늘 오픈한 앱스토어에 등록된 앱들의 퀄리티는 단연코 별로다. 하지만 여태까지 살펴본 것으로 미루어볼 수 있듯이, 대충 오픈 해놓고보자- 식의 오픈이 아닌 것은 분명하다. 훌륭한 앱들이 많이 올라올 것으로 생각된다.

흥미로운 주제가 아닐 수 없다.

Categories: Development Tags: , ,

Hibernate로 프로젝트를 진행하며 느낀 점들

September 30th, 2009 4 comments
  • c3p0을 썼을 때 DB가 안떠있으면 정상적으로 connection refused가 뜨기도 하지만, 어이없게도 deadlock이 의심된다는 예외가 뜰 때가 있다.
  • org.hibernate의 로그 레벨을 DEBUG로 하면 1초만에 1.3MB, TRACE로 하면  5MB의 로그파일이 생겼다.
  • @OneToOne, @OneToMany, @ManyToMany, @ManyToOne 과 친해지면 시간을 절약할 수 있다.
  • Cascade를 제대로 이해하지 못해서 삽질 제대로 했다. 신물나는 삽질의 결과로 깨달음을 얻긴 했다.
  • Cascade는 타이핑 하기 어렵다.
  • FetchType.LAZY 와 FetchType.EAGER 를 적절히 사용하기가 쉽지 않다. pros and cons 가 있는 듯 하다. best practice는 그다지 도움되지 않는다.
  • EJB3 annotation (javax.persistence.*)으로 묶은 POJO들을 JSON/XML bind도 하면서 AMF로 Flex 클라이언트에게 보내다보면, POJO가 클라이언트 끝에서 백엔드 끝까지 한큐에 왔다갔다하는 기쁨을 누릴 수 있다. 단, 그지경까지 가려면 선행 학습과 약간의 try-and-error가 필요하다.
  • FetchType.LAZY로 뽑은 녀석들을 함부로 Serialize 해버리는 것은 위험하다. 경고나 예외가 발생하지 않는다. 프록시 오브젝트들도 함께 Serialize 되버린다. 물론 그것들을 뽑을 때(Hibernate session이 없는 곳에서) 낭패를 본다. 주의가 필요하다. Hibernate.initialize() 메서드는 달갑지 않다.
  • c3p0를 JMX로 관리할 의도가 전혀 없을 경우, 시스템 프로퍼티 com.mchange.v2.c3p0.management.ManagementCoordinator 에 com.mchange.v2.c3p0.management.NullManagementCoordinator를 넣어주지 않으면 startup 시마다 access denied 스텍트레이스 4종 세트를 만나게 된다. hibernate.cfg.xml 에 이리저리 이름 바꿔보며 찡겨넣어봐야 소용없다.
  • HQL을 쓸 때, from myentity where user.email=? 하면 에러. from myentity as m where m.user.email=? 은 통과한다. as가 인기 좋은 것은 hibernate 세상에서도 여전한가보다.
  • L2 cache는 선택할 수 있지만 L1 cache는 없애버릴 수 없음을 잊지 말자. 무지 큰 레코드셋을 핸들링하려면 Session.evict()와 친해져야만 한다.
  • 레거시 데이터를 처리하려면 Session.save, update, saveOrUpdate 뿐만아니라 Session.merge와도 친해지는 것이 좋다.
  • hibernate.cfg.xml 에서 show_sql 켜놓으면 점점 쓰기 싫어진다. 한창 개발을 진행하고 있을 때는 정신건강을 위해 꼭 꺼두도록 하자.
Categories: Development Tags: , ,

주말아저씨 복장으로 연주한 소나티네와 터키행진곡

September 30th, 2009 2 comments

한동안 프로그래밍에 관련된 이야기만 올린 듯 하여 간만에 피아노 연주 영상을 올립니다.

비브라폰 효과로 클레멘티 소나티네 Op.36 No.1 과 No.3 를 연주했고요,
그 다음엔 다시 피아노 효과로 바꿔서 제가 좋아라하는 모짜르트 터키행진곡를 연주했고요,
마지막으로 쿨라우 소나티네 Op.20 No.1로 마무리 지었습니다.

10일전에 미투데이에도 올렸던 영상인데요.  노마님의 댓글이 특히 재미있었습니다.

표정은 쇼팽급, 연주실력은 모짜르트급, 복장은 주말아저씨급 -_-

물론 연주실력이 모짜르트급이란 부분은 믿으시면 안되고요, 다음번엔 의상에도 신경을 쓰라는 의미로 받아들였습니다. 하하.

클래식 곡들을 좋아하지만, 대부분의 사람들이 클래식에 관심이 없어 연주를 함께 공유하기 어려운 듯 합니다. 그래서 요새는 이루마의 River Flows In You에 도전하고 있습니다.

그날이 오기를 기대하며.