소개


Google Cloud SQL 은 고가용성, 자가관리 및 호스팅되는 SQL 저장소 솔루션을 제공하는 웹 서비스입니다. 또한 사용하기 쉽고, 어떠한 소프트웨어 설치 및 관리가 필요없으며, 중소규모 어플리케이션에 이상적입니다.

Google Cloud SQL 은 Java 또는 Python 으로 작성된 Google App Engine 어플리케이션에서 사용 가능합니다.



기능 및 능력

Google Cloud SQL 은 DB 인스턴스를 쉽고 효과적으로 생성 및 관리하는 몇 가지 기능들을 제공합니다. 주요 기능은 다음과 같습니다.
  • 클라우드상에 MySQL 데이타베이스의 호스팅  
  • DB 인스턴스의 최대 크기는 10GB
  • 동기 / 비동기 복제 기능
  • 구글 데이타스토어와 비슷한 성능
  • mysqldump 를 사용한 데이타베이스 Import / Export
  • Java / Python 와의 호환성
  • 컴맨드 라인 도구 
  • Google APIs 콘솔 내에서의 SQL 명령 프롬프트 기능


지원 

다음은 Google Cloud SQL 팀에 연락하거나 Google Cloud SQL 커뮤니티에 참여할 수 있는 몇 가지 방법입니다.


사용하기 

준비 사항
  1. 프리뷰 서비스 가입
  2. Google App Engine SDK 설치
  3. Google Cloud SQL 인스턴스 생성
  4. 접근 제어 설정

내 Google Cloud SQL 인스턴스의 사용


Google Cloud SQL 인스턴스는 다음 절차에 의해 Google APIs Console 을 사용해 관리한다.
  1. Google APIs Console 에 로그인
  2. 관리하기 원하는 Google Cloud SQL 인스턴스가 있는 프로젝트 선택
  3. 관리하기 원하는 Google Cloud SQL 인스턴스 선택

어플리케이션 작
Java 또는 Python 으로 작성된 Google App Engine 어플리케이션으로 Google Cloud SQL 에 접근할 수 있다. 우리의 Google Cloud SQL 인스턴스에 접속하고 사용하는 방법에 대해서 배워보자.

기본 동작
Posted by 따봉맨
Java Data Objects (JDO) VS  


AppEngine 의 Datastore 에서는 데이타 처리를 위한 3 가지 API 를 제공하고 있습니다.

  • 간단하게 사용 가능한 com.google.appengine.api.datastore 에 구현되어 있는 low-level API
  • RDBMS 에 데이타 저장을 위해 사용하는 표준 인터페이스인 Java Persistence API (JPA)
  • 많은 DBMS 에서 사용 가능한 표준 인테페이스인 Java Data Object (JDO)

항상 이렇게 친절하게도 여러개 중에서 마음에 드는 것을 골라쓰게 해주면 처음하는 입장에서는 아주 많이 고민스러워지죠. 뭘 써야하나? 제일 좋은 것만 공부해서 쓰고 싶은데... 다 볼 필요는 없잖아? 근데 뭘 선택해야하지?? 나중에 없어지는 API 가 밠생하지는 않을까??

이런 생각은 선택을 해야하는 입장에서는 다 똑같은가 봅니다. 아래 Stack Overflow 커뮤니티에 보면 이 질문이 올라와 있습니다.


우선  low-level API 는 사용하기는 정말 간단합니다. 하지만 prototype 에 의한 type safe 한 코드를 작성할 수 없고, 표준 인터페이스가 아니기에 향 후 다른 Database 로 이전이 완전히 불가능하게 됩니다. 물론 JDO 또는 JPA 를 선택한다고 해서 있는 그대로 DB 를 이전할 수는 없겠지요. 호환되지 않는 부분에 대해서는 철저한 분석에 의한 이전 계획이 필요할 것입니다. 그러니 결론은 JDO 와 JPA 중에서 하나를 선택해야 하는 것이지요!!

아래는 선택시 참고할 만한 자료입니다.
JDO-JPA FAQ
위의 내용들을 검토하시어 신중을 기해 선택하셔야 겠습니다.

저의 선택을 강요할 수는 없습니다!! ㅡ_ㅡ;; 제가 JDO, JPA, AppEngine 에 대해 많은 경험과 지식을 갖고 있다만 당당히 주장하겠습니다만... 저 또한 두들겨 가며 다리를 건너고 있는 터라 걱정되거든요 ^^ 같이 죽을 수는 없잖아요???
다만 저의 선택을 말씀드릴 수는 있습니다.

이 모든 것을 참고하셔서 선택하시고, 그 결과 또한 여러분의 것 입니다^^

