'Root'에 해당되는 글 472건

  1. 2009.04.20 [Blog2Book Test] 현재까지 57%정도의 진척률 2
  2. 2009.04.20 [Basic] 기본에 대한 개인적인 생각 3
  3. 2009.04.17 [Glassfish] 요청한 URL이 없는 경우 디렉토리 목록(Directory listring) 안보이게 하기
  4. 2009.04.10 [Java Performance Tips] 자바 성능 팁
  5. 2009.04.09 [MacBook 사용팁] 나같은 초보를 위한 맥북 사용 팁-31 다른 사람들이 어떤 프로그램을 많이 쓰는지 확인해보자.
  6. 2009.04.08 Sun 4월 오픈 기술 세미나
  7. 2009.03.29 [MacBook 사용팁] 나같은 초보를 위한 맥북 사용 팁-30 맥 사용자를 위한 종합 선물 세트 omni group
  8. 2009.03.23 [가상 OS] VMware, Parallels 등은 더이상 필요 없다. 이제 Virtualbox 다. 3
  9. 2009.03.17 [JUnit] JUnt 4를 간단하게 정리한 글.
  10. 2009.03.12 [WebLOAD] WebLOAD 오픈소스 제공 중지... - -;
  11. 2009.03.11 [정규 표현식 분석기] 웹 기반의 정규 표현식 분석기 1
  12. 2009.03.09 [자바 스택정보 보기] jstack을 이용해서 스택정보(쓰레드 덤프, Thread dump) 확인
  13. 2009.03.08 [HP mini] HP 1013tu 구매 및 프리징 문제 관련 2
  14. 2009.03.06 한빛 미디어 도서를 이용한 Java Roadmap
  15. 2009.03.04 [이벤트안내] 한빛 미디어에서 자바 로드맵 만들기 이벤트를 하네요.
  16. 2009.03.02 [자바 모니터링] 자바 모니터링 툴 직접 만들기
  17. 2009.02.28 [Safari4] 맥 및 윈도우용 사파리4 등장 (아직은 베타)
  18. 2009.02.27 [Apache와 Tomcat 연동] 한대의 apache(아파치)와 두대의 tomcat(톰켓, 탐킷)을 연동할 때...
  19. 2009.02.25 [Garbage First] G1 콜렉터란 ??? 1
  20. 2009.02.22 일년이 다 되어 간다.
  21. 2009.02.21 [MacBook 사용팁] 나같은 초보를 위한 맥북 사용 팁-29 맥 인트로(설치시 환영) 동영상 보는 방법
  22. 2009.02.19 [NetBeans 성능 튜닝 관련 링크 모음] 넷빈즈 사이트에서 제공하는 성능 관련 링크들
  23. 2009.02.19 [자바 메모리 옵션 튜닝] Sun 에서 제공하는 자바 메모리 옵션 튜닝
  24. 2009.02.19 [MacBook 사용팁] 나같은 초보를 위한 맥북 사용 팁-28 맥 화면 보호기를 동영상으로 지정하기
  25. 2009.02.17 [프로그래밍 언어의 역사] 프로그래밍 언어의 역사를 한눈에 볼 수 있는 문서 1
  26. 2009.02.11 [Java Runtime] Java Runtime.exec() 메소드가 잘 안돌아 갈 때 (CreateProcess error=2 발생)
  27. 2009.02.10 [JIRA] 지라 성능 튜닝
  28. 2009.02.07 [자바 기본 강좌] 자바라는 단어만 들어도 스트레스를 받는 분들을 위한 초보 강좌-05 public, protected, private
  29. 2009.02.06 [자바 기본 강좌] 자바라는 단어만 들어도 스트레스를 받는 분들을 위한 초보 강좌-04 equals와 == 의 차이점
  30. 2009.02.06 [리눅스] 자바 개발용 환경 세팅
Blog2Book 시리즈의 테스트 책을
현재까지 57%정도를 집필완료하였다.

아직도 갈 길이 멀긴 하지만,
출근 버스에서 쓰는것도 쉽진 않다.

퇴근하면 피곤해서 아무것도 못하것고~~~.

목표는 7월말 집필 완료
9월초 출판 ~~~
Posted by tuning-java
,
기본, 영어로는 Basic,에 대한 생각을 가끔하게 만드는 사람들이 많다.

