'2008/02'에 해당되는 글 30건

  1. 2008.02.28 [Google Android-구글 안드로이드] 간단한 예외 처리 1
  2. 2008.02.28 [Google Android-구글 안드로이드] 직접 헬로월드 만들어 보기
  3. 2008.02.28 [DevPartner] DevPartner 화면 설명
  4. 2008.02.28 [DevPartner] 설치 방법
  5. 2008.02.27 [Google Android-구글 안드로이드] 헬로 월드 돌려보기
  6. 2008.02.27 [Google Android-구글 안드로이드] 시작하기.
  7. 2008.02.27 [Google Android-구글 안드로이드]란?
  8. 2008.02.27 [Fedora] Fedora update 하기 1
  9. 2008.02.27 [Fedora] Fedora 부팅 순서 변경 방법
  10. 2008.02.27 [링크] IBM의 성능 관련 자료
  11. 2008.02.27 [야후UI] 야후 UI 라이브러리
  12. 2008.02.26 [기타] Windows Live Writer 다운로드 및 설정법
  13. 2008.02.26 [Blog2Book] 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기(자바 성능 튜닝)의 목차
  14. 2008.02.25 [SWT] SWT의 기본만 알면 이 사이트를 통해서 개발이 가능하다.
  15. 2008.02.24 [GWT] GWT 프레임 두께 지정 (frame border 지정)
  16. 2008.02.24 [GWT] GWT 위젯 갤러리(Widgets Gallery)
  17. 2008.02.24 [GWT] 예전의 Googlipse 사용법
  18. 2008.02.24 [GWT] 이클립스와 GWT의 연동
  19. 2008.02.24 [GWT] GWT (구글 웹 툴킷) 이란 ?
  20. 2008.02.23 [PMAT] 자바
  21. 2008.02.23 [링크] 자바 기본을 키울수 있는 튜토리얼
  22. 2008.02.23 [DevPartner] DevPartner 사용시 파일 명명 방법
  23. 2008.02.23 [링크] JConsole 사용법 링크
  24. 2008.02.23 [링크] HP의 JVM 옵션
  25. 2008.02.23 [링크] IBM Java theory and practice: 퍼포먼스
  26. 2008.02.23 [링크] 썬의 collection 관련 튜토리얼
  27. 2008.02.23 [링크] HP 관련 자바 성능 튜닝 관련 내용들
  28. 2008.02.23 [링크] 자바원 세미나
  29. 2008.02.23 [링크] Sun 성능 관련 유용한 팁들 모음
  30. 2008.02.22 [공지] 새로운 시작

일반적인 자바 개발시 예외처리하는 것은 그리 간단하지 않다.


HelloAndroid를 통해서 어떻게 예외처리가 되는지 간단하게 알아보자.

package com.min.hello;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        int i=0;
        int j=3/i;
        TextView tv = new TextView(this);
        tv.setText("\n\n\n\n\n한글이 될랑가? ");
        setContentView(tv);

    }
}

이 소스의 중간에 i 값을 0으로 지정하고, j 값에 3을 i로 나누도록 해보자.

당연히 0으로 나누기 때문에 ArithmeticException이 발생하게 될 것이다.


그럼 수행해서 결과를 확인해 보자.

음~~ 당연히 오류가 나는데, 예쁜 예외 메시지 창에 결과가 나타난다.

앞으로 개발하면서 이런 화면은 나오면 안되겠지만...


물론 try-catch 구문으로 묶어주게 되면 아무런 메시지도 나오지 않게 된다.

Posted by tuning-java
,

이제 직접 안드로이드 애플리케이션을 만들어 보자.


이클립스에서 create Project를 누르고 안드로이드 프로젝트를 누른다음,

다음과 같이 설정한다.

Project name : HelloAndroid - 일반 eclipse 프로젝트와 동일한 프로젝트 이름

Package name :  com.min.hello - 자바에서 사용하는 패키지와 같은 의미의 패키지 이름.
모든 어플리케이션이 이 폴더밑에 있어야 하며, 모든 시스템에 설치된 패키지의 이름과 절대 같으면 안된다.(유일해야만 한다.)

Activity name : HelloAndroid - 자동으로 껍데기 (보통 스텁이라고 부르는) 클래스 파일의 이름을 지정한다.
이 클래스는 안드로이드 activity class의 자식 클래스여야만 한다.

Application name : My first Android - 보통 사람들이 읽기 쉬운 어플리케이션 이름을 여기에 지정한다.


이제 Finish를 누르면 자동으로 프로젝트가 생성된다.

생성된 프로젝트는 다음과 같은 구조를 가진다.

많이도 생성된다. - -;


가장 먼저 봐야 하는건 HelloAndroid.java이다. 해당 파일을 열어보자.

package com.min.hello;

import android.app.Activity;
import android.os.Bundle;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);
    }
}

아까 이야기한대로 Activity 클래스의 상속을 받았다.

그리고 onCreate메소드를 오버라이드 했다.


이 상태에서 안드로이드를 실행해 보자.

