2008/12/31 00:36
인터넷 뱅킹의 친절한 에러메시지

에러메시지를 메모하여 은행으로 전화를 주란다.

사용자 삽입 이미지

UnKnownException Error

급하게 이체좀 하려 했더니 이런 에러가 뜨면 이건 머 정말 알수없는 예외상황이구만!!
Posted by kimgisa.net
2008/12/31 00:00

1. PMAT 소개 및 다운로드
  PMAT은 자바 gctrace 로그를 파싱하여 자바 힙 메모리 사용률 분석 및 다양한 정보(차트 등)를 제공함.

Pattern Modeling and Analysis Tool for IBM® Java™ Garbage Collector (PMAT) parses verbose GC trace, analyzes Java heap usage, and recommends key configurations based on pattern modeling of Java heap usage.

* 공식 다운로드 사이트 : http://www.alphaworks.ibm.com/tech/pmat
  (다운로드를 위해서는 IBM 사이트에 회원가입이 필요합니다.)


2. PMAT 테스트를 위한 GC 로그 찍는방법
  GC trace로그를 찍는 옵션은 JVM 벤더별로 차이가 있다. JVM옵션은 Java 표준 옵션이 아니므로 예고없이 변경될 수 있다. 따라서 아래 옵션이 작동하지 않을 경우 각 벤더별 최신 JVM 관련문서를 참조하기 바란다.

JVM Vender별 GC Trace 옵션

SUN
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintHeapAtGC
-verbosegc
-Xloggc:gctracelog.log

IBM
-verbosegc
-Xverbosegclog:gctracelog.log

HP
-verbosegc
-Xloggc:gctracelog1.log
-Xverbosegc:file=gctracelog2.log (only HP)

내용참조. http://javagosu.tistory.com/37

실행 예 (Sun JVM 기준)
d:\testprogram>java -Xmx512m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -verbosegc -Xloggc:gclog.log -jar testapp.jar


3. PMAT을 이용한 GC로그 분석
다운받은 gcXX.zip 의 압축을 풀면 gaXX.jar 파일이 나온다.
PMAT을 실행하는 방법은 매우 간단한다. 아래 실행명령을 배치(bat) 파일로 만들어 두면 다음번에 간단하게 실행할 수 있다.

d:\pmat>java -Xmx512m -jar ga32.jar

PMAT의 최초 실행화면

File - Open verbosegc Files (자신의 JVM) 을 클릭하여 미리 만들어둔 gc로그를 open한다.

힙 사용률 분석 및 각종 정보 제공



그래프


4. 유용한 정보들
  http://wiki.ex-em.com/index.php/JVM_Options - JVM 옵션정리
  http://lyb1495.tistory.com/3 - Java Heap모델에 대한 정리

Posted by kimgisa.net
2008/12/29 15:39
<문제상황>
IE환경에서 page Context Type을 이용한 excel downloading 구현하였다. 그런데 다음과 같은 에러가 뜬다.

에러메시지는 다음과 같다.

한글 IE에서는,
"xxxx 을(를) 다운로드할 수 없습니다.
이 인터넷 사이트를 열 수 없습니다. 요청한 사이트를 사용할 수 없거나 찾을 수 없습니다. 나중에 다시 시도하십시오,"


영문 IE에서는
"Internet Explorer cannot download <filename.jsp> from <our website>
Internet Explorer was not able to open this Internet Site. The requested site is either unavailable or cannot be found. Please try again later"


<해결방법>
구글신의 자문을 구해 답을 찾을 수 있었다.
간단히 다음과 같이 Cache-Control 을 세팅해주면 해결된다. (포인트 max-age=0 으로 세팅)
 response.setHeader("Cache-Control", "max-age=0");


<구현 예제>
<%@ page contentType="application/vnd.ms-excel; charset=UTF-8" %>
<head>
<%
    response.setHeader("Content-Type", "application/vnd.ms-xls");
    response.setHeader("Content-Disposition", "attachment;filename=DownloadFile.xls");
    response.setHeader("Content-Description", "JSP Generated Data"); 
    response.setHeader("Pragma", "public");
    response.setHeader("Cache-Control", "max-age=0");
%>
</head>
<body>
..........내용............
</body>
</html>



1.구글신 검색 참고사이트
http://forums.sun.com/thread.jspa?threadID=233446&forumID=45

2.html header에 대한 더 많은 정보를 원하시면, (그러나 영어의 압박 ;;;)
rfc 문서 : http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3
좀더 깔끔한 정리 : http://www.mnot.net/cache_docs/
Posted by kimgisa.net
2008/12/28 20:54

이 두 단어쌍은 어떤 차이가 있을까?
Anybody knows the answer?