기본적인 것이라서 어찌보면 별거 아니라고 생각할 수 있는 사항들이지만,
사람의 기분을 엄청 나쁘게 할수도 있고, 좋게 할수도 있는 것이 기본이라고 생각한다.

그렇다고 내가 기본을 충실히 지키는 사람이란 것은 아니다. ^^;

Case 1: 누군가에게 질문을 하는 자세

별로 대단한건 아니지만, 책 한권 쓴 이후로 가끔 메일로 질문을 받는다.
아주 기초적인 질문부터, 책이 잘못되어 있다는, 의문이 간다는 분들의 질문까지...
지금까지 질문을 하신 분들중 정말 겸손하게 질문하시고,
답장 메일에 대한 감사메일까지 보내신분은 딱 한분 뿐이다.
가장 황당하게 질문하신분의 첫 문장은 다음과 같다.
"책을 보다보니 궁금한게 있어서요.."
난 이 분과 한번도 만난적도 없으며, 이야기한적도, 메일을 주고 받은 기억도 없다.
다짜고짜 질문만하고, 답변해주면 생까고...
기본적으로 누군가에게 질문을 하려면,
"안녕하세요?"
로 시작하는게 정상 아닌가?
아니면
"XXX님의 책을 읽은 독자입니다. 저는 학생이며 ~~하나보니 궁금한게 있어서 이렇게 메일을 드립니다."
라는 식으로 시작하는 것이 정상이라고 생각하는데,
그렇게 시작하는 분은 열명에 한명 될까 말까다.
내가 이상한건가?
 
Case 2: 누군가의 자료를 도용하여 사용하는 사람들의 자세
무심코 어제 인터넷 서핑을 하다가 어떤 세미나의 내용을 보게되었다.
세미나의 내용을 보니 내가 만든 세미나 자료와 제목이 70%이상 유사한(세미나 제목도 거의 동일한) 것을 확인하였다.
뭐 대단한 내용도 아니고, 어려운 내용도 아니지만,
많은 시간을 투자하여 만든 자료를 제 3자에게 대외에 open된 강의를 하면서
그 글을 쓴 사람에게 한줄의 양해를 구하지도 않고 사용한다는 것은 도저히 이해가 되질 않는다.
당사자와 통화는 했지만,
처음에 통화할 때에는 웹에 그냥 오픈되어 있는 것을 썼는데 그게 문제가 되냐는 말이었다.
그래서, 출처를 밝히고, 양해를 구하는게 기본이 아니냐고 이야기를 하니 그제서야 미안하단다.
(그분은 대학에서 강의도 하는 분이란다.)
완전 엎드려 절 받기가 되었지만,
이렇게 타인의 강의 자료를 무단으로 사용하는건 아니라고 생각한다.

Creative Commons 는 왜 있는건지 ???

Posted by tuning-java
,

Glassfish를 설치하여 사용하다보면,
없는 URL을 요청할 경우 디렉토리 목록이 나오게 된다.

대부분의 시스템 운영자는 디렉토리 목록에 어떤 파일이 있는지를 보여주기 안좋아 하므로,
옵션을 수정하여 안보이도록 해야 한다.


{glassfish설치위치}/domains/domain1/config
디렉토리로 이동한다.

디렉토리에 있는 default-web.xml 파일의 listing 부분을 false로 지정해야 한다.

<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>listings</param-name>
      <param-value>false</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

참고로 내가 못찾은 건지 모르겠지만,
설정에는 이 옵션을 지정하는 부분이 없다.

Posted by tuning-java
,
오늘 팀장님께서 복사한 문서를 한번 읽어 보라고 주셨다.
9개의 자바 성능 팁에 대해서 아~주 간단하게 정리되어 있는 문서다. (2페이지에 걸친...)

그 장의 첫번째 구문에는 Michael A. Jackson 이라는 할아버지가 쓴 글귀가 있다.

The First Rule of Optimization : Don't do it
The Second Rule of Optimization (for experts only) : Don't do it yet.

이 문서가 언제 쓴 문서인지는 모르겠지만.... 이 글귀는 약간 이해는 안된다. ^^;

