이전에도 Eclipse Plugin을 Eclipse에서 설치해서 사용하는 것에 대해서 설명한 적이 있다.
이이 Eclipse에 익숙한 개발자라면,

구글에서 제공하는 아래와 간은 정보를 이용해서 원하는 버전에 적합한 Plug-in을 설치할 수 있을 것이다.

  • The Google Plugin for Eclipse, for Eclipse 3.3 (Europa):
    http://dl.google.com/eclipse/plugin/3.3
  • The Google Plugin for Eclipse, for Eclipse 3.4 (Ganymede):
    http://dl.google.com/eclipse/plugin/3.4
  • The Google Plugin for Eclipse, for Eclipse 3.5 (Galileo):
    http://dl.google.com/eclipse/plugin/3.5

구글의 Plug-in은 위와 같이 Eclipse의 세가지 버전(3.3, 3.4, 3.5)을 지원한다.
이중 3.5버전인 Galileo는 최근에 구글에서 Plug-in을 제공하기 시작했다. (얼마전까지는은 Eclipse 3.5버전에서는 사용하지 못했다는 말이다.)
 
어떻게 설치하고, 환경을 만드는지는 "Google App Engine Java SDK 1.2.1 Released" 의 글을 참조하면 된다. (처음 Eclipse를 사용하는  사람은 "Google App Engine SDK 설치 및 실행"를 참조)

Eclipse 3.5인 Galileo는 이전 버전들과 Plug-in 설치 방식이 약간 달라졌다.
이전 3.4 버전에서 제공 하던 방식은 플러그인을 찾는 방식이 편하지 많은 않았다. 왜냐하면, 백그라운드에서 사용자가 입력한 플러그인 이름을 실시간으로 키 입력시마다 추천해 주는 방식을 제공했는데, 네트워크에서 대기하는 시간에 대한 부담을 사용자가 가져야 했기 때문이다. 3.5 버전에서는 이러한 것들이 개선되어 졌다.

아래는 Eclipse 3.5에 GAE 플러그인을 설치한 것들을 캡쳐한 화면이다.

Eclipse 3.5의 Help > Install New Software... 를 클릭하면 아래 화면이 나타난다.


위 화면에서 상단 오른쪽에 있는 "Add..." 버튼을 클릭하면 창이 나타나면 아래와 같이 "Name"과 "Location"을 입력하고 "OK"버튼을 누른다. (Name은 사용자가 원하는 이름을 넣으면 된다.)


입력한 주소(Location) 정보가 정확하면, 아래과 같이 설치 가능한 플러그인들 목록이 표시된다.
모두 설치를 할것이므로 아래처럼 모두 체크해서 선택하면 된다. 그리고 "Next"버튼을 클릭한다.


위에서 "Next" 버튼을 클릭하면, 아래와 같이 상세 정보들이 나타난다. 다시 "Next"버튼을 클릭한다.

설치할 플러그인들에 대한 Licese 정책에 동의 할 것인지를 묻는 창인데, 당연히 동의해야 한다.
만약 동의하지 않는다면, 설치가 안될테니까... ^^;;;

위에서 동의하고 "Finish"버트을 누루면, 아래와 같이 설치가 진행된다.

Posted by 행복상자
최근에 몸이 안좋다는 핑계로 이것 저것 하던 것들 다 손에서 내려 놓고, 아무것도 제대로 해보지 않은지 약 1달이 되었다. 이전에 Twiter4J 분석해서 여러가지를 테스트하고는 이를 GAE에 올리려고 하다가, 말았는데 그 이유는 새로 다운 받은 Eclipse 3.5 버전(Galileo)에서 돌아가는 GAE 플러그인이 제공되지 않았기 때문이 었다. 그 이후로 수 차례 GAE 사이트에 들어가서, 확인을 해 보았지만, 여전히 제공되지 않는 것을 확인하고는 잊고 있었다.

그러다가 최근에야 Eclipse 3.5 플러그인이 제공되는 것을 알게 되었다.
오늘은 GAE에 변경된 것들이 있는지 문서들을 읽어 보다가 web.xml 설정에 대한 제약들을 알게 되었는데, 어쩌면 당연한 것이라고 생각되는 것이었다.

아래의 내용인데,

App Engine supports the <load-on-startup> element for servlet declarations. However, the load actually occurs during the first request handled by the web server instance, not prior to it.

App Engine supports <mime-mapping> elements for specifying the MIME type to use for resources whose filenames end with certain extensions. However, MIME mappings only apply to servlets, not to static files. Static files use a fixed list of mappings of filename extensions to MIME types.

Some deployment descriptor elements can take a human readable display name, description and icon for use in IDEs. App Engine doesn't use these, and ignores them.

App Engine doesn't support JNDI environment variables (<env-entry>).