(실행 방법은 앞에 설명했으므로, 생략한다. 참고로 안드로이드 에뮬레이터가 실행 상태라면 그냥 다시 이클립스에서 실행하면 된다.

에뮬레이터를 다시 실행할 필요는 없다.)



실행하면 "Hello World, HelloAndroid"라는 메시지가 나타난다.

오~ 신기하다...


아무것도 한게 없는데...


저 메시지는 어디에서 지정하는 것일까?


안드로이드는 두가지 방법의 화면 레이아웃 구조를 갖고 있다.

한가지는 자바 코드에서 구성하는 방법과 다른 한 가지는 XML파일에서 구성하는 방법이다.

HelloAndroid 이클립스 프로젝트의 res 폴더 -> layout 폴더 -> main.xml파일을 열어보면 다음과 같이 되어 있는 것을 확인할 수 있다.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello World, HelloAndroid"
    />
</LinearLayout>

뭐가 뭔진 아직 잘 모르겠지만, 중간에 TextView라고 되어 있는 부분이 있다. 가로와 세로 크기를 지정하고 text를 지정했다.

이 text 부분에 Hello World, HelloAndroid가 바로 에뮬레이터에서 나타난 그 메시지이다.


그럼 이번에는 저 방식이 아닌 자바 소스에서 지정하는 방법을 알아보자.

package com.min.hello;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        TextView tv = new TextView(this);
        tv.setText("\n\n\n\n한글이 될랑가? ");
        setContentView(tv);
    }

}

이렇게 하고 다시 한번 실행해보자.

줄바꿈 처리를 하기 위해서 \n을 사용했다.

이렇게 해보니 간단하게 한글도 처리되는 안드로이드 어플리케이션이 만들어 졌다.


여기에 있는 setContentView() 메소드에 대해서 잠깐 알아보자.

이 메소드는 Activity 클래스에서 반드시 실행되어야 한다. 만약 이 메소드가 실행되지 않으면, 아무런 데이터도 화면에 뿌려지지 않는다.



참고 : 이 내용은 http://code.google.com/android/index.html 의 내용을 참조하여 작성되었음.

Posted by tuning-java
,

참고로 이 설명은 [Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기] 책을 읽는 독자분들이 부록으로 제공되는 DevPartner for Java를 보다 쉽게 사용할 수 있도록 작성되었으며, 설치시 14일간 기능의 제한이 없는 임시 라이센스가 생성됩니다.


DevPartner의 화면에 대한 간단한 설명을 해 보고자 한다.
먼저 Welcome 화면이다.

그냥 별 내용은 없는데, 오른쪽에 Java Platform Performance 라는 링크를 누르면 자바의 성능에 대한 관련 책이 링크로 제공된다.