Tip #1 : Object creation is bad
Tip #2 : static is good  ==> I don't think so 다.
Tip #3 : Table switch good, lookup switch bad
Tip #4 : Small methods are good methods
Tip #5 : Exceptions are exceptional
Tip #6 : Use decorator patterns with care
Tip #7 : instanceof is faster on classes
Tip #8 : Use synchronized minimally
Tip #9 : Beware external libraries
Posted by tuning-java
,
다른 사람들이 어떤 프로그램을 위주로 쓰는지,
내가 모르는 어떤 좋은 프로그램이 있는지 알고 싶을 때가 있다.

그럴 때 좋은 사이트가 http://wakoopa.com  라는 사이트다.
애플리케이션의 순위를 보여주고, 다운로드 링크까지 제공한다.



Posted by tuning-java
,
http://blog.sdnkorea.com/sls/123

Sun에서 항상 하는건지는 모르겠지만, 오픈 기술 세미나를 하네요.
이미 하나는 지나갔고...

전 다음주 화요일 세미나 참석할랍니다.

4월 오픈 기술세미나가 일정입니다. 
------------------------------------------------------------------------------------
세미나 일 | 시간 | 주제 
------------------------------------------------------------------------------------ 
4월 07일(화) | 19:00 ~ 19:50 | 클라우드 컴퓨팅을 위한 서버가상화 

4월 14일(화) | 19:00 ~ 19:50 | Glassfish의 미래와 자바EE 

4월 28일(화) | 19:00 ~ 19:50 | 한국썬의 SOA전략:자바캡스(JavaCAPS)6버전

Posted by tuning-java
,
어제 회의할 때 팀장님이 사용하는 특이한 프로그램을 봤다.

어떤 것인지 봤더니, Omni ~~라고 씌여져 있었다.

사이트를 찾아보니, Omni 그룹이라는 프로그램 패키지가 있고,
몇몇은 무료 프로그램들이다.


여기에 나열된 프로그램중 Omni Web 아래에 있는 것들은 무료 프로그램이다.


Posted by tuning-java
,
http://www.virtualbox.org/wiki/Downloads
 
팀 동료가 얼마전 맥북 프로를 구매했는데,
vmware를 알아보다가
VirutalBox라는 것을 사용한다고 했다.

VirtualBox는 윈도우를 설치하여 사용할때, 리눅스를 사용하고 싶거나
Mac OSX를 사용하는데, 윈도우를 사용하고 싶을때 사용하는
가상 OS중 하나다.

가장 유명한 가상 OS는 vmware, Parallels등이 있다.

VisualBox는 오픈소스로 개발되고 있으며,
VirtualBox를 사용할 수 있는 OS는
  • Windows
  • Mac OSX
  • Linux
  • Solaris
다.

한번 관심있는 분들을 써보시길...


'Server > 가상OS' 카테고리의 다른 글

[가상OS] Virtualbox 제거(삭제)하기  (0) 2009.05.06
Posted by tuning-java
,
http://www.cavdar.net/2008/07/21/junit-4-in-60-seconds/


내가 찾아본 문서중 4.x버젼에 대한 정리가 가장 잘 되어 있는 문서.
Posted by tuning-java
,
RadView라는 회사에서 제공하는 WebLOAD 라는 툴의 일부 기능이 Open source로 제공되었었다.

그래서, 지금 쓰고 있는 책의 예제도 WebLOAD를 사용하는 방법을 상세하게 적어놨다.

근데 더이상 Open source로 안하겠단다.

왜이래? 아마추어 같이~~~

아래는 걔네들이 보내온 메일 내용...
---------------------------------------------------------------------------------------

Dear Madam/Sir,
According to our records you have downloaded a version of WebLOAD Open Source. We would like to reiterate the following:
-WebLOAD Open Source has been declared End of life (EOL)
-If you still have a version of the product we remind you that under the EULA, any distribution of the product or using it to service third parties is strictly forbidden.
What are the options available to you?
For a limited time RadView offers a competitive upgrade to WebLOAD Professional. We encourage you to contact a sales rep in your region quickly as discounts are set to expire.
Posted by tuning-java
,
http://regexp.resource.googlepages.com/analyzer.html

웹기반의 정규 표현식을 분석해주는 툴이 있어서 소개한다.