저는 JDO 를 선택 했습니다. 위의 자료를 모두 살펴보니 JDO 로 마음이 기울었고, Google 의 AppEngine 설명 페이지로 돌아오니 각 API 에 대해서 제공하는 가이드라인을 보니 Google 이 더 관심을 갖는 API 가 JDO 라는 것이 느껴졌습니다.
Google 이 설명하는 페이즈의 내용을 보다라도 JDO 에 더 중심을 두고 설명하고 있습니다. 또한 작년에 AppEngine 을 사용하면서 막연하게 JDO 를 사용해 본 경험이 있었는데, 모델링하는데 불편함 없었던 기억이 있습니다. 그래서 이 번 프로젝트에서도 JDO 를 사용하기로 했습니다.

여러분은 어떤 선택을 하시겠습니까????
Posted by 따봉맨

Run your web apps on Google's infrastructure.
Easy to build, easy to maintain, easy to scale.



클라우드 컴퓨팅 환경 도입을 위해 변화된 업계 동향을 수집 중에 좋은 소식을 발견했습니다.

저는 Google 제품들을 아주 많이 좋아하는터라 AppEngine 을 도입하리라 생각하고 있었습니다만 한 가지 마음에 아주 크게 걸리는 것이 있었지요!! 현재의 AppEngine 은 SQL 을 사용할 수 없습니다. 구글에서 개발한 분산 데이타 저장소인 Bigtable 을 꼭 사용해야 하거든요.

기업에 있어서 데이타야 말로 생명이나 다름 없는데... 이런 데이타를 듣도보도 못한 큰 테이블에다가 죄다 넣어놔야 하는 것이지요. 한 가지 위안인 것은 구글에서 만든 서비스들은 모두 이 구조로 되어 있다고는 하는데... 설마 모두 그러겠습니까??? ㅡ_ㅡ;;; Bigtable에 데이타가 저장된 이상 다른 클라우드 서비스로의 이전이 불가능하게 되어 버리는 것이지요.

이 부분인 마음에 걸린채로 써야되나, 말아야 하나... 걱정하면서 IaaS 서비스 들을 알아보고 그랬었지요.

근데 올 해 2 분기 부터 기존 RDBMS 를 그대로 AppEngine 에서 사용할 수 있는 Google AppEngine for Business 서비스를 오픈한다는 글을 발견했습니다. 이 소식 외에도 AppEngine Roadmap 을 보시면 향 후 업그래이드 일정이 나와있습니다.

이제 마음놓고 구글의 PaaS 인 AppEngine 을 선택해도 되겠네요!!!!

2분기 될 때 까지는 어떻해야하나.... 그 전에 오픈해야 하는데.. ㅡ_ㅡ;; 이래저래 골치군요!!

Posted by 따봉맨
멀티코어를 이슈로 하는 모바일 기사가 점점 더 많이 눈에 띄는 것 같군요.

올 초 칸드로이드 세미나에서는 멀티코어 관련 질문을 하여 말 많고, 탈 많은 LG 안드로1 안드로이드 폰을 받았었지요.
"안드로이드 진영을 창차 다가올 멀티어어 개발 환경을 위해 어떤 준비를 하고 있습니까???"
이 것이 저의 질문이었습니다.

멀티코어에 대응하기 위한 방법은 크게 2 가지가 있습니다.

첫번째로 개발자의 사고 방식을 멀티코어 환경에 맞게 바꾸는 것이죠. 가장 원초적인 방법인데.. 정신적으로나 육체적으로 많이 힘든 방법입니다. 하지만 이 방법을 전혀 배제할 수는 없습니다. 어느 정도 병렬처리에 대한 지식은 있어야 합니다.

두번재로 멀티코어 개발 환경의 지원을 받아 멀티코어에 적응하는 코드를 작성하는 것이지요. 이 방법은 새로운 API 를 익히는 정도에서 비교적 첫번째 방법에 비해 손 쉽게 병렬처리에 대응하는 어플리케이션을 개발할 수 있습니다.

효과적으로 멀티코어 앱을 개발하기 위해서는 위의 2 가지를 모두 적용해야 합니다!!!! ㅡ_ㅡ;;;
그리고 멀티코어 환경에서 실행된다고 앱의 동작 속도가 더 빨라지는 것은 아닙니다!! 코드가 병렬 처리에 대응할 수 있도록 작성되어 있어야만 멀티코어 효과를 누릴 수 있습니다!!!

근데 정말 모바일에서의 멀티코어가 배터리 이슈를 넘어설 수 있을까요???? 관심있게 지켜볼 부분이라 생각합니다^^


참고자료











Posted by 따봉맨

이번에 애플에서 앱스토어 개발자 규칙을 완화하면서 등록될 것으로 예상되는 앱들입니다.