(인터넷이 되는 곳에서만 확인할 수 있다.
다음은 Application Testing 화면이다.

이 화면에서는 WAS 기반의 시스템이 아닌 단독 자바 애플리케이션을 테스트 할 때 사용된다.

이 화면을 사용하기 위해서는 DevPartner의 프로그램 그룹에 있는 Utility의 Administration 이라는 프로그램을 사용해야만 하는데, 나는 설정하기 귀찮아서 이 기능을 사용하지 않는다.

이번 화면은 Application Server Testing 화면이다.

관련 내용은 Application Testing 과 비슷하기 때문에 생략 하겠다.

이제부터 중요한 화면이다.

위의 화면은 Session Files 라는 화면인데, drop down 메뉴에 기본적으로 Default라고 나타날 것이다.
만약 여러분이 config를 다른 이름으로 지정한다면 그 이름도 여기에 나타날 것이다.
config 지정하는 것은 "WAS 모니터링 시작하기"편을 통해서 확인해 보기 바란다.

다음은 현재 프로파일링 중인 어플리케이션 세션의 목록을 보는 화면이다.

여기의 목록에서 프로파일링 중인 대상을 더블 클릭하면, 데이터를 수집할 수 있는 화면으로 이동한다.

마지막 화면은 설정하는 화면인데, 가장 중요한 화면중 하나이다.

이 내용은 영어를 읽으면서 하나 하나 설정해 보면 되는데, 만약 자세한 설명이 필요하다는 분들이 많다면,

자세한 설명을 나중에 추가하도록 하겠다.

Posted by tuning-java
,

참고로 이 설명은 [Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기] 책을 읽는 독자분들이 부록으로 제공되는 DevPartner for Java를 보다 쉽게 사용할 수 있도록 작성되었으며, 설치시 14일간 기능의 제한이 없는 임시 라이센스가 생성됩니다.


DevPartner for Java (이하 DevPartner)를 윈도우즈 기반에서 설치하는 방법은 매우 간단하다.


DevPartner를 설치하기 위해서는 설치 디렉토리에 있는 Setup.exe 파일을 실행하면 다음과 같은 화면이 나타나고, 여기서 install Compuware DevPartner를 선택하면 된다.

기본적인 설치 방법은 여타 다른 툴들과 비슷하기 때문에 생략하고, 중간에 Integrate DevPartner Java Edition with your IDE 와 다른 옵션을 선택하는 부분이 있다. 다른 옵션은 선택하지 않는 것이 좋고, 만약에 eclipse와 같은 툴에서 사용하기 위해서는 Integrate... IDE를 체크하여 eclipse의 경로를 지정하면 된다.


모든 설치가 완료되면 "반드시" PC를 재기동 해야한다. 윈도우용 설치파일만 제공되기 때문에 Linux나 Unix에서 설치하는 방법에 대해서는 여기서 다루지 않겠다.


PC를 재기동 한 이후에 자동으로 DevPartner 초기화면이 기동될 것이다.


다음부터 이 초기화면으로 이동하기 위해서는 윈도우의 시작 -> 프로그램 -> Compuware DevPartner Java Edition -> DevPartner Java Edition을 선택하면 이 화면으로 이동할 수 있다.



이 화면이 정상적으로 나타난다면 제대로 설치가 된 것이다.

나는 그렇지 않은 경우가 없어서 그렇지 않은 경우에 어떻게 하냐고 물어보셔도 모르니 참조해 주기 바란다.

(기본적으로 자바가 설치 되어 있어야 하며, 현재 제공되는 프로그램의 경우에는 JDK 6.0이 지원되지 않는 것으로 알고 있다. 사용하려면 JDK 5.0을 설치하여 사용하기 바란다.)


첫 화면이 나타나면 눈치를 챈 분들도 있겠지만, 내부적으로 톰캣 서버를 기동하여 그 톰캣 서버에서 작업을 수행하는 구조로 되어 있다.


설치 단계의 마지막으로 한가지 팁을 알려드리면, 이 툴의 경우 관련된 서비스가 항상 실행되도록 되어 있기 때문에 해당 서비스를 자동이 아닌 수동으로 수행될 수 있도록 변경해 주어야만 한다.

윈도우 시작 -> 설정 -> 제어판 -> 관리도구 -> 서비스를 선택하면 아래와 같은 화면이 나타날 것이고, 여기서 잘 찾아보면 Compuware 어쩌구 저쩌구하는 것이 있는 것을 확인할 수 있다.


해당 줄을 더블클릭하면 다음과 같은 화면이 나타난다.

여기서 중간에 있는 자동을 수동으로 변경하고 확인을 누르면 이제부터 시작할때 마다 DevPartner가 시작되지 않는다.

Posted by tuning-java
,

맨날 무슨 언어든 배우기 시작하면 헬로월드부터 찍는다.

나도 당근 이것부터 시작해 볼 작정이다. 일단 제공된 샘플을 돌려보는걸 해보자.


가장 먼저 이클립스에서 New Project... 을 선택한다.

그러면 Android가 추가되어 있는데, 추가된 안드로이드 프로젝트를 선택하자.


다음화면에서 아래 그림과 같이 Create project from existing source를 선택하고, Browse를 해서 HelloActivity를 선택한다.

 

Finish를 누르면 새로운 프로젝트가 추가될 것이다.


이제 프로젝트 import 작업은 끝났고, 해당 이클립스 프로젝트의 root를 선택한후 오른쪽 마우스를 눌러서

Run As... 후 Android Application을 누르면 안드로이드 에뮬레이터가 뜨게되고, 아래의 그림과 같이

Hello World와 에디터가 나타나게 된다.

참고로... 처음 실행하게 되면 화면이 작동되는데 시간이 좀 걸린다.

Posted by tuning-java
,

일단 다운로드는 요령껏 받자.

다운로드 받기 전에 시스템 요구사항을 간단히 알아보자.

지원 OS는 윈도 XP, 비스타, 맥 OS 10.4.8 이상, 리눅스 만 된다.

지원되는 개발환경은 이클립스 3.2,3.3에 JDT와 WST 플러그인 포함.

JDK5와 6 (JRE만 깔았으면 안된단다...)

추가로 안드로이드 개발 툴즈 플러그인도 있다.

시스템 요구사항이 정확하게 본인의 PC와 맞는다면 다운로드 받은 파일의 압축을 풀자.

압축을 풀면, 다음과 같은 폴더와 파일들이 있다.

/docs
/samples
/tools
이상은 폴더 목록...

android.jar 및 기타 파일들

압축을 풀면 그냥 다 되는게 아니고,

환경 설정을 해야 한다.


참고로 나는 D:\GoogleAndroid 에 압축을 풀었다.

윈도우의 시스템 환경을 열어서 "시스템 환경변수"에서 path에 D:\GoogleAndroid\tools 디렉토리를 추가한다.

(설마 개발자분이 이 설정을 하는 방법을 모를리는 없으니, 자세한 방법은 일단 패쑤)


이제 이클립스 플러그인을 추가하자.

이클립스 플러그인을 추가하는 방법은 모르는 분들이 많으실테니,

상세하게 알려주겠다.


  1. 이클립스를 기동해서 Help -> Software Updates > Find and Install 을 클릭한다.
  2. 화면이 뜨면 아래와 같은 화면에서 아래에 있는 new features 어쩌구가 있는걸 선택하고 다음으로 넘어간다.
  3. 그 다음화면에서 오른쪽 구석탱이에 있는 New Remote Site...을 클릭한다.
  4. 이름은 아무거나 입력하고 URL은 다음의 URL을 입력한다.
    https://dl-ssl.google.com/android/eclipse/
  5. 그 다음에 finish를 누르면 Update manager가 뜨고 선택하는 화면이 나타나는데 그 화면에서 체크 박스를 누르고 Finish 버튼을 누른다.
  6. 그 다음에 Accept하고 install 을 누르면, 이클립스를 껐다가 키라고 하는데, 재시작 버튼을 Yes를 누르면 이클립스가 재기동된다.
  7. 아직도 끝난게 아니다. 이클립스에서 Windows --> Preferences를 눌러서 Android를 눌러보자. 그러면 경로 입력 창이 뜨는데, 거기서 안드로이드 압축이 풀려 있는 D:\GoogleAndroid 를 입력하면 기본적인 모든 설정은 끝난다.

참고 : 이 내용은 http://code.google.com/android/index.html 의 내용을 참조하여 작성되었음.

Posted by tuning-java
,

Android(이하 안드로이드)는 모바일 디바이스를 개발하기 위한 구글에서 만든 OS, 미들웨어, 어플리케이션의 집합이다.

고로 구글폰에서 사용할 수 있는 어플리케이션을 맹글 수 있다.


안드로이드의 홈페이지는 http://code.google.com/android/index.html 이며, 홈페이지를 통해서 여러가지 정보 및 동영상을 볼 수 있다.


안드로이드 개발을 위해서는 SDK를 다운로드 받아야 하는데, 초기 화면의 우측 상단 구석에 "Download Android"를 클릭해서 자신의 개발 환경에 맞는 도구를 선택하면 된다.

일반적으로 Windows에서 사용을 하므로, 앞으로의 설명도 모두 Windows 기반하에서 개발하는 방법에 대해서 정리하겠다.

안드로이드는 자바 언어를 사용하는데 Sun의 JDK가 아닌 Dalvik 이라는 가상 머신상에서 돌아가도록 되어 있다. 그래서 .dex 라는 파일을 통해서 실행하게 된다.


안드로이드의 주요 특징은

  • 어플리케이션 프레임웍이며
  • Dalvik VM을 사용하고
  • Webkit 이라는 엔진에 기반을 둔 통합 브라우져를 사용한다.
  • 그리고 OpenGL ES 1.0스펙을 따르는 2D, 3D 를 지원하고
  • SQLite라는 데이터 저장소를 사용하며,
  • MPEG4, MP3, JPG,GIF등의 미디어 지원을 한다.
  • 하드웨어에 의존적이긴 하지만 GSM 전화 기술과
  • 블루투스, EDGE, 3G, WiFi 기술과
  • 이클립스 상에서 수행할 수 있는 개발 환경을 지원한다. 물론 에뮬레이터와 디버깅 툴, 메모리 및 성능 프로파일링, 이클립스 플러그인도 여기에 포함되어 있다.

이제 대충 알아봤으면 위에 있는 홈페이지에 연결하여 SDK를 다운로드 하자.


참고 : 이 내용은 http://code.google.com/android/index.html 의 내용을 참조하여 작성되었음.

Posted by tuning-java
,

[Fedora] Fedora update 하기

ETC 2008. 2. 27. 06:43

Fedora도 OS 이기 때문에, 설치한 이후에나

어느정도 사용한 이후에 update를 수행해 주어야 한다.

콘솔을 연 이후에

yum -y update

명령어만 치면 알아서 update 한다.

문제는 internet에 연결되어 있어야 하며,

update하는데 엄청난 시간이 소요되므로,

밥먹으러 가거나 퇴근할때 이 명령어를 수행하는것이 좋다. ^^;

Posted by tuning-java
,

Fedora를 처음 설치하거나

update한 이후에는 Window가 처음 부팅하도록 되어 있지 않고,

Fedora를 먼저 부팅하도록 된다.

/boot/grub

디렉토리로 이동한다.

menu.lst 파일을 open 한다

open 한 파일의 순서를 보고 default=0 을 수정한다.

수정후 저장하고, reboot 하여 원하는 OS 가 선택되었는지를 확인한다.

Posted by tuning-java
,
Posted by tuning-java
,

http://developer.yahoo.com/yui/examples/

야후 홈페이지와 동일한 화면을 만들고 싶으면,
이 사이트를 방문해보기 바랍니다.

AJAX를 구현하기 위한 좋은 툴이죠...

예제들을 보면서 여기저기 구경하세요.


Posted by tuning-java
,

Windows Live Writer를 사용하면 일반 워드와 동일하게 작성 후 웹에 게시를 할수 있어, 만약 어떤 장소에서 블로그 작성은 하고 싶은데, 인터넷이 안되는 곳에서 편리하게 작성 할 수 있다.


먼저 다운로드 URL은 다음과 같다.

http://get.live.com/writer/overview


URL을 입력하고, 다운로드를 누른 후 간단한 설정을 지정한 이후에  조금(나의 경우 약 10분 정도) 기다리면, 설치가 완료된다.


Tistory에서 사용할 때에는 자신의 블로그 관리자 계정으로 들어가서 반드시 설정을 바꾸어 주어야 하는데, 그렇지 않으면 설치가 복잡하게 되니 다음의 설정을 꼭 하기 바란다.


관리자 계정 로그인 -> 환경설정 -> 기타설정 -> 밑으로 쭉 내려가서 "Blog API를 사용합니다." 라는 check box를 선택 후 저장하기를 누른다.


저장이 완료 되었으면, Windows Live Writer를 수행한다.

이미 등록된 블로그가 있다면 바로 화면이 나타나겠지만, 그렇지 않으면 계정 설정 화면이 나타난다. 계정 설정 화면에서는 다음의 단계로 설정하면 된다.


웹 로그 있음 -> 기타 웹 로그 서비스 -> 자신의 블로그 URL / ID / PW를 입력


만약 정상적으로 단계를 따랐다면, 자신의 블로그 이름이 설정화면에 나타날 것이고, 제대로 따르지 않으면, 다른 화면이 나타날 것이다.



만약 위와 같은 화면이 나타나지 않으면 정상적으로 시작이 되지 않은 것이니 차근차근 따라하기 바란다.

Posted by tuning-java
,
내가 쓴 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기의 목차는 다음과 같다.
참고로 부록으로 제공되는 CD에는
DevPartner, JProbe, Wily Introscope, Jennier
의 평가판이 들어 있다.

01. 디자인 패턴 꼭 써야 한다
02. 도대체 GC는 언제 발생할까?
03. 내가 만든 프로그램의 속도를 알고 싶다
04. 왜 자꾸 STRING을 쓰지 말라는 거야?
05. 어디에 담아야 하는지…
06. 지금까지 사용하던 FOR 루프를 더 빠르게 할 수 있다고?
07. STATIC 제대로 한번 써보자
08. 클래스 정보 어떻게 알아낼 수 있나?
09. SYNCHRONIZED는 제대로 알고 써야한다
10. IO에서 발생하는 병목 현상
11. 로그는 반드시 필요한 내용만 찍자
12. JSP와 서블릿에서 발생할 수 있는 여러 문제점
13. DB를 사용하면서 발생할 수 있는 문제점
14. XML도 잘 쓰자
15. GC가 어떻게 수행되고 있는지 보고 싶다
16. 서버를 어떻게 세팅해야 할까?
17. 반드시 튜닝 및 점검해야 하는 대상은?
18. 모니터링 API인 JMX
19. 어떤 화면이 많이 쓰이는지 알고 싶다
20. 원인을 너무나 찾기 어려웠던 사이트
21. 자바 기반의 배치 프로그램을 튜닝했던 사례
22. 잘 되어 있는 시스템도 튜닝 대상은 있다
23. 복합적인 문제가 발생한 프로젝트
24. 애플리케이션에서 점검해야 할 대상들

부록
01. STOPWATCHAVERAGE 클래스 소스
02. JSTAT 옵션
03. NETBEANS IDE PROFILER 사용하기
04. VISUAL GC 화면 설명
05. GC ANALYZER 사용법
Posted by tuning-java
,
SWT기반으로 개발하다보면 이것 저것 API가 생소하여

막히는 부분이 많이 생긴다.

http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/CatalogSWT-JFace-Eclipse.htm

이 사이트의 샘플을 통해서 각 API의 사용법을 익힌다면,

SWT는 쉽게 개발할 수 있다.
Posted by tuning-java
,

GWT를 사용하다보면 Frame 객체를 사용할 경우가 있다.

이때, border는 아무리 css에 적용을 해도, 지워지지 않는다.

아무래도 버그인듯 하다.

그에 대한 해결책은 다음과 같다.

com.google.gwt.user.client.DOM.setIntAttribute(frame.getElement(), "frameBorder", 0);

만약 끝의 숫자를 1로 하면, border가 나타난다.

Posted by tuning-java
,
http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.UserInterface.WidgetGallery.html


GWT에서 현재 제공중인 위젯들의 모음은

위의 URL에서 확인할 수 있다.

그런데, 실제 API에서 제공하는 위젯들을 구현해 보면,

거기에 있는 예제 그림과 많이 틀리다...


동일하게 하려면, CSS를 적용해야 하는데,

http://code.google.com/webtoolkit/documentation/examples/desktopclone/

요 소스와

http://code.google.com/webtoolkit/documentation/examples/kitchensink/

요 소스를 분석하면, 어떻게 CSS가 적용되어 있는지 확인이 가능하다.
Posted by tuning-java
,

변한게 별로 없을 것이라 생각하고...

일단 예전에 정리해 놓은것을 올려놓겠다.

출처는 Googlipse 홈페이지.


I know you don't have time to read a manual with dozens of pages. So here is a shortest manual possible for Googlipse.

여러분들이 여러 페이지의 메뉴얼을 읽을 시간이 없다는걸 저도 알고 있습니다. 그래서, Googlipse에 대한 가장 짧은 메뉴얼이 여기 있습니다.


Requirements:
요구사항 :

      Googlipse requires Eclipse 3.2 with WebTools Platform 1.5 running on a Java 1.5 VM. You need to separately install Google Web Toolkit.

      Googlipse 는 자바 1.5 VM에서 작동되고, 웹툴 플랫폼 1.5가 설치되어 있는 Eclipse 3.2가 필요합니다. GWT는 따로 설치해 놓으셔야 하구요.


Installation:
설치:

(*) Drop the com.googlipse.gwt_.jar file in your eclipse\plugins folder
(*) Open Eclipse. Select Window->Preferences->Googlipse and set GWT home to the directory where you have installed the Google Web Toolkit.
(*) You are all set to code.


(*) com.googlipse.gwt_.jar 파일을 eclipse\plugins 폴더에 떨궈 놓으세요.
(*) Eclipse를 엽니다. Window->Preferences->Googlipse 를 선택하고 GWT home 위치를 여러분이 GWT를 설치한 디렉토리로 설정하세요.
(*) 이제 모든 준비는 끝났지요.

Adding Googlipse to your project:
      Googlipse is implemented as a WTP Facet. When creating a new Dynamic Web Project, select Googlipse in the Project Facets page. If you already have a Dynamic Web Project, you can add Googlipse facet by selecting Project->Properties->Project Facets(Please make sure you don't have gwt-user.jar in your classpath). In case you didn't like Googlipse, you can remove the facet.

Googlipse를 프로젝트에 추가하기:
      Googlipse는 WTP Facet로 구혔되었습니다. 새로운 Dynamic Web Project때에는, Project Facets페이지에서 Googlipse를 선택하세요. 이미 Dynamic Web Project가 있을 경우에는, Project->Properties->Project Facets를 선택해서 Googlipse facet를 추가할 수 있습니다. (gwt-user.jar가 클래스패스에 없는지 꼭 확인하시구요). Googlipse가 마음에 안드시면, facet을 삭제하실 수 있습니다.


Creating a Module:
      Once you have a Dynamic Web Project with Googlipse facet, you can add a new module by File->New->Other->Googlipse->Gwt Module. Modules can be created only in valid java packages (default package is not allowed). Either you can type in the package (with project & source folder) in the location field or you can select it by clicking Browse button. You can also click the Create button to create a new package. Next type in the name of the module. Click Finish, you will have all the artifacts for the module generated.

모듈 생성 :
      Googlipse facet을 사용하는 Dynamic Web Project 이 있을 경우에는 , File->New->Other->Googlipse->Gwt Module을 통해서 새로운 모듈을 추가할 수 있습니다. 모듈은 적합한 자바 패키지를 사용하였을 경우에만 추가 됩니다. (기본 패키지는 불가함). 패키지에서 location 필드를 입력하거나 Browse 버튼을 선택해서 패키지를 선택할 수 있습니다. Create 버튼을 클릭해서 새로운 패키지를 만들 수도 있습니다. 그 다음에는 모듈 이름을 입력합니다. Finish를 누르면, 모듈과 관련된 모든 결과물들이 만들어집니다.


Adding a Remote Service:
      Note :A Remote Service will be created only in a module. So if you don't have a module, you need to create one using the New Module wizard, before this step. You can select File->New->Other->Googlipse->Gwt Remote Service. Click the Browse button and select the module (the gwt.xml file). Type the name and uri for the service and click Finish. Now the artifacts for the remote service will be generated. Entries are added to web.xml and gwt.xml


리모트 서비스 생성:
      노트 : 리모트 서비스는 모듈에서만 추가가 됩니다.그래서 모듈이 없으면, 이 단계 이전에 신규 모듈 위저드를 사용해서 하나 생성해야 합니다. File->New->Other->Googlipse->Gwt Remote Service를 선택하세요. Browse 버튼을 누르고, 모듈을 선택하세요 (gwt.xml파일 선택). 서비스를 위한 이름과 uri를 입력한 후 Finish버튼을 클릭하세요. 리모트 서비스를 위한 결과물들이 만들어집니다. 이러한 엔트리들은 web.xml과 gwt.xml에 추가가 됩니다.

Adding a Remote Service method:
      You can open the RemoteService interface and add/change methods in it. You need to provide the implementation of those methods in RemoteServiceImpl class, but thanks to Googlipse, you don't have to do anything in RemoteServiceAsync. Googlipse will automatically update the corresponding Async file whenever a RemoteService interface is changed.

리모트 서비스 메소드 추가하기 :
      리모트 서비스 인터페이스 파일을 열어서 메소드를 추가하고 삭제할 수 있습니다. 여러분은 RemoteServiceImpl 클래스를 구현해서 이 메소드의 내용을 채워야하지만, Googlipse 덕분에 RemoteServiceAsync를 구현할 필요는 없습니다. Googlipse 에서 자동으로 RemoteService 인터페이스가 변경되었을때 Async파일을 수정해 주기 때문입니다.  

Calling a method using Remote Service:
      The utility class in the Remote service should help you in making the remote call.

MyRemoteServiceAsync async = MyRemoteService.Util.getInstance();
async.makeRemoteCall(param1, param2, callback);

리모트 서비스를 사용하여 메소드 호출하기 :
      리모트 서비스에 있는 유틸리티클래스는 여러분이 리모트 호출을 만드는 것을 도와주도록 되어 있습니다.
.
MyRemoteServiceAsync async = MyRemoteService.Util.getInstance();
async.makeRemoteCall(param1, param2, callback);

Running/Debugging a Gwt Application:
      Select Run->Run/Debug to activate the Lauch configuration dialog box. Double Click "Gwt Application". In the main page, you can select the Project & Module you want to run. In the parameters page you can select the parameters such as port and log level. Click Run to execute the GwtShell & bring up your application. The laucher will add the jar files & all the source folders in the project to your application.


Gwt 애플리케이션을 실행 및 디버그하기 :
      Run->Run/Debug 를 선택해서 실행 설정 다이얼로그 박스를 띄우시기 바랍니다. 여기서 "Gwt Application"을 더블클릭합니다. 메인 화면에서, 실행을 원하시는 Project & Module 선택하세요. 매개변수 페이지에서는 포트나 로그레벨과 같은 설정을 변경합니다. Run을 선택하셔서 GwtShell을 수행하시고, 여러분의 애플리케이션을 수행시키세요. 런쳐는 jar파일과 여러분의 애플리케이션의 프로젝트에 있는 모든 소스 폴더를 포함하여 실행하게 됩니다.

Deploying in external servers:
      You have to launch GWT app in the hosted mode, as said above, and click 'Compile/Browse' button to do the compilation. After than, you can add the project to any external server configured thru Eclipse-WTP, just as the way you used to deploy the normal Dynamic Web Application.


외부 서버에 설치하기 :
      GWT 애플리케이션을 hosted mode로 실행하셔야 합니다. 컴파일을 하기 위해서  'Compile/Browse' 버튼을 클릭하세요. 그 다음에는, 여러분은 어떠한 서버라도 Eclipse-WTP를 통해서 일반 웹 애플리케이션을 디플로이 하는 방식처럼 외부 서버에 프로젝트를 추가할 수 있습니다.


Creating a war:
      Compile the module as said in the above step. Select File->Export->Export as war. Follow the wizard. No more ant tasks :-)

war 파일 만들기:
      위의 단계에서 사용된 모듈을 컴파일 하시기 바랍니다. 그 다음 File->Export->Export as war를 선택하세요. 위저드를 실행시키면, 더이상의 ant 태스크는 필요가 없게 됩니다. :-)