정규 표현식을 서비스에 적용하기 전에,
한번정도는 체크해 주는 쎈쑤~~~
Posted by tuning-java
,

기본적으로 자바는 Process와 Thread로 구성되어 있다.

이게 뭔지는 Java 성능을 결정짓는 코딩 습관과 튜닝 이야기라는 책에 잘 나와 있고...


여하튼.. 어떤 Thread가 뭔 짓을 하고 있는지를 보려면 Thread dump를 보면 된다.

자바는 기본적으로 Thread dump를 제공하기 위해서 jstack이라는 명령어(프로그램)을 제공하며 자세한 설명이 필요한 분은 아래의 설명을 보기 바란다.

http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstack.html

http://java.sun.com/javase/6/docs/technotes/tools/share/jstack.html

 

만약 JDK 버전이 5.0이면

Jstack pid

JDK 버전이 6.0 이면

jstack -l pid

명령을 수행하면 된다.


만약 솔라리스나 리눅스에서 이 명령으로 수행이 안되면

jstack -F pid

로 수행하면된다.


여기서 pid 는 프로세스의 id다.

만약 jstack이 수행하는데 너무 오래 걸리고, 서버에 부하가 된다면 kill -3으로 쓰레드 덤프를 뜨는 것도 도움이 된다.


분석하는 방법은 쉽지 않지만 다음과 같은 툴들이 있다.
TDA라는 툴
https://tda.dev.java.net/

IBM의 JCA라는 툴

http://www.alphaworks.ibm.com/tech/jca



Posted by tuning-java
,
뭐 여러가지 이유로 HP Mini 1013 tu라는 넷북을 구매했다.
(지난 주말 내내 여러 제품 비교하느라 바빴다...)
아래 사진은 맥북과 HP Mini 와의 크기 비교 사진이다.
가로 세로는 당연히 차이가 있지만, 두께 차이는 별로 없는 걸 알 수 있다.

1주일 정도 써본 결과 분명 장단점은 있었다.
참고로 램은 2G로 업그레이드 했으며, SD 16G 를 꽂았다. (SD 카드 슬롯이 요즘 나오는 보통 노트북처럼 달려 있다.)

장점 : 작고, 가볍지만 자판이 일반 노트북자판 크기와 별 차이가 없어서 편하다.
         SSD 라서 충격에 강하다.
         CD를 넣는 ODD가 없긴 하지만, 1년에 한두번 쓸까말까한 ODD 를 들고 다닐 필요가 없고, 집에 외장 DVD가 있어서 별 상관 없다.
단점 : 배터리가 3셀이라 2시간~3시간정도 밖에 안된다.
         SSD의 용량이 16G 밖에 안되고, 프리징 문제가 있다고는 한다.


프리징 문제 관련 하여 ~~~ :
나는 넷북 받기 전에 여기저기 검색해 본 결과 프리징을 없애는 방법은 
1. 램 드라이브 사용
2. FAT32로 포맷
이라는 결론을 내렸고,
제품과 같이 제공되는 XP CD를 이용해서 FAT32 로 다시 포맷 후 XP설치를 했다.

램 드라이브는 하나 설치를 해 봤는데, 뭔가 문제가 있어서 설치는 안했고,
그냥 FAT32로만 포맷하면 프리징은 많이 없어진다고 생각된다.

추가로 예전에 블로그에 포스팀한, USB 리눅스를 넷북 SD 카드에 설치했는데, 정말 간편하고 좋은 것 같다.
단지 아직 넷웍 카드를 리눅스에서 설정못했다는거~~~.
 


1013 tu 소음 관련하여 부팅할 때 F10눌러서 CMOS옵션화면에서 다음과 같이 설정해 주시면 된단다.
System Configuration - Processor C4 State가 Enable로 되어 있는 것을 Disable로 해주면,
실제 해보면 쿨러의 도는 빈도가 엄청나게 줄어들긴 한다.
Posted by tuning-java
,

한빛미디어에서 이벤트를 한다고 하길래 한번 어떤 순서로 공부를 해야 하는지를 정리해본다.

먼저 이벤트 관련 설문 내용

1. 현재 하시는 일은 무엇인가요?

글쎄요. 저도 제가 요즘 뭘 하는지... 그냥 요즘은 수명업무 하고 있습니다. 

