'Root'에 해당되는 글 472건

  1. 2009.06.19 [Collectd] 사용법 - 설치하기
  2. 2009.06.16 [JavaOne 2009] 자바원 2009 세미나 자료들
  3. 2009.06.14 [Dtrace] Solaris 서버 사용자를 위한 Dtrace를 이용한 Java 분석
  4. 2009.06.12 [Linux] RSA 키가 바뀌었다는 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 메시지가 뜨면
  5. 2009.06.09 [KeyNote] WWDC 2009 간단 요약
  6. 2009.06.05 [GC] 자바의 CMS(Concurrent Mark & Sweep)을 대체할 G1
  7. 2009.06.05 [GMail Tasks] 할일 관리, Todo list등을 쉽게 할 수 있는 Gmail의 Tasks
  8. 2009.06.04 [Excel] 유용한 엑셀 기능 정리 - 6 데이터를 찾기 위한 index와 vlookup hloopup
  9. 2009.06.03 [Blog2Book] 이제는 태교서적으로 분류되는구나 3
  10. 2009.06.03 [Excel] 유용한 엑셀 기능 정리 - 5 엑셀에서 숫자 올림을 담당하는 CEILING
  11. 2009.06.02 [Excel] 유용한 엑셀 기능 정리 - 4 엑셀에서 글자 자르기
  12. 2009.06.01 [Excel] 유용한 엑셀 기능 정리 - 3 데이터의 조건에 따라 다르게 표시하는 if와 countif (엑셀 if)
  13. 2009.05.31 [Excel] 유용한 엑셀 기능 정리 - 2 현재 날짜 및 Random(무작위 수 만들기) 관련 함수
  14. 2009.05.30 [Excel] 유용한 엑셀 기능 정리 - 1 유용한 엑셀 단축키와 값의 지정 (절대 참조, 데이터 선택)
  15. 2009.05.30 [구글 웨이브] Google Wave
  16. 2009.05.29 [자바 성능을 결정짓는 코딩 습관과 튜닝 이야기] Collection 에 관하여 1
  17. 2009.05.25 [GC] Java GC Tuning 방법 (자바 메모리 튜닝)
  18. 2009.05.22 [Heap Dump] 자바 힙 덤프(java heap dump) 분석기 - Eclipse Memory Analyzer
  19. 2009.05.19 [ZOHO] 웹 오피스, 메일, 위키등 여러 기능을 무료로 제공하는 ZOHO 라는 사이트
  20. 2009.05.19 [Glassfish] Glassfish 설치하기 - 4. Admin 콘솔 실행하기
  21. 2009.05.18 [리눅스] 리눅스에서 vi 나, 각종 메시지에서 한글이 깨질때 (리눅스 한글 변경)
  22. 2009.05.17 [HP mini] HP mini mi (Linux) Edition 을 HP Mini에 설치하기
  23. 2009.05.15 [HP mini] 넷북용 리눅스 - Ubuntu remix 설치
  24. 2009.05.10 [Google Application Engine] Google App Engine 시작하기
  25. 2009.05.08 [Word 2007 PDF] Word 2007에서 PDF로 저장하기
  26. 2009.05.07 [iBATIS] iBATIS의 성능 문제
  27. 2009.05.06 [가상OS] Virtualbox 제거(삭제)하기
  28. 2009.04.30 [Java Visual VM] JDK에 포함된 무료 프로파일링 툴
  29. 2009.04.28 [성능 참조 사이트] 성능과 관련된 참조할 만한 사이트
  30. 2009.04.21 [PPT, Word, Excel] 워드, 파워포인트, 액셀 창 두개 띄우기 - 야매 1
Collectd라는 것이 있다.
http://collectd.org/
한마디로 이야기하면, 서버의 모니터링 정보를 모아서,
다른 서버로 전송하는 기능을 수행하는 데몬이라고 생각하면 된다.

다른 OS는 몰겠지만,
리눅스는 확실히 지원한다.

시작 하는 방법은 다음의 링크를 참조하기 바란다.
http://collectd.org/wiki/index.php/First_steps

파일 다운로드 받고, 압축풀고, 컴파일하기~~~

# cd /tmp/
# wget http://collectd.org/files/collectd-x.y.z.tar.bz2
# tar jxf collectd-x.y.z.tar.bz2
# cd collectd-x.y.z
# ./configure 
촤라락 촤라락
# make all install
....
# cd /opt/collectd/


위와 같은 명령이 정상적으로 수행 되었다면,
/opt/collectd에는 관련 설정파일들이 추가되어 있을 것이다.

사용법은 다음에...
Posted by tuning-java
,
http://developers.sun.com/learning/javaoneonline/j1online.jsp?track=javase&yr=2009