1. 사랑 vs 집착
사랑이란 무엇인가?
사랑이라는게 그리움이라면 그리움이 지나치면 집착인가?
그 지나친 그리움또한 사랑은 사랑인데 집착은 뭐고 사랑은 무엇인가?
어느 누가 그것은 집착이며 이것은 사랑이라 구분할 수 있는가?


2. 배려 vs 지배
자신을 희생하더라도 타인의 입장을 생각하여 맞춰줄 수 있는 것이 배려인가?
타인을 지배하려는 마음의 또다른 얼굴이 배려인가?
타인이 자신을 위해준다고 느낀다면 배려이고, 간섭이라 생각한다면 그것은 지배인가?
그것은 누가 판단하는 것인가?

Posted by kimgisa.net
2008/12/25 12:32
무자년 한해를 되돌아보고 2009년 소의 해(기축년)의 목표를 세워보자.


> 2008년 평가
  - 평점 : 42점 (6개의 대분류, 20개 세부계획의 계획대비 실천 평균점수;; 지극히 주관적)

  - 총평 : '시작이 반이다.'  다양한 계획을 세웠었고, 적어도 각 주제에 대해서 한가지 이상의 계획들은 실천했던 한해였다. 그러나, 어느해나 마찬가지지만 무리하게 많은 계획들로 인해 시간관리를 못한 것은 아쉬움으로 남는다. "도전적인 자세는 좋았으나 시간관리의 부재"

 - 얻은 것 : 직장, 보금자리, 좋은 사람들, 뱃살
 - 잃은 것 : 자신감, 이루지 못한 계획들


> 2009년 기본 계획

1. 스킬 업
   Engineer로서 가져야할 기본적인 자질 습득 (2008년 구입한 서적 모두 보기)
   나만의 아이템 선정 및 컨텐츠 확보 (블로그 활성화)
   오픈마인드로 세상과 맞서는 법
  

2. 자금관리
   저축비율 늘리기
   계획적인 소비생활
  

3. 건강관리
   아침운동하기 : 주 3회이상, 매회 30분이상
  


끝으로....
" 사랑합시다!!"
Posted by kimgisa.net
2008/12/15 22:13

Jad는 바이트코드인 Java class파일을 디컴파일해주는 프로그램이다.
JadClipse는 자바디컴파일을 이클립스에서 편리하게 사용할 수 있도록 해주는 이클립스 플러그인이다.

1. Jad및 JadClipse 다운로드
  * Jad : http://www.kpdus.com/jad.html
     윈도우 사용자는 Jad 1.5.8g for Windows 9x/NT/2000 on Intel platform 를 다운로드

  * JadClipse : http://sourceforge.net/projects/jadclipse
    자신의 이클립스 버전에 맞는 jadclipse3.x 를 다운로드

2. Jad와 Jadclipse를 적절한 위치로 복사하기
   jad의 압축을 풀어 jad.exe 를 C:\Jad 폴더를 만들어 복사한다.
   jadclipse는 net.sf.jadclipse_3.x.0 폴더를 eclipse의 plugins 폴더로 복사한다.

3. jadclipse 사용을 위한 이클립스 환경설정
Window - Preferences - Java - JadClipse에서
 - Path to decompiler > c:\jad\jad.exe  
 - [v] Reuse code buffer 체크

한글이 깨지는 것을 방지하기 위해, JadClipse - Misc 에서 
  - [v] Convert Unicode strings into ANSI strings 를 체크


디컴파일을 위한 모든 준비가 끝났다.

4. 디컴파일 사용하기
디컴파일하고자 하는 class파일을 더블클릭하면, decompile된 소스가 보여지게 된다.


Posted by kimgisa.net
2008/12/15 21:26
사진을 업로드하면 얼굴나이를 측정해주는 서비스가 있다.
웹에 있는 사진들과의 유사성을 비교해서 평균치를 보여주는 것 같다.

http://phobos.applieddevice.com/facedb/fs.php

사용자 삽입 이미지

그래 원래 난 동안이었다구. ㅋㅋ 24살 ㅋㅎㅎ

근데 닮은꼴로 개그우먼 신영이.....?!
Posted by kimgisa.net
2008/12/14 13:20


http://www.dnsever.com

도메인관리를 웹으로 할 수 있는 무료서비스입니다.
Posted by kimgisa.net
2008/12/12 00:31

이클립스에서 JUnit 테스트를 할 때 다음과 같은 에러메시지가 뜨는경우,

"The input type of the launch configuration does not exist."



해당 테스트 케이스 자바파일이 있는 폴더가 소스(source)폴더로 지정되어 있는지 확인해본다.
(프로젝트 속성(properties) - Java Build Path - Source 탭에 해당 폴더가 체크여부 확인)

> 간단하게 source 폴더로 추가하는 방법 
   폴더에서 우클릭 -> Build Path -> Use as source folder 선택

Posted by kimgisa.net