2. 로드맵에서 각 단계별로 같이 보면 좋은 책이 있나요?

이 질문의 요지는 잘 모르겠지만, 같이보면 좋은 책은 같이 나열 했습니다. ^^;

3. 로드맵에 대한 자신의 생각을 적어주세요.

로드맵을 작성하다보니, 웹기반 시스템을 만들 개발자에겐 어느정도 도움이 되는 책들이 많으나, 서버 모듈이나 Core 모듈을 개발하는 개발자용 책은 그리 많지가 않은거 같네요.


먼저 이벤트 페이지에 올라와 있는, 책들의 표지 목록을 보니 “엄청나게 많은 종류의 책이 출판되고 있구나” 라는 사실을 알게되었다. 그것도 IT 책만을 전문적으로 출판하는 회사에서…

그런데, 표지 목록에 있는 책들을 보니, 이미 절판된 책도 있는 것으로 보였다. 최대한 내가 알고 있는 절판 책들은 뺐으나, 이 목록에 포함되었을 수도 있으니 이점 양해해 주기 바란다.

추가로 이 로드맵은 웹 시스템 개발자를 위한 로드맵이고, 내 개인적인 의견이며, 사람마다 생각이 틀릴 수도 있다는 점을 이해해 주기 바란다.

 

그럼 이제 시작한다.

자바를 배우기 시작할 때에는 가장 먼저 자바의 기본과 알고리즘을 알아야 한다. 게다가 IDE 사용법까지…

 

기본적인 자바에 대해서 알았다면, 웹 개발을 위한 필수인 HTML과 자바 스크립트에 대해서 알아야 한다.

 

그리고, DB에 대해서 알아야 한다는 것은 두말할 필요도 없다.

 

DB까지 공부했다면, 본격적으로 Java를 이용한 웹 개발 환경인 JSP, Servlet, EJB 에 대해서 알아 두자.
(참고로 EJB는 죽었다고 생각 될 수도 있지만, EJB에서 제공하는 보안, 트랜젝션등의 관리 기술에 대해서는 알아두는 것이 나중에 정신 건강을 위해서 매우 좋다. ^^)

 

이게 끝이라고 생각할 수도 있겠지만, 이제 시작이닷!!!

언제까지 누가 모델링해준 것만 보고 만들것인가? 직접 자기가 모델링하고 설계할 수 있어야 한다.

그러기 위해선 UML, CBD(이것도 한물 갔다고 생각할 수 있지만, 개념은 알아야한다.), SOA(이것에 대한 책이 한빛엔 없어보인다)등에 대해서 알아야지…

 

보다 더 제대로 알고 개발하기 위해선, XML, 쓰레드, IO, 네트워킹, 리펙토링 정도는 공부해야 한다. 다른건 다 모르더라도 리펙토링은 반드시~~~~

 

그 다음엔, 요즘에 많이 사용되는 프레임웍과 Web 2.0, AJAX에 대해서도 공부해야 한다.
참고로 아래에 나와 있는 책들의 버젼은 내가 잘 모르며, 특히 프레임웍 책을 살 때에는 요즘 최신 버젼의 프레임웍인지에 대해서 잘 알아 본 후에 구입해야 한다. 버젼에 따라서 달라지는게 많아지기 때문에…

 

그럼 이제 개발한 것을 운영 서버에서 컴파일하거나 올려야 겠죠?

리눅스나 유닉스의 기본 명령어 정도는 알아야 한다.

 

마지막으로 개발의 꽃인 튜닝에 대해서 공부하자.

 

물론 나도 여기에 있는 모든 책을 읽은 것은 아니다.
하지만, 입맛에 맞게 골라서 Java 기반의 웹 개발에 대한 기본을 튼튼히 다지자.

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

http://www.hanb.co.kr/events/roadmap/


한빛미디어에서 자바에 대한 로드맵을 자기 블로그에 올리고,
트랙백을 걸어 두면,
상품권을 주네요. (달랑 3명)
하지만, 모든 참여자에게 한빛 미디어 책을 한권씩 준답니다.

뭐 간단하게 작성해서 올려도 손해 볼 것은 없을 듯...
Posted by tuning-java
,
http://www.ibm.com/developerworks/library/j-rtm1/index.html