Java One 2009 자료들이 떴다.
이 자료들을 보려면 SDN 계정이 있어야만 한다.
(대부분 아시겠지만, 이 계정은 무료다. ^^)

지난 몇년간 성능테스트만 하고,
튜닝 업무는 주가 아닌 부 작업이 되었을 때 자료들을 보는 것과
지금 튜닝 업무가 주요 작업인 지금 자료들을 보는 것은 천지차이다.

역시 어떤 자료던지,
자기한테 필요가 있어야만 처다보게 되고,
머리에 쏙쏙 들어온다는 거~~~.

그나 저나 팀장님이 도움이 될꺼 같냐고 물어봤을때,
강력하게 이야기할 걸 그랬다.

내년엔 경기도 좋아지고,
팀도 계속 남아있고,
Java One 2010도 꼭 해서,
한번 참석해보고 싶당...
(회삿돈으로... ㅋㅋㅋ)
Posted by tuning-java
,
http://www.devx.com/Java/Article/33943

Solaris OS를 사용한다면, DTrace라는 프로파일러를 사용할 수 있다.
만약 해당 OS를 사용하는 담당자가 자바 시스템의 성능에 문제가 있다면, 한번 사용해보기 바란다.
Posted by tuning-java
,
http://www.cyberciti.biz/faq/warning-remote-host-identification-has-changed-error-and-solution/

동일한 IP 장비의 RSA키가 바뀌거나,
OS를 바꾸어서 rebooting 했을 경우
키가 변경되면 ssh로 쉽게 로그인하기가 어렵게된다.
이러한 경우에는 다음의 명령어를 수행하면된다.

ssh-keygen -R 서버IP
Posted by tuning-java
,
새벽에 잠이 안와서
웹서핑을 하던중 오늘 하는 것을 알게된 WWDC 2009(World Wide Developers Conference 2009)

영어로 된 버전을 밑에서 부터 열나 봤더만, 새벽부터 머리가 - -;

열나 보다가 네이버에서 찾아보니,
더 상세한 한국어 버전이 있었다는 - -;

간단히 요약하면,
  • SD 카드 슬롯이 포함된 새로운 15인치 맥북 프로 등장 !!!
  • Snow leopard 등장. 9월 출시 예정에 업그레이드시 29불에...(64비트, Exchange 추가에...)
  • IPhone OS 3.0 (가장 강력한 기능은 iPhone을 분실했을 때 원격 삭제가 가능하다능~~~. 애플에서 받은 iPhone 을 분실한 불쌍한 울팀 팀장님 T T)
  • iPhone 3GS (더 빠른 속도에 199달러. 울 나라에선 왜 그리 비쌀꺼라는 소문만???)
결론은 넷북은 없구,
iPod Touch 3세대는 안나오는거네...

Posted by tuning-java
,
자바의 GC 방식에는 여러가지가 있지만,
최근에 나온 기술에는 G1이라는 것이 있다.
최근에 나온 JDK 6.0 update 14에는 early access 로 G1을 사용할 수 있도록 했다.
G1을 적용하기 위해서는 java start option에
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
라고 명시해 주면 된다.

추가로 G1을 사용할 때 GC로 인한 최대 대기시간을 지정하기 위한
-XX:MaxGCPauseMillis=<X>
옵션을 추가할 수 있으며,
-XX:GCPauseIntervalMillis=<X>
옵션을 통해서 GC 대기 사이의 간격을 지정할 수 있다.
그런데 여기서 중요한 것은
이 옵션은 Goal 이다. Promise나 guarantee 가 아니라는 것이다.
(목표일 뿐이고, 이건 약속이나 보장한다는 것이 아닐 뿐이고~~)

G1이 다른 GC와 다른 것은 GC를 담당하는 New와 Old의 장벽이 사라졌다는 것~~~
자세한건 아래 링크의 비됴나 문서를 함 보시길~~~

Sun Tech Days 2008-2009 자료 보기
http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-5419&yr=2008&track=javase


Posted by tuning-java
,

구글의 GMail을 사용하신다면,
강력 추천할만한 기능중 하나가 Tasks라는 기능이다.

제목 그대로, 자기가 할일을 관리한다던지, Todo list를 관리하고 싶다면 누구든지 쉽게 사용할 수 있도록 만들어져 있다.

기본 설정에서는 사용할 수 없고, 설정을 좀 바꿔야 한다.
아래 그림과 같이 GMail의 세팅으로 들어간다.
(난~~~ 영어버전으로 쓰기 때문에 아래와 같이 나온다. ^^)

사용자 삽입 이미지