구글 보이스: 승인(예상)
어도비 크리에이티브 스위트 5 : 승인 확실
애드몹: 승인 확실
풍자: 승인(전문가 한정)

거부예상

(신규) 저질 앱스: 승인 거부
“저질 앱스는 더 이상 필요 없다. 유용하거나 또는 일정 형태의 영구적 엔터테인먼트를 제공하는 게 아니라면 승인 받을 수 없다”

포르노 앱: 승인 거부 계속


Posted by 따봉맨

드뎌 서울에서 삼성 "bada 개발자날" 행사가 있었습니다!!
쫌 해석이 이상하군요.... 개발자날.. 암튼...
삼성에서 구글의 Google I/O, MS의 MIX 같은 성격으로 시작을 하는 행사 같더라구요.
아직 하드웨어쪽 성향이 강해서 일까요??? 컨테이너 박스로 지어진 행사장을 선택 했더라구요.. ㅋㅋㅋㅋㅋ
위에 사진에서 처럼 자유로운 분위기가 물씬 풍기는 그런 곳이었습니다.

오늘을 시작으로 SW 업계에서도 크게 성장하는 발돋음해 주었으면 합니다.
(바다를 시작하려는 입장에서의 바램입니다. ㅋㅋ 참고로 삼성전자 주식도 1 주 있어요~~)

행사장에 못오신 분들은 아쉬워 하실 필요 없습니다.
사이트에 있는 내용 그대로 읽어준 것 외에 삼성이 바라보고 있는 SW 공룡들(구글,MS...)들 처럼 "bada" 심볼 박혀 있는
볼팬, 티셔츠 준거?? 아.. 분위기 쌩뚱맞게 백지수첩을 준거??? 말고는 그냥 바다 개발자 사이트 보시면 됩니다.
뭐 이런거 아쉬워 하실 분은 없을 듯... 바다폰을 줬다면 마니 부러........웠을까요???
아래 링크가 있으니 차근차근 읽어 보시면 오셨던 효과 있습니다. ㅋㅋㅋ

삼성 주최측 여러분 수고 많았구요.
해외에서도 있을 후속 행사에서도 잘 하시길 바랍니다.

세계인의 "바다"가 되도록 많은 지원과 노력 부탁 드립니다.
화이링~

아!!! 중요한 것 한가지 추가요~~!!!!

한 가지 확실한 것은 삼성이 "bada"로 장난치는 것이 아니라는 것을 확인했구요.
삼성에서 생각하는 자사의 "bada" 플랫폼의 공략 대상은 기존의 스마트폰 시장이 아니라
현재 자신들이 갖고 있는 피쳐폰 라인업 중에서 하이엔드급에 해당하는 풀터치 폰들을 공략해서
새로운 스마트폰 시장을 창출하겠다는 것입니다.

이러한 의견은 이전의 "bada" 관련 기사에서는 볼 수 없었던 내용인데요. 삼성의 이런 결심이
좋은 결과를 냈으면 좋겠군요. 그래야 "bada"에서 어플리케이션 개발을 준비하는 우리의 노력이 빛을 낼 수 있을 것 입니다.

아래는 어제 행사장에서 찍었던 사진들 입니다.


012345678



발표 내용의 원문 입니다. 아래 내용을 추려서 PT가 작성 됐더라구요...

[원문] http://developer.bada.com/apis/docs/commonpage.do?menu=MC01010300

Overview  
•    What is bada 

SDK  
•    Developer Site
•    SDK and IDE
•    UI Builder


Fundamentals  
•    Idioms
•    Base
•    Io
•    System
•    Debugging


UI & Application  
•    App
•    Ui
•    Graphics
•    Uix


Social  
•    Social
•    Device Features
•    Server-assisted Features


Location   
•    Locations
•    Location Services
•    Locations Controls


'Smart Mobile > Samsung bada' 카테고리의 다른 글

"바다" 어플리케이션 생명 주기  (2) 2010.03.16
바다 Application UI Classes  (0) 2010.03.16
삼성 "바다" Developer Day  (0) 2010.03.10
Posted by 따봉맨
스마트폰 어플리케이션은 열악한 환경 위에서 최적/초고의 성능을 내야 합니다.
데스크탑 어플을 개발할 때 처럼 인심 좋게 만들어 져서는 안되겠지요!
그래서 모바일 플랫폼에서는 아래와 같은 생명 주기에 의해서 어플리케이션을 운용하고 있습니다.

즉, 불필요하게 CPU를 사용하지 말라는 것이지요.

Figure: Background and foreground perspectives

Application perspectives


보시는 것 처럼 언제 리소스를 할당하고, 언제 화면에 출력되는 지를 OS 가 알려 줍니다.
개발자는 이런 이벤트 상황에 맞춰서 필요한 동작을 수행하면 됩니다.