메일에서 온 글을 보고 링크를 따라가 봤는데,
시간만 있다면, 이 글 보고 APM하나 맹글 수 있다는 생각이 든다.

뭐 시간이 없다는 것은 핑계일 뿐이지만... ^^;
Posted by tuning-java
,
팀장님 자리에 갔더니,
특이한 브라우져가 있어서 뭐냐고 물어봤더니, 사파리 4란다.


일단 설치해서 띄우면 자기가 가장 많이 가는 사이트 목록이 아래와 같이 뜬다.

그리고 달라진 점은 내 맥북과 같이 위 아래가 좁은 사용자에겐, Tab이 잡아먹는 한줄이 너무나 아까웠다.
아마도 그래서 얘네들이 그 탭을 가장 상단의 타이틀 바로 옮긴 것 같다.

이번에 새로 나온 인터넷 익스플로러 7인지 8인지는 사파리의 기능을 엄청나게 따라간다고 느꼈는데,
애플에서 먼저 선수쳐서 신 기능을 내 놓은 거 같다. ^^;
Posted by tuning-java
,
한대의 아파치 서버에서 두대의 Tomcat 서버로 연동하는 경우가 적지 않을 것이다.
http://thought-bytes.blogspot.com/2007/03/how-to-load-balance-tomcat-55-with.html

위의 링크를 보면, 어떻게 연동하는지 상세하게 정리 되어 있다. ^^;
Posted by tuning-java
,

http://java.sun.com/javaone/sf/2008/articles/rockstar_tonyprintezis.jsp

먼저 위의 인터뷰 내용을 읽어보자.
Garbage First Collector가 뭔지 대충 감을 잡을 것이다.

분명 대부분 안읽어 보시겠지만....적어도 아래 줄들은 일어 주기 바란다.
G1=next-generation low-pause garbage collector
G1 will ultimately replace the Concurrent Mark-Sweep (CMS) garbage collector
G1, even though it is generational, there is no physical separation between the two generations.

Three Objectives of G1
The first objective is consistent low pauses over time.
The second objective is to avoid, as much as possible, having a full GC.
The final objective is good throughput.


if you care about getting the job done as quickly as possible, and don't care much for how long your application is going to be stopped by the garbage collector, the throughput collector is the best choice.

if you have a batch job that is going to take a few minutes or a few hours and you want it to be done as quickly as possible, then a throughput collector is clearly the best choice.

But, if you are working on a very interactive job that needs to interact with people, other applications, or users through web pages, then a low latency garbage collector is the best choice.


Why does garbage collection take so long? ==> Garbage collection is very memory-bound. And memory speeds these days are quite slow compared to CPU speeds

글 중간에는 다음의 내용을 읽어보라고 이야기한다.
GC와 친해지는 코딩 방법
http://developers.sun.com/learning/javaoneonline/2007/pdf/TS-2906.pdf

그리고, 저 이너뷰 한 사람이 사진을 잘 찍는가본데, 사진과 개발과의 상관관계를 아래와 같이 이야기 했다.
You need to be committed and to be patient and try out things again and again, to make sure that you get it just right. I see some parallels between photography and development.

마지막엔 그가 이야기하는 아름다운 코드란....
Beautiful code is code that is simple, easy to understand, and efficient
란다.

더 자세한 내용을 보시려면 아래의 영어지만, 쉽지 않은 용어로 되어 있는 문서를 참조하기 바란다.
http://research.sun.com/jtech/pubs/04-g1-paper-ismm.pdf

참고로 G1은 JDK 7 부터 추가된단다.
그리고, early access 로 JDK 1.6.1에서 추가 되었다.
http://www.tuning-java.com/272

Posted by tuning-java
,
다음주면 1주년이 된다.

여기 저기서 파닥 파닥하는 소리가 들린다.

가슴 아프다.

잘쓴 책도 아니고,
틀린 부분도 있으며,
개인의 경험 위주로 적은 내용이기 때문에
동감하지 않는 사람이 많을 것이라 생각은 된다.

하지만,
실제 여러 개발자들이 잘못 코딩 해 놓은 것 때문에 
시스템이 장애가 발생하는 것도 많아 봤으며,
성능상 문제가 발생하는 것도 많이 봤다.
그런 실수가 반복해서 일어나는 것을 방지하고,
일일이 설명해주는 사수가 없는 그런 분들을 위해서 쓴 글이다.