Posted by tuning-java
,
http://www.cypal.in/studio

예전에는 Googlipse 라는 이름으로 제공된 툴인데,
이름이 싸이팔 스튜디오라는 이름으로 바뀌었다.

예전 사이트 주소는
http://www.googlipse.com/
이다.

이 툴을 사용하면 손쉽게 이클립스 상에서 GWT를 개발할 수 있다.
Posted by tuning-java
,

Google에서 GWT (Google Web Toolkit)을 공개 했다.

왜 했을까 ?

원문 출처 : http://code.google.com/webtoolkit/overview.html



What is Google Web Toolkit?
구글 웹 툴킷이 뭔가 ?

Google Web Toolkit (GWT) is an open source Java development framework that lets you escape the matrix of technologies that make writing AJAX applications so difficult and error prone. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler to translates your Java application to browser-compliant JavaScript and HTML.

GWT는 오픈소스 자바 개발 프레임웍이며, AJAX개발을 쉽게 할 수 있도록 도와준다. GWT로 AJAX를 개발하고 디버그할 수 있으며, 당신이 사용중인 자바 개발 툴을 사용할 수 있다. 당신의 어플리케이션은 프로덕션으로 만들때, GWT 컴파일러는 당신의 자바 어플리케이션을 브라우져에서 사용가능한 자바스크립트와 HTML로 번역해준다.

