달력

3

« 2024/3 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'Eclipse'에 해당되는 글 15

  1. 2009.04.14 Google App Engine 6
  2. 2009.03.18 RedRails Plugin Eclipse에 설치하기 4
  3. 2008.12.14 Eclipse에서 hsqldb 사용하기(3)
  4. 2008.12.12 Eclipse에서 hsqldb 사용하기(2)
2009. 4. 14. 22:23

Google App Engine 좋아하는 것/Google2009. 4. 14. 22:23

지난 한 주동안 인터넷상에서 가장 관심 있는 뉴스를 뽑으라면, 나는 Google의 Google App Engine라고 서스럼 없이 이야기 할 것이다.

요즘 여러 곳에서 화두가 되고 있는, Clouding Computing으로 이야기 되는 서버 팜이 이기도 한, Google의 이 거대한 개발자들을 위한 장난감은 그 규모로 볼때는 Apple의 App Store와 유사한 밥법으로 개발자들을 유혹하고 있다. 개발자들로 하여금 자신들의 서버와 리소스를 이용하여 서비스를 올리도록 Echo 시스템을 제공하고, 잘되면 돈을 받겠다는 정책이다. 이전에는 Account를 받기위해서는 허가가 떨어질때까지 기다려야 했는데, 지금은 신청하는 즉시 무료 서비스를 이용할 수 있다.

Google App Engine는 개발자들이 구글의 서버를 500MB까지 무료로 사용할 수 있도록 하고, 하루에 수백만 페이지 뷰를 서비스 할 수 있다. 더군다나, 지난 주에는 Python에 이어서 Java를 지원할 수 있는 Language로 제공한다고 블러그를 통해서 발표했다. (블러그의 내용은 여기를 참조 바람) 
구글의 Java의 원할한 지원을 위해서 벌써 Eclipse의 Plug-in역시 무료로 제공하고 있다.

아래는 최근에 제공하기로 한 Java 언어와 Eclipse상에서 SDK를 이용하여 개발하고 있는 동영상으로 Google에서 제공하고 있는 동영상이다.
 

이것이 이슈가 되고 있는 또 하나의 이유는 JVM위에 포팅되고 있는 여러가지 Dynamic Language들로 개발한 프로그램이 구동이 가능하다는 것이다.
그동안 200여종이 넘는 우리가 모르는 Language들이 이 JVM위에 포팅되어 왔다. 그 중에 Ruby쪽에 유명한 프로젝트는 JRuby와 Groovy가 있다. 이들 역시 크게 반기는 분위기이다.
Sprin Framwork를 개발하고 있는 SpringSouce 역시 재 빠르게 블러그를 통해서, Google App Engine팀과 공조하고 있을을 발표했다.

지난 주말에 인터넷을 뒤져가면서, 내가 알아낸 사실들이 여러가지가 있지만, Google App Engine의 ClassLoder와 DB에 대한 접속 방법이 이전에 사용하던 Lagacy 시스템과 많은 차이를 가지고 있다는 점이다.
(때가 되면 이 부분에 대해서 다시 이야기 하려고 한다.)
오늘은 Eclipse에서 JRuby를 실행해 보았는데, sqlite쪽에서 문제가 있었다. jdbc지원에 대한 부분에 대한 라이브러리가 없어서 였는데, 이 역시 나중에 정리해 이야기 하려한다.