그럼 중간에 있는 형광색으로 된 Tasks라는 것이 있는데, 이것을 Enable로 설정하고, 맨 아래로 열나게 스크롤 한 다음에 저장을 누르면 설정은 끝...
그럼 다음과 같이 좌측 연락처 밑에 Tasks가 추가된 것을 확인할 수 있다.
사용자 삽입 이미지
이 Tasks를 누르면,
Google talk 을 할때 처럼 하단에 다음과 같은 창이 나타나고, 이제 할일 정리만 하면 된다.

사용자 삽입 이미지

하단에 좌측 Actions 메뉴가 있는데 , 메뉴를 누르면 해당 Tasks에 대한 작업을 설정할 수 있다.
하단 중앙에 휴지통은 그 작업을 지우려할 때 사용하면 된다.
그 우측에 목록 관리하는 메뉴가 있는데,
자기가 할 일들을 그룹핑하여 사용할때 유용하다.
추가로 해당 할 일을 선택하면 다음과 같이 note라던지, 완료예정일을 기입할 수 있다.
사용자 삽입 이미지
대단한 넘들~~~~


Posted by tuning-java
,
엑셀에서 데이터를 찾을 필요가 있다.

특히 컨트롤(슬라이드 바나, 체크 박스등)을 사용할 때에는
굉장히 유용하다.

각각의 의미는 다음과 같다.
index(Data, i, j): 선택한 data의 범위에 있는 i번째 행의 j 번째 열을 구한다.
VLOOKUP(찾으려는 값, 전체 영역,리턴하는열 번호): 전체 영역에서 가장 좌측에 있는 값이 찾으려는 값이면 가장 우측값을 리턴한다.

 1 2
 4
 7
 10 11  12 
와 같은 데이터가 있을 때
1이 A1, 12가 C4에 있는 경우

=INDEX(A1:C4,1,1)
은 1을
=INDEX(A1:C4,4,3)
은 12를 표시해준다

=VLOOKUP(1,A1:C4,3)
은 3을
=VLOOKUP(4,A1:C4,3)
은 6을
각각 표시해준다.
Posted by tuning-java
,

블로그의 유입경로를 심심해서 쳐다보던중,
아래와 같은 검색어가 있어 눌러보니...
이제는 태교서적으로 분류되는구나~~~



지난번에는 창작동화로 분류되더니~~~

http://www.tuning-java.com/169
Posted by tuning-java
,
엑셀에서 숫자를 다루면서 필요한 것이 CEILING이라는 것이다.

다음의 내용을 보자. 4.5라는 숫자에 CEILING 계산은 다음과 같이 한다.
CEILING(4.5,1) 
CEILING(4.5,2) 
CEILING(4.5,4) 
CEILING(4.5,8) 
CEILING(4.5,10)
 
결과는 다음과 같이 나온다.

1

5

2

6

4

8

8

8

10

10


CEILING 은 올림함수의 일종으로, 뒤에 있는 숫자의 배수를 표시해준다.
4.5를 1의 배수로 표현하면, 4 다음의 숫자가 5이기 때문에 5가 되며
4.5를 2의 배수로 표현하면, 4 다음의 숫자가 6이기 때문에 6이 된다.

CEILING의 반대는 FLOOR 로 올리지 않고, 내림을 한다.

Posted by tuning-java
,
엑셀에도 기본적으로 글자를 자르는 (substring) 기능이 존재한다.

글자를 자르는 함수는 LEFT, MIDDLE, RIGHT 가 있다.
LEFT(A1,2) ==>A1의 값이 ABCDE이면 AB가 나옴. 
RIGHT(A1,3) ==> A1의 값이 ABCDE이면 CDE가 나옴
MID(A1,2,2) ==> A1의 값이 ABCDE이면 BC가 나옴.


Posted by tuning-java
,
엑셀의 if는 베이직이라는 언어의 if 라고 생각하면 가장 쉽다.

A1 필드에 어떤 숫자가 있을 때 다음과 같이 if 를 사용하면 된다.
=if(A1 >= 30, "30 이상", "30 미만")

다시 말하면
=if(조건식, 참일때의 행동이나 값, 거짓일때의 행동이나 값)
이다.

countif는 범위에 맞는 데이터의 개수를 찾을 때 사용한다.
=COUNTIF(C:C,">5")

이렇게 하면 C 전체 셀에서 5보다 큰 데이터의 개수를 찾는다.
Posted by tuning-java
,
날짜를 만드는 함수는 여러가지가 있겠지만, 오늘 날짜와 날짜 수를 세는 함수는 다음과 같다.
=NOW() : 현재 날짜
=DAYS360(시작날짜,끝날짜) : 시작날짜에서 끝 날짜까지의 날짜 수
=DAYS360(B2,NOW()) ==> B2 부터 현재까지의 날짜 수

무작위수를 나타내는 함수는
=RANDOM() 
이다.
이렇게 하면, 빈 칸을 선택하고 "del"키를 누르면 계속 0~1까지의 무작위 수를 제공한다.