Here's the GWT development cycle:

GWT 개발 사이클을보면 다음과 같다.

  1. Use your favorite Java IDE to write and debug an application in the Java language, using as many (or as few) GWT libraries as you find useful.

    당신이 좋아하는 자바 IDE에서 자바언어로 어플리케이션을 만들고 디버그해라. 최대한 많은 GWT 라이브러리를 사용해서.
  2. Use GWT's Java-to-JavaScript compiler to distill your application into a set of JavaScript and HTML files that you can serve with any web server.

    GWT의 자바 to 자바스크립트를 사용해서 당신의 어플리케이션을 자바스트립트 셋과 HTML파릴로 만들어라. 그러면 어떠한 웹서버에서도 사용이 가능해진다.
  3. Confirm that your application works in each browser that you want to support, which usually takes no additional work.

    당신이 만든 어플리케이션이 여러 브라우져에서 수행되는지를 확인해 보라. 아마도 추가적인 일을 할것이 없을 것이다.
       

Why Translate Java Code to JavaScript ?
왜 자바코드를 자바스크립트로 변환해야 하는가 ?

Java technologies offer a productive development plaform, and with GWT, they can instantly become the basis of your AJAX development platform as well. Here are some of the benefits of developing with GWT:
자바 기술은 생산성 좋은 개발 플렛폼을 제공하고, GWT를 이용하면 AJAX 개발 플렛폼에서 개발을 쉽게 할 수 있다. GWT의 장점은 다음과 같다.

  • You can use all of your favorite Java development tools (Eclipse, IntelliJ, JProfiler, JUnit) for AJAX development.

    당신이 좋아하는 AJAX개발을 위해서 자바 개발툴을 사용할 수 있다.(이클립스, 인텔리J, J프로파일러(이건 프로파일런데...), J유닛(이건 테스트 툴인데)
  • Static type checking in the Java language boosts productivity while reducing errors.

    자바 언어의 정적 타입 체크 기능으로 에러를 줄이고 생산성을 향상 시킬 수 있다.
  • Common JavaScript errors (typos, type mismatches) are easily caught at compile time rather than by users at runtime.

    실행시에 에러를 잡아내는 것 보다 컴파일시에 일반적인 자바 스크립트 에러를 쉽게 잡아낼 수 있다.
  • Code prompting/completion is widely available.

    코드 프롬프팅 및 완료가 가능하다.
  • Automated Java refactoring is pretty snazzy these days.

    자동화된 자바 리펙토링이 쉽도록 되어 있다.
  • Java-based OO designs are easier to communicate and understand, thus making your AJAX code base more comprehensible with less documentation.

    자바 기반의 객체지향 디자인은 커뮤니케이션하고 이해하기에 쉽도록 되어 있기 때문에, 당신의 AJAX코드 기반으로 반드는 것은 문서화 작업을 적게하고 이해하기가 쉽다.
Posted by tuning-java
,
http://www.alphaworks.ibm.com/tech/pmat

PMAT

자바 메모리 덤프를 분석하는 굉장히 유용한 툴
Posted by tuning-java
,
http://java.sun.com/docs/books/tutorial/index.html

자바 튜토리얼 홈페이지다.

쉽게 찾을수 있는 페이지가 아니라 링크를 정리해 본다.
Posted by tuning-java
,

프로파일링 툴을 사용할때,

프로파일한 결과파일의 명명규칙을 정하지 않으면,
나중에 결과정리할 때 곤혹을 치루게 된다.(다 열어봐야 하니까...)

그래서 아래와 같이 하시면 편리하고,
되도록이면 이 표준을 사용하는게 나을듯....

예) DevPartner사용시
01_Login_2nd_10Time.tts

