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
,