안티가 점점 늘어나니 왕비호가 되어가는 듯한 느낌이다.
Posted by tuning-java
,
맥북을 사신 분들은 맥북을 처음 켰을 때 환영 동영상을 잊지 못할 것이다.
(나만 그런가?)

그 동영상 파일은 아무리 찾아도 찾을 수가 없었는데,
우연한 기회에 어디에 있는지 알아냈다. ^^;

Finder에서 가장 상위 위치(/) 에서  
시스템 ==> 라이브러리 ==> Core Services 
를 찾아간다.

거기서 "설정지원" 이라는 파일에서 우측 마우스를 클릭해서 "패키지 내용보기"를 선택하면
새로운 Finder창이 나타난다.

그 다음, 
Contents ==> Resources ==> TransitionSection.bundle 
파일을 찾아가서 동일하게 우측 마우스를 클릭해서 "패키지 내용보기"를 선택하면 다시 새로운 Finder창이 나타난다.

거기서 
Contents ==> Resources 에 들어가면 "Intro.avi" 파일을 찾을 수 있을 것이다.


참고로 아래에 있는 캡쳐한 사진의 이미지에 대한 저작권은 애플에게 있습니다. ^^;




자세한 내용은 아래 링크 참조.
http://www.macfanatic.net/blog/2008/03/05/playing-leopard-intro-video-from-your-mac/
Posted by tuning-java
,
http://performance.netbeans.org/

근데 이 글들은 NetBeans를 보다 빨리 사용하기 위한 설명들인감?
Posted by tuning-java
,

http://java.sun.com/performance/reference/whitepapers/tuning.html

썬에서 제공하는 자바 튜닝 whitepaper

물론 JVM 옵션 튜닝만 한다고 해서 답은 안나오겠지만,
튜닝할게 더이상 없다면, JVM 버젼 upgrade 및 옵션 튜닝을 해야 할 것이다.

아래는 이 글의 목차다.

뭐 다 읽기 귀찮으신 분들은 4.2 부터 적용해 보시면 된다.

1   Introduction

1.1   Goals
1.2   This is a Living Document
1.3   How to Use this White Paper

2   Best Practices

2.1   Use the most recent Java™ release
2.2   Get the latest Java™ update release
2.3   Insure your operating system patches are up-to-date
2.4   Eliminate variability

3   Making Decisions from Data

3.1   Beware of Microbenchmarks!
3.2   Use Statistics
3.3   Use a benchmark harness

4   Tuning Ideas

4.1   General Tuning Guidelines

4.1.1   Be Aware of Ergonomics Settings
4.1.2   Heap Sizing
4.1.3   Garbage Collector Policy
4.1.4   Other Tuning Parameters

4.2   Tuning Examples

4.2.1   Tuning Example 1: Tuning for Throughput
4.2.2   Tuning Example 2: Try the parallel old generation collector
4.2.3   Tuning Example 3: Try 256 MB pages
4.2.4   Tuning Example 4: Try -XX:+AggressiveOpts
4.2.5   Tuning Example 5: Try Biased Locking
4.2.6   Tuning Example 6: Tuning for low pause times and high throughput
4.2.7   Tuning Example 7: Try AggressiveOpts for low pause times and high throughput

5   Monitoring and Profiling

5.1   Monitoring
5.2   Profiling

6   Coding for Performance
7   Pointers
8   Feedback and the Java Performance Community

8.1   Feedback
8.2   Java Performance Community

Posted by tuning-java
,
http://s.sudre.free.fr/Software/SaveHollywood.html

맥에서 기본으로 제공하는 화면 보호기는 동영상 플레이가 안된다.
화면보호기를 동영상으로 하고 싶은 분들을 위한 프로그램이다.

다운로드후 해당 프로그램을 더블클릭하면 설치된다.
사용자 삽입 이미지


Posted by tuning-java
,
http://oreilly.com/news/graphics/prog_lang_poster.pdf

너무 많은 것을 기대하는 분은 실망할 수 있으나,
어떤 언어가 언제 나오고 어떻게 버젼업이 되었는지를 볼 수 있는 문서다.
Posted by tuning-java
,
Java의 Runtime이라는 클래스가 있다.