만약 min~max 까지의 난수를 만들려면 다음과 같이 하면 된다.
=RANDOM()*(max-min)+min

Posted by tuning-java
,
얼마전 통계 교육을 받았는데, 유용한 엑셀 기능들이 있어서
정리해 두려고 한다.

나중에 까먹을 수도 있고,
이 기능들을 찾는 분들도 있을 수 있고...

IT하면서, 그리고, 일하면서 Excel을 잘 다루면 정말 시간도 단축하고,
편하게 일할 수 있다. 그런게 Excel이다.

가장 먼저 쉬운 단축키부터
F4키 : 절대 참조로 변경
Ctrl+Shift+화살표 : 데이터 범위 선택
Ctrl+Shift+8 : 근처 범위 선택

절대 참조는 셀 참조에 $을 붙이는 것이다.
예를 들어 "=A1"이 있다면 다음과 같이 된다.
$A$1 : A1으로 고정됨 $A1 : A만 고정됨. 아래 드래그를 하면 행 값이 변경됨 A$1: 1만 고정됨. 우측 드래그하면 열 값이 변경됨.


데이터 범위 선택은 여러 데이터가 있을 때 화살표를 누른 방향으로의 그 데이터 끝까지 선택된다.
(이거 모르면 몇천개 끝찾기 위해서 스크롤바를 내려야 한다.)

엑셀의 전체 단축키는 아래 링크를 따라가면 된다.
http://office.microsoft.com/client/helppreview.aspx?AssetID=HP100738481042&ns=EXCEL&lcid=1042

마지막으로
자바에서 String을 더할 때에는 +를 쓰지만,
엑셀에서는 &를 쓴다는걸 기억하자.
예를 들어 A1값이 2이고, 그 값을 참조하고 싶다면, 다음과 같이 사용하면 된다.

="이번일에 대해서 "&A1&"MB 은 머리를 숙이고 사죄를 해야만 한다."

다음부터는 정말 유용한 함수들을 정리할 예정이다.
Posted by tuning-java
,
구글에서 웨이브라는 걸 새로 발표했다.

http://www.youtube.com/watch?v=v_UyVmITiYQ
링크를 보면 확인할 수 있다.

Wave에 대한 세부 내용은
http://wave.google.com/ 를 확인하면 된다.

쉽게 말하면, Open Source 커뮤니케이션 및 협업 시스템이라고 한다.

지금까지 어렵게 개발해 왔던 것을 쉽게 개발할 수 있도록 Rich client를 제공한단다.

자세한건 나와 봐야~~
그나마 자세한 설명이 있는 링크는 아래 글을 참조하기 바란다.
http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=56332
다음 그림은 구글 사이트에 있는 스크린 샷 중 하나다.

Posted by tuning-java
,
먼저 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기를 구매하고, 읽어주신, 그리고, 읽고 계신 독자 여러분께 감사하다는 말씀을 드립니다.

이렇게 글을 올리는 이유는 책을 쓴 저자가 책을 읽는 여러분이 정확한 지식을 습득해야 한다고 생각하기에 책이 나온지 1년 3개월이 지난 지금 이렇게 글을 씁니다.(이렇게 갑자기 책에 대해서 이야기하는 것은 가장 아래에 적어 놓았습니다.)

먼저 제 책에 있는 몇몇 오류에 대해서는 손권남씨께서 자신의 블로그 http://kwon37xi.egloos.com/3733755 에서 잘 설명해 두었습니다. 여기서 제가 보기에도 완전한 문제라고 생각된 부분에 대해서는 2쇄 발행시 많이 수정하였습니다.

