준비사항

  • Google App Engine SDK
  • Grails 1.1.1 (상위버전은 아직 동작안함)

Grails App 생성

grails create-app gae_demo

App-Engine 플러그인 설치

cd gae_demo

grails install-plugin app-engine

  • 플러그인 설치 과정 중 jpa 선택

도메인 클래스 생성

grails create-domain-class gae.Note

  • 패키지 명을 넣지 않으면 구글 앱 엔진이 동작하지 않는다.

Note에 대한 컨트롤러와 뷰 생성

grails generate-all gae.Note

도메인 클래스 어노테이션 변경

  • @Entity, @Id, @GeneratedValue 등은 Grails에서 추가한 어노테이션임
  • @Basic 어노테이션을 추가

package gae

import javax.persistence.*
//import com.google.appengine.api.datastore.Key

@Entity
class Note implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    Long id

    @Basic
    String message
}

뷰와 컨트롤러 생성

grails generate-all gae.Note

구글 앱 엔진 배포

  • 구글 앱 엔진 웹사이트에서 애플리케이션을 생성한다.
  • 애플리케이션 생성시 이름을 넣고 이 이름을 grails-app/conf/config.groovy에 다음 라인을 추가

google.appengine.application = “<애플리케이션명>”

호스팅을 위하여 버전을 명시하고 패키징

grails set-version 1
grails app-engine package
$APPENGINE_HOME/bin/appconfig.sh update ./target/war

배포 실행

grails app-engine deploy

참고

'Resources > Web' 카테고리의 다른 글

me2API 메소드 리스트  (0) 2010.02.09
me2API 오류 코드  (0) 2010.02.08
[링크] HTML5의 모든것  (0) 2010.02.03
[링크] 웹 개발자 리소스  (0) 2010.02.03
Google I/O 2009 키노트 :: HTML5  (0) 2010.02.02
Apache CouchDB  (0) 2010.01.22
RESTful  (0) 2010.01.22

그루비로 트위터 데이터을 긁어오는 소스
Twitter4J 라이브러리를 사용했음.

import twitter4j.*

def twitter = new Twitter( 'id', 'passwd')
List<Status> statuses = twitter.getFriendsTimeline()

for(Status status : statuses) {
    println "@${status.user.screenName}(${status.user.statusesCount})\t$status.text"
}

참고



CouchDB
  • MapReduce 스타일
  • 스키마 안씀
  • 문서 단위 저장
  • CVS/SVN과 유사하게 Revision 사용
Groovy+CouchDB
  • RestClient를 사용하면 쉽게 CouchDB와 연동가능함
    • new RESTClient('http://...').put( path:'...',

설치


'Resources > Web' 카테고리의 다른 글

me2API 메소드 리스트  (0) 2010.02.09
me2API 오류 코드  (0) 2010.02.08
[링크] HTML5의 모든것  (0) 2010.02.03
[링크] 웹 개발자 리소스  (0) 2010.02.03
Google I/O 2009 키노트 :: HTML5  (0) 2010.02.02
Apache CouchDB e-Book  (0) 2010.01.22
RESTful  (0) 2010.01.22

-Pname=value 형식으로 전달함.

ex) gradle test -Pname=value

스크립트에서는 project.getProperties()로 파라메터 맵을 받아서 처리한다.

task hello << {
def props = project.getProperties()

    println "Hello world, $props.id !"
}

+ Recent posts