Wikidipia에는 아래과 같은 정보들이 있다. (이는 Java 지원을 발표하기 이전에 작성된 것이라, 관심있는 것과 다를 수도 있지만, 기초 지식을 얻는데 많은 도움이 될거라 생각된다.)

 
  • 1 Supported programming languages and frameworks
  • 2 Differences from other application hosting
  • 3 Differences between SQL and GQL
  • 4 Restrictions
  • 5 Downloading data from App Engine
  • 6 Quota rates
  • 7 Competition
  • 8 References
  • 9 External links

  • 개발자들을 위한 환경이 또 한번 만들어지고 있다.
    이전에 MS의 경우는 SDK를 제공하여 개발자들을 자신들의 품에 끌어 들였다며, 이제는 Echo System이라 불리우는 Platform을 개발자들에게 제공하고 있고, 1인 개발도 가능하도록 환경들을 만들어 주고 있다. 다시 말하면, 시스템과 리소스 관리에 개발자들은 더 이상 신경 쓰지 않아도 된다는 말이다. (100% 믿기 어려울거라 생각된다.)

    하지만 아직 정확한 방향없이 마케팅적이고 소모적인 구호가 될 가능성은 여전히 높다. 정확한 비전과 방향을 제시하지 못한다면, 정말 거대한 장난감이 될지도 모르지만, MS의 그거와는 방향과 구글이 지향하는 바가 확연히 다르다는 점을 확실히 밝혔다는 점에서 JAVA의 지원은 큰 의미가 있다고 생각이 된다. 

    정말 많은 것을을 배워야 하고, 배울 것들이 너무나 많다.
    즐거운 고민에 대한 비명들이 여기 저기서 들린다.

     
     
    :
    Posted by 행복상자

    지난 몇주 동안 Ruby on Rails를 가지고 이것 저것 테스트도 하고 공부를 하고 있는 중이다. 그리고 RedRails 플러그인을 Eclipse에 설치하여 몇가지 셈플도 만들어 보았는데, 예전에 사용해 보았던 RedRails 0.8, 0.9 버전보다 사용하기도 편해졌고, Console창에서 Scaffolding을 이용하여 파일을 생성하는 것보다 더 가볍고 빠르다는 느낌이 든다.
    이는 아마도 백그라운드에서 Ruby이 VM이 떠 있는 상태에서 실행되기 때문일거라 생각된다.
    Console창으로 Rails를 실행하는데 익숙한 개발자를 위하여, RedRails는 Console 모드를 추가되었다.

    RedRails를 설치하는 방법에 대해서 간략하게 설명하려고 하는데, 다음과 같은 순서로 진행하면 된다.

    RedRails는 http://www.aptana.com/에서 다운을 받아 독립적으로 실행되는 프로그램으로 설치하거나 Eclipse의 Plugin형태로 설치가 가능하다.
    윈래 RadRails는 개인 개발자가 혼자 개발하다고, Aptana라는 회사로 이적하면서, 개발되고 수정되고 있는, 공개 Plugin인데, Aptana라는 회사는 웹 개발을 위한 개발 툴과 Eclipse 플러그인을 개발하고 있는 회사로, 툴들이 제법 사용할 만한 가치가 있다. 

    먼저 http://www.aptana.com/studio/download 로 이동해서, 설치 버튼을 누르면, 플러그인 설치를 위한 설명 페이지로 이동하게 된다.  Eclipse에서 RedRails 플로그인을 설치하기 위해서는 먼저 Aptana Studio를 설치해야 하는데, 이는 Eclipse의 Help > Software Update... 메뉴를 선택하면 아래와 같은 화면이 나타나는데, 차의 우측의 Add Site...버튼을 클릭하고 Remote Update를 위해서 다음과 같은 URL을 입력 필드에 입넣어주고 저장한후 상단의 Install...버튼을 클릭하여 실행을 시켜면 아래 그림과 같이 진행이 될 것이다. 
            * Add Site...:   http://d3kp2jit5ckrb9.cloudfront.net/3.2/ 
             



    설치할 Plugin들을 다운로드하면 아래와 같이 설치 항목들을 확인하는 창이 나타난다. 당연히 "NENT"버튼을 클릭해서 다음 단계로 넘어간다.
     


    그러면, 아래와 같은 화면이 나타나는데, 라이센스에 관련된 내용이므로 동의하고 다음단계로 넘어가면 된다.


    위 그림에서 "Finish"버튼을 누르면, 설치가 진행된다.



    설치가 완료 되면 아래와 같은 창이 나타나는데, "Yes"버튼을 클릭하여, Eclipse를 재 시작 시킨다.


    Elipse를 재 시작하고, Aptana Studio를 시작한다. (만약, 직접 실행이 되지 않았다면, Eclipse의 우측 상단에서 Apatana Perspective를 선택하면 된다.)
    그리고, 상단의 메뉴를 보면 아래와 같은 메뉴텝이 있는데, 여기서 두번째 메뉴 아이템을 클릭하면, Aptana의 설치 가능한 Plugins Manager 윈도우가 나타난다.


    아래과 같이 Plugins Manager윈도우가 나타나면, "Install"텝을 선택하고 보면, 리스트에 Aptana ReadRails라는 플러그인이 보인 것이다. (아래 그림 참조)

    설치하려고 하는 Plugin에 마우스 오른쪽 버튼을 클릭하고, Context메뉴에서 Install을 선택한다. (여기서 우리는 Aptana RedRails를 선택한다. 이유는 다들 알겠지요. 우리는 RedRails 플러그인 설치하려고 여기까지 왔습니다. ^^)

    여기까지 잘 따라왔으면, 아래와 같은 창이 나타나는 것이 보게될 것이다.
    각 항목들을 모두 체크해 주고,  화면 아래에 있는 "Next"버튼을 클릭하여 다음 단계로 이동한다.

    위에서 처럼 Plugin을 설치하게 되면, 처음에 Aptana Studio Plugin을 설치했을 때 처럼, Eclipse를 재 시작을 확인하는 윈도우가 나타나게 되는데, "Yes"를 눌러 재시작을 시키면 된다.


    Eclipse가 정상적으로 재시작하자마다, 아래의 창이 나타남을 볼수 있을 것이다.
    화면 하단의 Install버튼을 눌러 Ruby와 RedRails를 위한 gem들을 설치하면 Rails를 사용하기 위한 모든 준비가 마쳐지게 된다.



    주의 사항으로는 만약 Ecllise가 설치된 경로에 한글이 포함되어 있으면, Aptana Studio 플러그인이 정상적으로 설치가 되지 않는다. 나도 몇번을 설치하다가 결국을 Eclipse 경로를 "C:\" 아래로 바꾸었다. (이는 이전 버전에서는 없었던 문제이다. )

    RedRails를 설치하면, 실망할 일은 별로 없을 것이다. 오히려 개발하는데 여러 모로 편리함을 주기때문에 편리하다. 특히 Javascript 코딩을 하거나, SVN을 연동할 일이 있다면, 이는 정말 Eclipse가 잘 하는 장르 중에 하나이다.

    여담인데, 오늘 SVN없이 작업하다가 셈플 코드를 모두 날렸다. 결국 SVN Eclipse plugin을 설치하고 나서야 안심이 되었다. 이 플러그인역시 위에 있는 화면중에 하나인 plugin Manager를 통해서 설치했다. 나의 경우는 SubClipse Plugin을 설치했다.

    :
    Posted by 행복상자
    이번이 계획하였었던 내용으로는 마지막이다.

      - Eclipse에서 hsqldb 사용하기(1)
      - Eclipse에서 hsqldb 사용하기(2)

    지난번까지 해 왔던 작업들을 정리하면, 먼저,Jave와 Eclipse 환경에서 개발하기 위해서 hasqldb.jar를 Spring Framewor의 Libray디렉토리로 부터 복사해서 Eclipse의 "lib" 디렉토리에 넣어, Eclipse와 Ant로 Build 시 사용할수 있도록 환경을 만들어 주는 것을 배웠다.

    그리고, Ant로 빌드하기 위해서, Data Source를 Propeties로 부터 참조할 수 있도록 별도의 파일로 나누었고,이를 참조하는 방법에 대해서 배웠다.

    이번에는 지난번에 작성하였던 "Build.xml" 파일이 정상적으로 동작하는지 실행해보고, 실제로 생정한 값들이 새로 만들어진 Table에 추가되었는지를 Eclipse의 Plug-in을 통해서 확인하는 방번에 대해서 이야기 할 것이다.

    우선, 가장 먼저 해야 할 일은, 지난 번에 만들어 놓은 배치 파일(server.bat)을 이용해서, hsqldb 서버를 실행시켜 주어야 한다.

    나의 경우는 배치파일에 아래와 같이 정의 되어 있다. 물로 도스 창에서 Typing해서 실행할 수 있지만, 자주 사용하는 것이므로 배치파일로 만드는 것이 편리하다.

    java -classpath ..\war\WEB-INF\lib\hsqldb.jar org.hsqldb.Server -database test

    도스창이 뜨로 정상적으로 실행이 되었으면, 이제 본격 적으로 실행을 시켜 보겠다.

    내가 사용하는 Eclipse버전은 Eclipse IDE for Java EE Develosers 버전을 www.eclipse.org 에서 다운 받아 사용하는데, 이유는 WTP(Web Tools Platform) 이 이미 포함되어 있어서 별도로 설치할 필요가 없기 때문이다.

    먼저 Elclipse에서 Ant를 실행 시켜 보도록 하자.

    Eclipse IDE 왼쪽 하단에 있는 툴바의 제일 왼쪽에 있는 버튼을 클릭을 한다.
    (아래 그림 참조)

    그러면 아래와 같은 pop-up 창이  나타날 것이다. 메뉴 항목중에 Ant를 찾아서 클릭을 해줌면 Ant의 View 윈도우가 나타난다.


    만약 위 pop-up창에서 Ant 메뉴가 보이지 않으면, 위 그림 하단에 있는 "Other..."를 선태하거나, 단축키(Alt-Shiff+Q, Q)를 눌러서 아래의 "Show View" 윈도우를 호출한다.
    여기서 "Ant"를 찾아 선택한다.(아래 그림 참조)


    그러면 아래와 같이 Ant의 View 화면이 나타나게 된다.(사실 여기서는 Build.xml을 선택한후 Ant View를 띄우는 순서로 진행한것이다.) 
    우리는 Table을 생성을 하려고 하는 것이므로 아래 그림의 왼쪽에 있는 트리에서 "ceate Tables"를 더블 클릭한다.그러면 아래와 같이 "Ant Cofiguration Selection"창이 나타 나는데 여기서는 "createTables"라는 항목을 실행 시킨다.
     
    그러면 Eclipse IDE의 Consol 창에 테이블 생성이 성공 되었다는 메시지가 아래와 같이나타날 것이다.

    자 그러면 이제는 Sample 데이터를 만들어 보자.
    이 것도 역시 지난번에 만들어 놓은 Built.xml에 있는 스크립트를 이용하면 된다.
    이번에도 Eclipse의 Ant View에서 실행 시켜 보겠다.
    단추키 "Alt+Shift+Q, Q"를 이용하여 "Show View"창을 띄우고,"Ant"를 선택하면 아래와 같이 "Ant View"창을 나타날 것이다. 여기 트리에서 "loadData" 선택해서 Table을 생성했던고 마찬가지로 실행을 시킨다.


    Ant는 아래와 같이 만들어 놓은 스크립트를 참조해서 데이터를 hsqldb에  생성하게 되는데, 생성되는 과정은 Eclipse IDE의 Console창의 로그를 통해서 확인이 가능하다.

    자 이번에는 위의 3개의 Data가 정말로 DB의 Products 테이블로 잘 생성되어는지를 Eclipse의  Plugin을 통해서 확인해 보자.

    현재 사용하고 있는 IDE에 Database를 관리해 주는 Plugin View가 없다면, 이미 여러번 사요해본 단추키 "Alt+Shift+Q, Q"를 이용하여 "Show View"창을 아래와 같이 띄우고, 창의 상단에 "data"라고 입력한다. 이때 아래의 트리는 관련된 기능들을 보여주는데,여기서 아래와 같이 "databases" 를 선택한다. 


    아래의 DatabasesView창의 상단 툴바 메뉴에서 "Add"버튼을 클릭한다.
    (왼쪽에서 2번째 버튼, 마우스를 가져다 대면 툴팁이 나타난다.)


    그러면 Database Connection을 추가 할 수 있도록 아래와 같이 창이 나타난다.
    나는 여기서 "Connetion name"을 "hSqlServe"이라고 넣었다.



    위 화면에서 "Next >"버튼을 눌러서 아래와 같이 Connection 정보를 설정하는 화면으로 이동을 한다. 이미 드라이버에 대한 정보가 있다면, Combobox에서 hsqlDriver를 선택하면 되지만, 만약 없다면 "Add..." 버튼을 눌러서 드라이버 정보를 추가해야 한다.


    위와 같이 설정이 되면, "Test connection"버튼을 눌러서 Connection 테스트를 해본다. 성공했으면, "Finish"버튼을 눌러서 "Databases View"창에 추가한다.

    성공적으로 완료가 되었다면 아래와 같이 Tree에 추가되어 나타날 것이다.
    Ant를 이용해서 추가했던 Sample 데이터를 보기 위해서는 Tree에서 우리가 보기 원하는 "PRODUCTS" 테이블을 더블클릭해 주면 된다.


    그러면 그 결과 테이블들이 다음과 같이 Eclipse IDE에 나타나게 된다.


    Ant를 이용해서 생성했던 3개의 새로운 데이터가 성공적으로 추가된 것이 보인다.

    지금까지 여러가지를 보아왔다. hsqldb에 대한 설명은 없었지만, 개념상으로 알아두면 된다. 그리고 이는 단지 hsql을 위한 기능이 아니라, 다른 Database에 대해서도 동일하게 적용이 가는하다. 단지 여기서 이를 두고 설명한 것은 가볍고, 설치가 용이하기 때문에 이를 예제로 사용한 것 뿐이다.

    그리고, Ant build를 이용하여 개발에 반복적인 작업들을 처리하도록 하였는데, 사실 이부분은 개발뿐 만 아니라 자신이 만든 코드에 대한 Unit Test에도 상당히 도움이 된다. 테이블을 생성해서 데이터를 읽는 테스트 코드를 만들고 초기화 하는 부분을 반복적으로 사용한다면, 굉장히 도움이 많이 될것이다.

    마지막으로 Eclipse의 IDE에 추가해서 사용했던 Plugin은 설명한 것 말고도 다른 유용한 것들이 있다. 그러나 이 역시 지금 추가해서 사용했던 것과 대동 소이 할 것이다.

    마지막으로 여기에서 사용하였던, 예제로 사용한 파일 3개와 Build.xml 파일을 아래에 추가해 놓겠다. Eclipse Project의 "db/" 디렉토리에서 생성한 파일 들이다.

     




    :
    Posted by 행복상자
    지난 번에는 hsqldb를 명령행에서 실행 시키는 것에 대해서 알아 보았다.
    예제는 지난 번과 마찮가지로 Step-by-Step 에 있는 내용을 이용할 것이다. 왜냐하면, 개인적으로는 Spring Framework를 처음 시작하고나 Spring MVC에 대해서 알아가는 개발자에게 가장 추천할 만한 예제이다. 물론 이것이 Spring MVC의 전부를 말해주지는 않는다. 최근에 발표된 Spring Framework 3.0.0.M1 버전에선 Anotation과 REST를 지원할 수 있도록 많은 부분이 새로 추가되고 되었기 때문이다. 그러나 그 기본은 결코 변하지 않을 것이다.

    Ant를 사용해본 사람들은 Ant의 기본 Build에 이용되는 파일이 Build.xml 파일이라는 것을 익히 잘알고 있을 것이다. Ant가 Build.xml File을 실행할 때, 중복된 상수 값들은 Text파일에 저정하여 사용하는데, 여기서는 "build.properties"라는 파일을 이용하여, 정의하고 이를 "Build.xml"에서 읽어 올 것이다.

    아래는 "build.properties"파일에 저장된 내용이다. Database에 접속하기 위한 기본 정보들이 정의되어 있다. 여기서 정의된 내용들을 Ant의 빌드 파일에서 읽어들여 사용할 것이다.
    hsqldb의 Driver와 필요한 항복들은 아래와 같고, passwork는 여기서는 사용하지 않는다.


    아래는 위에서 정의한 "build.properties"파일의 내용을 Ant의 Build.xml 파일에서 읽어오기 위해서 아래와 같이 정의한다. 공용으로 사용할 항목들은 별도로 정의하는 것이 관리하기 편리한다. 그 아래는 Build를 위한 기본 Class path를 정의하여야 한다. 여기서는 "hsqldb.jar"가 "/WEB-INF/lib" 아래 이미 복사되어져 있다. (지난 번에 이를 설명하였다.)

    위에서 Data Source를 정의하고 이를 읽는 것에 대해서 설명하였다.
    아래에서는 정위한 Data Source의 내용을 이용하여 Table을 생성하는 스크립트를 실행하도록 "Build.xml"에 정의한 것이다. 여기서는 "src="db/create_products.sql" 파일을 읽고, 이 파일에 정의되어 있는 스크립트를 실행하는 Task이다.
    그리고 그 아래는 생성된 Table을 삭제하는 스크립트를 실행하는 Task를 정의한 것이다.
    (직접 SQL 문을 호출하여 Table을 DB에서 Drop시켰다.)

    아래는 위에서 정의한 "src="db/create_products.sql" 파일에 정의된 Table 생성 구문이다.
    (참고로 "db/"는 디렉토리를 의미한다. Eclipse의 Project의 임의의 디렉토리 아래 db를 관리하기 위해 만들어 놓은 디렉토리이다.)
    SQL문을 사용해본 경험이 있다면, 이해하는데, 크게 어렵지 않을 거하 생각된다.

    아래는 "db/load_data.sql"파일에 정의해야할 구문인데, 생성된 DB Table(Products Table) 에 생성한 테스트 데이터 들이다.

    아래는 위에 정의한 "load_data.sql"파일을 이용하여 Test데이터를 생성하기 위한 "Build.xml" 파일에 정의된 Task이다. src="db/load_data.sql" 이라고 정의된 것이 보일 것이다.


    다음에는 이렇게 정의되어 있는 Ant의 "Build.xml" 파일을 이용하여 Eclipse에서 실행하고, 생성된 Test 데이터를 읽는 방법에 대해서 설명하려고 한다.
    :
    Posted by 행복상자