App Engine doesn't support EJB resources (<resource-ref>).

The <distributable> element is ignored.

Servlet scheduling with <run-at> is not supported.


읽어보면 Web Applicaton 시작시에 순서를 정해주게 되어 있는데, 이는 GAE에서는 별다는 의미를 부여하지 않는다는 것이다. 이를 사전에 처리하는 것이 아니라, 웹서버의 instance에 의해 첫번째 요청을 처리하는동안 load 되기 때문이다.

그리고, MIME mapping은 Servlet에 맵핑할때만 사용될뿐, 정적파일에는 사용되지 않는다. 정적 파일들에 대한 맵핑은 Fixed 된 파일을 통해서 정의해서 사용한다.

그리고,
- JNDI 환경변수를 지원하지 않는다.
- App Engine은 EJB 환경 변수를 지원하지 않는다.
- <distribution>은 무시한다.
- <run-at>태그를 이용한 Servlet의 스케즐링도 지원하지 않는다.
        (==> 기존의 다른 WAS상의 run-at 태그의 이용에 대한 것은 다음의 링크를 참조하면 된다.
        http://www.caucho.com/resin-3.0/servlet/run-at.xtp )



Posted by 행복상자
트위터를 시작한지, 약 2달정도 된것 같다. 남들이 좋다니까, 남들이 하라고 해서 시작한 것은 아니지만 이를 통해서 여러가지 변화들이 생긴것 같다.

140글자라는 많지도 적지도 않은 글을 남길수 있기에, 글을 쓰는데 생각을 정리하기 위해 많은 시간을 들이지 않게 되었다. 어떤 특정한 주제에 대해서, 생각을 하거나 이야기 하기 위해서 워밍업을 할 필요가 없다는 말이다. 자유롭게 내가 이야기 하고 싶은 내용을 주제와는 상관없이 풀어나갈 수 있기 때문에 쉽게 글을 쓸 수 있어서 좋다. 나를 꾸밀 필요도 없고, 나를 포장할 필요도 없다. 내가 알고, 나를 아는 사람들이 귀를 기울이고, 듣고 싶은 아니면 하고 싶은 이야기를 하기 때문에 상당히 블로그에 딸리는 댓글 보다는 상당히 예의 바르고, 남에 대한 원색적인 비방이 없어서 좋다. (뭐 필요하면 바로 Following을 취소하면 되니까, 그냥 쉽다.)

다른 사람들이 새벽녁에 일어나서, 이러 저러한 이야기로 떠드는 것을 보면, 참 흥미롭기도 하고, 정겹기도 하다. 아무도 일어나지 않을 것 같은 시간에, 서로 이러 저러한 이야기를 하는 것을 보면 자연스럽게 나도 이야기 하게 되는데, 싫지는 않다. 물론 내 성격상, 아는 사람들에게만 이야기를 한다.

트위터를 하면서, 안좋아진 것은 다른 사람들도 그러는지 모르겠지만, 블로그에 글을 쓰는 횟수가 현저하게 줄어든 것이다. 아니 전혀 들어가 보지도 않는다. 지난 1달동안 절필(?) 된 채로 방치아닌 방치가 되어 버렸다. 뭐 이러저러한 이유들이 있지만, 반드시 좋은 현상이라고는 할 수 없다. 이른 트위터에 중독아닌 중독으로 인해서 벌어진 현상이므로 전적으로 트위터의 책임(?)이다.

세상에는 많은 문명의 이기들이 있지만, 한 시대 또는 짧은 시간동안 사람사는 일에 영향을 주다가 다른 문명의 이기들이 나타나면, 사라지기도 한다. Twitter는 분명 새로운 문명의 이기이다. 이것이 어떤식으로 우리의 삶을 다채롭고 윤택하게 할지, 아니면 단지 사람들을 중독과 유행에 빠지게 만드는 일시적인 흐름의 단편으로 기억될지 모르겠지만, 나는 최소한 이것은 즐길만한 가치가 있다고 생각한다.

 새로운 소식이나 기사들을 쉴틈없이 뿌려지기도 하지만, 능동적으로 이러한 것들을 받아들일 수 있기에, 삶이 조금 더 쉬워졌다고 할수 있겠냐마는, 결국 이것은 선택의 문제이다. 싫으면 과감하게 Blocking 해버리면 그만이기 때문이다.

그래서 나는 오늘도 이찬진님이 올리는 글을 귀를 쫑긋 세우고 기울이고 있다. 내가 원하는 이야기를 해주기를 바라면서... 조금만 더 기다리면 되나요? 쌓아둔 실탄들이 녹이 쓸고 있답니다.

원하던 원하지 않던, 새로운 글들이 올라오면 기분이 좋고 즐겁다. 길지 않은 글들이 지루함보다 많은 정보를 내포하기 때문이다.

Posted by 행복상자