이 클래스를 사용하면, shell script 던지, exe 파일이던 어떤 실행파일이라도
자바 JVM에서 실행시킬 수 있다.

그런데, 정상적으로 잘 실행되면 걱정이 없는데,
CreateProcess error=2
를 떨어뜨리면서 실행이 가끔 안될 때가 있다.

그럴땐 아래의 링크를 참조해서 해결하기 바란다.

http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1
Posted by tuning-java
,

http://www.atlassian.com/software/jira/docs/latest/performance.html

지라 자체적으로 성능 튜닝이 가능한 환경이 마련되어 있다.

이렇게 링크까지 만들어 정리해 놓은것을 보면 성능 이슈가 많긴 많은가 부다.


 

Posted by tuning-java
,
자바에서 public, protected, private, 그리고, 아무것도 지정하지 않을 때의 차이점도 가끔 혼동될 때가 있다.

물론 public 이나 private 갖고 혼동하는 사람은 없겠지만...

protected는 자기 자신과 같은 패키지, 그리고 상속관계에 있는 클래스에서 접근이 가능하고,

아무것도 명시하지 않을 경우에는 자기 자신과 같은 패키지에서만 접근 가능하다.

그래서 접근 가능성은
public > protected > 아무것도 지정하지 않을 때 > private 순이다.

Posted by tuning-java
,
자바를 처음 배울때 혼동되는 것중 하나가 equals를 언제 사용해야 하고, ==을 언제 사용해야 하는지에 대해서다.

영어를 잘 하시는 분은 아래의 링크를 읽어보시면, 자세한 내용을 확인할 수 있을 것이다.

http://www.javabeat.net/qna/13-what-is-difference-between-equals-and-/

http://leepoint.net/notes-java/data/expressions/22compareobjects.html

결론만 이야기하면, equals는 객체의 값을 비교하고, ==은 동일한 객체인지를 비교하는 것이다.

기본적으로 String 클래스만 값이 같은지를 비교하고, 여러분들이 만든 클래스는 자동으로 각 속성들을 비교해주지 않기 때문에, equals() 메소드를 직접 구현해야만, equals로 비교가 가능하다.

Posted by tuning-java
,

리눅스 설치후 자바 개발용 세팅...

1. 자바 설치
   centos가 설치되면, 자바를 선택해서 설치할 수도 있는데, 버젼이 1.4다 - -;
   JDK 5.0이나 6.0 을 설치한 후 해당 경로를 프로파일에 등록한다.

   프로파일 수정은 계정 로그인 후 디렉토리에 존재하는 .bash_profile 파일을 변경하면 된다.
   유의사항 : jdkxxxx.bin파일을 수행한 위치에 jdk가 설치되므로, 압축이 해제될 위치에서 bin을 실행할 것.

2. eclipse 설치
   eclipse는 www.eclipse.org 사이트 들어가면, 자동으로 리눅스임을 인식하여 리눅스용을 다운 받을 수 있다
   이클립스 설치는 그리 어렵지 않으니(압축만 풀면 된다.

   그런데 만약 centos 5를 설치했다면 JVM exit code = -1 이 나타나면서 프로그램이 수행되지 않을 수도 있다. 그럴 경우 터미널에서 이클리브를 띄우면 다음과 같은 메시지가 나타날 수도 있다.

/jre/lib/i386/client/libjvm.so: reloc 후에 prot 세그먼트를 복구할 수 없습니다: 허가 거부됨

 이런 경우 SELinux 관련 옵션을 disable 해야 한다.

1. 다음 명령을 입력하여 로드한 라이브러리에 대한 기본 보안 컨텍스트를 변경
   이때 libjvm.so 가 있는 디렉토리로 이동해야함.
   chcon -t texrel_shlib_t *.so
2. /etc/selinux 의 config 파일에 다음 줄을 추가하여 SELinux를 비활성화.
   SELINUX=disabled


3. tomcat 설치
   tomcat도 다운로드해서 압축만 풀면 되므로, 그리 어렵지 않을 것이다.
   단지, catalina.sh에 JAVA_HOME 값을 지정하는 걸 잊지 말아야 한다.


Posted by tuning-java
,