Figure: Launching applications

Launching applications


위 동작에 의해 어플리케이션이 시작(Launching)되고, 최상단의 라이프 사이클이 시작됩니다.
기본적인 원칙은 "어플리케이션이 화면에 보이는 시점에만 화면 출력을 한다"입니다.


OnForeground(), OnBackground() 이 화면에 보여지는 시점의 시작과 끝을 알려주는 이벤트 핸들러 입니다.

OnForeground() 은
  • 어플리케이션이 실행되어 OnAppInitialize() 동작 후
  • Task Manager List 에서 어플리케이션이 선택 됐을 때
  • Background 상태에서 Launching 될 때
화면에 출력되는 시점을 알려주기 위해 호출 됩니다.

OnBackground() 은
  • "Home" 키라 눌린 경우
  • 다른 윈도우가 팝업 됐을 경우
더 이상 화면 갱신이 필요 없다는 것을 알려 주기 위해 호출 됩니다.


이러한 기본 원칙을 지킨다면 불필요한 배터리 소모를 피할 수 있겠지요!!? 이 원칙은 다른 모바일 플랫폼에서 어플리케이션을 개발할 때도 동일하게 지켜야할 원칙입니다~~~~

모바일 세상으로 Go~~Go~~!!! Go~~Go~~!!!!

'Smart Mobile > Samsung bada' 카테고리의 다른 글

bada Developer Day in Seoul  (0) 2010.03.24
바다 Application UI Classes  (0) 2010.03.16
삼성 "바다" Developer Day  (0) 2010.03.10
Posted by 따봉맨
"바다" 인가??
"안드로이드" 인가?????

Figure: Relationships between classes

Relationships between classes


위에 보시는 클래스 다이어그램의 항목들은 바다의 UI 관련 클래스들 입니다.
근데 안드로이드 UI 관련 클래스를 정리한 것과 똑같아요!!! 하나도 안빼지고 100% 똑같습니다!
오히려 각 플랫폼 위에서 모두 어플리케이션을 개발해야 하는 입장에서는 좋습니다. ㅋㅋㅋ
좀 더 상세한 내용은 여기를 참고하세요!~~~~!!!!

삼성의 모바일 전략은 "Apple + Google" 인 것 같습니다!! ^^

'Smart Mobile > Samsung bada' 카테고리의 다른 글

bada Developer Day in Seoul  (0) 2010.03.24
"바다" 어플리케이션 생명 주기  (2) 2010.03.16
삼성 "바다" Developer Day  (0) 2010.03.10
Posted by 따봉맨

이런 일이 저에게 생길줄이야!!!!! LG 의 첫 번째 안드로이드폰 LG-KH5200 가 저의 손에 들어왔습니다!!!



수중에 들어오기 전에 언론에 비춰지는 모습을 봤을 때는 별로일거라 생각했는데요.
역시 싸이언의 디자인은 귀여운 모습을 갖고 있었고, Android Market 에 안드로이드 1.5 에서 돌아가는
많은 어플들도 있었습니다. 아직 개통이 되지 않아서 Wi-Fi 로만 써보고 있네요...

이번 세미나에서 추첨을 했었다면 제가 폰을 받지는 못했을 겁니다. 칸드로이드 들풀님 고마워요~~^^ ㅋㅋㅋ
동영상과 에뮬레이터로만 보던 안드로이드를 직접 써보니... 새로운 세상에 있는 것 같네요.

올해는 좀 잘 되려나요??? 운은 좀 있는 것 같으니... 열심히 노력하기만 하면 되겠네요^^
93학번 호랑이들 모두 잘 풀리기를 바랍니다!!!!! ^^
Posted by 따봉맨

드뎌 바다 "Developer Day" 상세 일정이 떳습니다!!!!


근데 웃기는건.... 날짜가 없습니다.. ㅡ_ㅡ;;;;

언제가 될지는 몰라도 이 날 꼭 참석해야 겠네요... 날짜가 확정되면 댓글로 알려드릴께요~~~

이 날의 주요 안건은 다음과 같이 요약되는군요.

  • Samsung bada technical overview
  • Samsung bada development life-cycle: bada Developers, tools and SDK, application deployment
  • Inside the bada platform : idioms, bada application model, UI, and service-oriented features
  • A practical clinic: installing the SDK, using the simulator, debugging, app demos

참고하세요~~~

'Smart Mobile > Samsung bada' 카테고리의 다른 글

bada Developer Day in Seoul  (0) 2010.03.24
"바다" 어플리케이션 생명 주기  (2) 2010.03.16
바다 Application UI Classes  (0) 2010.03.16
Posted by 따봉맨