가장 앞의 01은 프로파일한 순서 Login이 아닌 다른 menu를 선택하면 02가 된다.

그리고, 두번째는 해당 업무 명,
세번째는 해당 업무를 프로파일한 횟수(첫번째한건지, 두번째 한건지...)
마지막 10Time은 해당 화면을 10번 클릭한 것을 명시한 것이다.
이렇게 하면 파일명으로 sorting해도 나중에 보기 편리하다.
작업할때는 보통 Date로 sorting해서 작업하면 된다.(필요없는 파일을 삭제하기 위해서.)

Posted by tuning-java
,
JMX를 사용하는 모든 자바 기반의 어플리케이션을 모니터링 할 수 있는 툴이 JConsole이다.
물론 무료이며, JDK 5.0 이상을 설치하면 자동으로 수행 디렉토리(bin)에 해당 파일이 존재한다.

Using JConsole to Monitor Applications

http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html


Posted by tuning-java
,

http://www.hp.com/products1/unix/java/infolibrary/prog_guide/hotspot.html#-Xeprof

HP의 JVM Option이 정리되어 있는 링크이다.

나중에 유용하게 사용되길...

Posted by tuning-java
,

http://www.ibm.com/developerworks/kr/library/j-jtp09275.html

IBM에서 작성한 성능과 관련된 문서.

Java의 성능과 관련된 내부 구성이 어떻게 되는지를 확인할 수 있는 좋은 문서

이 사이트는 한글로 구성되어 있기 때문에,

영어 울렁증이 있는 분들에게도 많은 도움이 될 것이다.

Posted by tuning-java
,
Posted by tuning-java
,



Java Performance Tuning 웹 사이트 http://www.hp.com/dspp에 가서
“Performance Tuning Java”검색

Java 관련 hp 제품 http://www.hp.com/go/java

Posted by tuning-java
,
http://developers.sun.com/learning/javaoneonline/

반드시 필요한건 다 듣고 말테다~~~
Posted by tuning-java
,
 
이 링크 따라 가면 Sun에서 발표한 자료들과
 
고민하고 있는 내용들을 알 수 있음.
Posted by tuning-java
,
Blog2Book 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기가 출간되면서 새롭게 시작되는 블로깅.

사용자 삽입 이미지


Posted by tuning-java
,