그런데, 가장 논란이 많은 부분은 역시 Collection관련 부분입니다.
물론 테스트를 제대로 하지 않았다는 점에 대해선 100% 인정합니다.
(http://agbird.egloos.com/4800620 에 있는 내용을 잘 읽어 보시면 도움이 되실겁니다.)

각각의  Map, Set, List, Queue 등은 자신의 용도에 맞게 사용해야만 합니다. 

그렇다면, 제가 책에 왜 Collection에 대해서 썼을까요?
잘못된 지식을 주기 위해서?
제 책에 안티하신 분들이 말씀하시는 잘못된 테스트 방법을 알리기 위해서 ?
모두 아닙니다.

사실 Collection은 일반 웹 프로그래밍을 할 때 성능의 관점으로 보았을 때 중요하지 않습니다.
하지만 만약 여러분들이 Batch 프로그램이나, WAS 등을 개발한다면 이야기는 완전히 달라집니다. 굉장히 중요합니다.
책을 보신분은 아시겠지만, 테스트 케이스는 적어도 만번 이상 반복 수행을 한 내용입니다.
일반 웹에서는 그렇게 많은 회수의 데이터 검색 및 처리를 해서는 안됩니다.
그렇게 몇만건의 데이터 처리를 하게 된다면 고객을 반드시 설득시키시기 바랍니다. 그건 Web이 아니라, Web의 껍데기를 하고 있는 C/S프로그램입니다.

책을 쓰면서 여러 자료를 수집하면서, 웹 상에서 어떤 Collection이 가장 빠르냐에 대한 논쟁이 일어난 부분을 많이 보았습니다.
그러한 논쟁은 웹 개발시에는 그리 큰 의미가 없다는 것을 알리기 위해서 쓴 부분 입니다.
그렇게 Collection의 성능이 걱정되신다면 구글 Collection을 쓰세요. 

다시 한번 책에 잘못된 지식을 전달한 점에 대해서 죄송하다는 말씀을 드립니다.

그런데, 지금까지 가만히 있다가 왜 갑자기 이런글을 썼을까요?
이번주 화요일에 사내에서 컨퍼런스가 있었습니다.
자바 성능과 관련된 부분이 있어 관심있게 듣게 되었습니다.
그런데, 사전에 컨퍼런스 자료를 검토하던중, 제 책이 잘못되어 있다고 되어 있는 부분을 발견하여
발표자에게 컨퍼런스 전에 메일을 드렸지만, 
메일을 보지 못하고 컨퍼런스를 진행하시더군요. - -;

그 발표자 분과는 컨퍼런스 후에 메일을 통해서 이야기를 하게 되었는데,
예전에 발표자와 다른 어떤 분이 Collection 부분 때문에 엄청 심하게 싸웠고,
그러한 문제 때문에 책에 대한 문제점을 세미나에서 다루었다고 말씀하시더군요.

제가 쓴 책 때문에 다툼까지 발생하리라고는 생각지도 못했습니다.
추후에라도 제가 잘못 쓴 부분 때문에 많은 분들이 다투지 않았으면 하는 생각에 글을 쓰게 되었습니다.

제가 완벽하지도, 똑똑하지도 않은 사람이지만,
성능에 때문에 고생하는 많은 분들을 위해서 쓰게된 책입니다. 조금더 성능에 대한 정확하고 심오한 정보를 얻고 싶으시다면, Effective Java를 반드시 읽어 보세요. 

그래도, 저도 사람인지라 깊이가 낮다. 일부분의 오류 때문에 잘못된 책, 믿지 못할 책이라는 평가를 보면 하루 종일 기분이 좋지 않더군요. 그래서 최근에는 검색을 잘 안해보고 있습니다. ^^:

지금은 "개발자도 쉽게 배우는 테스트와 테스트 툴 이야기(가제)"라는 책을 쓰고 있습니다.
이 책도 저번 책과 마찬가지로, 테스트에 대해서 잘 모르는 초급 개발자와 간단히 참조하기를 위한 중급 개발자분들을 위한 책입니다. TDD에 대한 심오한 이야기나 CI에 대한 깊은 이야기를 다루지는 않았습니다. 
단지, 그러한 단어가 무엇을 뜻하는지, 왜 해야하는지, 테스트라는 말만 들으면 스트레스를 받는 분들을 위해서 최대한 쉽게 쓰려고 노력하고 있습니다.
지금 쓰고 있는 책의 서문에도 써 놓았지만(나중에 출판사에서 그 내용을 뺄 수도 있습니다.), 
자신이 고급 개발자라고 생각하시는 그런 분들은 절대 제가 쓰고 있는 책을 사지 마세요.
그런 분들은 안읽으셔도 됩니다. (보시면 도움이 될만한 부분이 적어도 하나는 있겠지만...)

지금 쓰고 있는 책을 탈고하고, 출판을 한 이후에는
"자바 성능을 결정짓는 튜닝, 그 두번째 이야기"를 쓸 예정입니다.(목차는 거의 완성되었습니다.)
그 책은 성능에 대해서 깊게 쓸 예정이므로, 첫번째 이야기에 실망하신 분들은 기대하셔도 좋습니다.
두번째 책도 실망하시는 분들은 제가 어쩔 수 없죠. - -; 
단, 출판사와 계약 안하고 90% 완료한 상태에서 계약할 예정입니다. ^^;
(빠르면 내년 10월쯤 나올 것 같습니다. )

넋두리가 심했네요.

긴글 읽어 주셔서 감사합니다. 
Posted by tuning-java
,
GC가 뭔지 잘 모르시는 분들은 제 블로그의 다른 글을 찾아보시거나,
"자바 성능을 결정 짓는 코딩 습관과 튜닝 이야기"를 참조하시길...

자바의 메모리 구조는 다음과 같이 되어 있다.
  • Code Cache: contains memory used for compilation and storage of native code
  • Eden Space: pool from which memory is initially allocated for most objects
  • Survivor Space: pool containing objects that have survived Eden space garbage collection
  • Tenured Gen: pool containing long-lived objects
  • Perm Gen: contains reflective data of the JVM itself, including class and memory objects
  • Perm Gen [shared-ro]: read-only reflective data
  • Perm Gen [shared-rw]: read-write reflective data

    아래는 GC를 어떻게 튜닝하는지에 대한 자세한 설명이 있는 사이트 링크다.
    http://java-monitor.com/forum/showthread.php?t=30

    이것도 귀찮은 분을 위해서 더 간단한 튜닝 정보
    http://developer.amd.com/documentation/articles/pages/4EasyWaystodoJavaGarbageCollectionTuning.aspx

    완벽한 GC의 방식과 처리에 대한 자세한 정보를 보려면 아래 링크에 있는 PDF 파일을 참조하는 것도 좋다.
    http://www.cecmg.de/doc/tagung_2007/agenda07/24-mai/2b3-peter-johnson/index.html


    한글로 된 설명을 보고자 하신다면
    다시한번 말씀드리지만,
    "자바 성능을 결정 짓는 코딩 습관과 튜닝 이야기"를 참조하시길...
    지금 생각해보면 이 책에 이 부분에 대한 설명을 좀 약하게 적었다는 생각이 많이 들긴 한다.
    다음책에선 자세히 적어놔야지...

    추가로 Java 6 GC 튜닝 방법에 대한 Sun의 자료는 아래와 같다.
    http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html

  • Posted by tuning-java
    ,
    자바 힙 덤프 분석기는 jhat등 여러가지 툴이 있지만,
    최근에 발견한 Eclipse Memory Analyzer 라는 프로그램이 있다.

    http://www.eclipse.org/mat/

    다운로드하여 압축을 해제하고, 이클립스만 수행하면 된다.
    단, 기본 자바 VM을 사용할 때 발생한 HPROF 덤프 파일의 확장자는 반드시 hprof 여야만 읽을 수 있다.

    작성된 힙 덤프 파일을 이 프로그램에서 읽으면 다음과 같은 화면을 제공한다.
    사용자 삽입 이미지

    Posted by tuning-java
    ,
    대부분 구글에서 제공하는 기능들 이지만,
    보다 전문화된 웹 기반 시스템들을 제공하는 사이트이다.
    http://www.zoho.com/index.html

    개인적인 용도로 사용하기에는 매우 좋은 사이트라고 생각한다.
    (만약 비즈니스 용도로 사용할 경우에는 일정 금액의 사용료를 지불하도록 되어있다.)
    http://www.zoho.com/pricing.html

    사용자 삽입 이미지
    Posted by tuning-java
    ,

    서버가 정상적으로 수행되었다면, 관리자 콘솔에 들어가야 한다.
    웹과 커맨드라인 접근의 두가지 방법이 있는데, 웹으로 들어가보자.

    웹 콘솔에 들어가는 방법은 다음의 URL로 들어가면 된다.
    http://localhost:4848
    그런데 이렇게 들어가면 id/pw를 묻는다.(이거 찾느라 좀 시간이 걸렸음)
    만약 Glassfish를 서버에 설치했다면,
    localhost 대신 서버 IP를 입력해야 한다.

    admin 콘솔의 설치시 id/pw는 admin/adminadmin 이다.



    Posted by tuning-java
    ,
    가끔 몇몇 리눅스 서버에서 한글이 깨지는 경우가 발생한다.
    그럴 땐 다음과 같이 간단히 ~~~ 변경 가능하다.

    /etc/sysconfig/i18n 파일을 vi로 연다.
    사용언어가 아마도 UTF-8로 되어 있을 확률이 높은데,
    LANG="ko_KR.UTF-8"
    다음과 같이 변경하면 된다.
    LANG="ko_KR.eucKR"

    변경후 이 파일을 적용하기 위해서는,
    다시 로그인을 하거나, bash 쉘을 수행하면 한글이 깨지지 않은 상태에서
    리눅스를 사용할 수 있다.

    PS: 이 설명은 CentOS에서 작동이 잘 되지만, 다른 리눅스에선 해보지 않아서 제가 확답을 드리긴 어렵네요. ^^:
    Posted by tuning-java
    ,
    아는 분은 아시겠으나, HP Mini 1000 시리즈에 mi Edition 이라는 것이 있다.

    기본적으로 윈도 Home 에디션이 설치되지만,
    이 버전은 Linux가 깔려있다고 한다.

    현재 XP Home edition을 사용하고 있는 분이라도
    USB가 있다면 다운로드하여 설치할 수 있다.

    설치하는 방법은 매우 쉽다.
    1. 아래에 있는 링크에서 복구용 프로그램을 구한다.
    2. USB를 삽입한 상태에서 복구용 프로그램을 수행하면, Img파일을 다운로드 받고, 삽입한 USB에 설치파일이 복사된다.
    3. 삽입한  USB로 부팅하면 설치가 시작된다.

    각종 정보는 아래 링크를 참조하기 바란다.
    http://myhpmini.com/forum/viewtopic.php?f=10&t=122&start=12


    근데 위의 링크 내용을 보면 알겠지만,
    우분투 Remix를 사용하는 사용자는 이거 깔았다가 그냥
    원복했다고 한다. ㅋㅋ

    Posted by tuning-java
    ,

    넷북에 우분투를 USB 에다가 깔아놓고 안쓰고 있다가,
    팀장님이 넷북용 우분투가 나왔다는 말씀을 하셔서 한번 깔아봤다.

    갖고 있는 HP mini 1000 은 이미 오류 보고가 되어 있는 상태이며,
    (사운드가 안나옴)
    뭐 소리가 나올 필요가 없어 혹시나 하고 그냥 깔아봤다.

    http://www.ubuntu.com/getubuntu/download-netbook
    에서 다운로드를 할 수 있으며,
    설치하는 방법은
    https://help.ubuntu.com/community/Installation/FromImgFiles
    를 참조하면 된다.

    준비물은 넷북 + USB 두개. (하나는 설치 파일용, 다른 하나는 우분투 설치용이다.)
    뭐 넷북 하드에 설치하실 분들은 그냥 USB 하나만 있어도 된다.

    사용해 보면 알겠지만, 하루정도 사용해 본 느낌은,
    맥북을 처음 샀을때의 느낌(?) 에서 40%정도 감소된 그런 느낌? ㅋㅋㅋ

    아래 이미지들은 스크린 샷들~~~
    각각 좌측의 메뉴를 클릭했을때 나타나는 화면이다.
    (이미지를 클릭하면 제대로된 크기의 스크린샷을 보실수 있습니다.)

    사용자 삽입 이미지

    사용자 삽입 이미지

    사용자 삽입 이미지

    사용자 삽입 이미지

    사용자 삽입 이미지

    사용자 삽입 이미지

    사용자 삽입 이미지

    사용자 삽입 이미지

    사용자 삽입 이미지


    사용자 삽입 이미지
    Posted by tuning-java
    ,
    http://code.google.com/intl/ko/appengine/

    Google에서 제공하는 Application Engine의 자바버전 Beta 서비스가 시작되었다.
    아직까지는 무료버젼으로 제공되며,
    - 500MB의 공간
    - 월 500만 Page View
    가 무료다.

    Windows, Mac, Linux에서 개발할 수 있는 기능들을 제공하며,
    Eclipse에서 개발을 쉽게 할 수 있도록 plug-in 도 제공된다.

    아쉬운점은 시작하기 가이드를 한글로 제공하지 않는다는 것~~~.

    시간되시는 분들은 한번씩 해보시길...
    Posted by tuning-java
    ,
    기본 Word 기능에는 PDF로 저장하는 기능이 없다.
    2007 에서는 PDF로 저장하기 위해서 MS에서 제공하는 추가적인 프로그램을 설치해야만 한다.
    Word help에 바로가는 링크가 있긴 한데, 그것도 찾아보기 귀찮은 분들은 다음의 방법을 따라하면 된다.

    설치하는 방법은 간단하다.
    http://office.microsoft.com/en-us/help/default.aspx
    사이트를 들어가서 검색창에 "PDF"라고 치면
    2007 Microsoft Office Add-in: Microsoft Save As PDF or XPS
    라는 링크가 가장 위에 나타나고, 이 링크를 따라가면 설치 add-in을 다운로드할 수 있다.

    설치가 완료되면 해야할 일은 다른 이름으로 저장을 선택하고, 파일 타입을 PDF로 선택하여 저장하면 된다.

    참 쉽죠~~?
    Posted by tuning-java
    ,
    요즘 iBATIS를 사용하는 프로젝트가 많이 있다.
    예전 회사에서도 이런 경우가 발생한 것으로 생각되는데,
    iBATIS를 사용하면 WAS의 CPU 사용량이 어느 정도 이상 증가하지 않고,
    TPS도 증가하지 않는 현상이 발생하는 경우가 간혹 있었다.

    최근에도 이런 문제를 확인했는데,
    그 이유는 iBATIS의 com.ibatis.common.beans.ClassInfo 클래스에 있었다.
    뭐 내가 잡은건 아니고 내 옆자리에 있는 박박사님께서 ^^;

    만약 쿼리들이 느린 경우에는 이런 문제가 야기 되지 않겠지만,
    쿼리들이 엄청 빠를 경우 WAS에 병목이 생긴다. 아래의 링크를 보자.
    https://issues.apache.org/jira/browse/IBATIS-508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12683961

    이중으로 Lock을 잡은 것이 문제였으며,
    우연찮게도, 미쿡 애들도 비슷한 시기에 문제를 확인한 것 같다.
    http://www.kaigrabfelder.de/en/2009/05/01/concurrency_vs_synchronization.html

    가장 좋은 해법은 ConcurrentHashMap 을 사용하는 것이다.

    해당 버젼이 release (2.3.5)되면 성능을 위해서 update 하는 것이 좋을 듯 하다.


    Posted by tuning-java
    ,
    Virtualbox 2.2.2 버전이 새로 나왔다.

    이전 버전(2.2)이 설치되어 있는 상태에서 제거를 하고 다시 설치하려고 할 경우나,
    Virtualbox 2.2.2를 설치하려는 경우,
    Virtualbox를 지우려고 할 경우에
    제거작업을 하다가 오류가 발생한다는 메시지와 함께 모든 작업이 rollback 되는 경우가 발생한다.

    참 거시기한 경우가 아닐 수 없다.

    인터넷에 뒤져본 결과, 많은 사용자들이 나와 같은 경우가 발생한 것을 알 수 있었고,
    가장 쉽게(?) 이 문제를 해결하는 방법은 다음과 같다.

    1. 제어판에서 프로그램 설치 제거를 눌러서 Sun Virtualbox를 찾는다.
    2. 제거를 누르지 말고, 변경을 누른다.
    3. 거기서 Repair를 선택해서 새로 설치하도록 지정한다.
        (왜 Repair를 하냐고 묻지도 따지지도 말고 그냥 따라해 주기 바란다. ^^)
    4. 작업을 마치면 PC를 껐다 키라고 하는데, 껐다 키지 말고 프로그램 설치 제거에서 삭제를 누른다.

    제대로 이 작업을 따라했을 경우 정상적으로 해당 프로그램이 삭제된 것을 확인할 수 있을 겄이다.

    관련 정보는 아래 링크를 확인하기 바란다.

    http://forums.virtualbox.org/viewtopic.php?f=1&t=16460
    Posted by tuning-java
    ,
    https://visualvm.dev.java.net/

    VisualVM이라는 무료 툴이 있다.
    사용자 삽입 이미지

    이 툴이 JDK 6.0의 update 7 부터는 JDK의 bin 디렉토리에 jvisualvm.exe 라는 파일로 추가되어 있다.

    한번 사용해 보면 알겠지만, 정말 대단한 툴이다.

    jconsole은 JMX를 데이터를 보기 위한 툴이라면,
    이 툴은 메모리 상태 파악 및 성능 및 메모리 프로파일링까지 가능하기 때문에 성능상 문제가 있는 분들에게
    많은 도움이 될 것이라 생각된다.

    하지만, 아직까지 안정화 되지는 않아서 모니터링 대상 JVM이 죽는 현상이 발생할 수 있으므로,
    조심해서 사용하기 바란다.

    운영서버보다는 테스트 서버에서...

    추가로 이 툴을 사용한 후기를 "영어"로 작성할 능력이 있다면
    500불을 받을 수 있는 기회를 놓치지 말기 바란다.

    나도 함 시간 있으면, 해보려고~~
    자세한 내용은 아래 링크 참조.
    http://java.sun.com/community/javavisualvm/


    Posted by tuning-java
    ,
    http://highscalability.com/

    팀장님의 강력 추천 사이트이다.

    단하나의 단점은 영어 사이트라는 거~~~

    Posted by tuning-java
    ,
    예전 버젼의 MS 워드나 엑셀, PPT는 창을 두개 띄울 수가 있었는데,
    요즘 버젼(2007)은 창을 두개 이상 띄울 수가 없다.

    듀얼 모니터를 써도 아무런 도움이 안되는~~~

    그래서 생각한것이 Open Office를 이용하는 것...

    작업하려는 문서를 MS 워드나 액셀 파워 포인트로 띄우고,
    참조하는 문서를 Open office로 띄워서 보는 방법이다.

    아무리 해도 뭐 방법이 없는데 이렇게라도 해서 써야지.

    아니면, 다른 방법은
    구글 Docs 에 참조할 문서를 올려서 사용하는 것이다.
    Open office를 쓰는 것 보다는 메모리는 적게 먹겠지만...

    PS:네이버에서 "야매"에 대해서 사전 검색을 해 봤더니,
    사전에 있는 용어는 아니다. ㅋㅋ
    Posted by tuning-java
    ,