'2009/02'에 해당되는 글 17건

  1. 2009.02.28 [Safari4] 맥 및 윈도우용 사파리4 등장 (아직은 베타)
  2. 2009.02.27 [Apache와 Tomcat 연동] 한대의 apache(아파치)와 두대의 tomcat(톰켓, 탐킷)을 연동할 때...
  3. 2009.02.25 [Garbage First] G1 콜렉터란 ??? 1
  4. 2009.02.22 일년이 다 되어 간다.
  5. 2009.02.21 [MacBook 사용팁] 나같은 초보를 위한 맥북 사용 팁-29 맥 인트로(설치시 환영) 동영상 보는 방법
  6. 2009.02.19 [NetBeans 성능 튜닝 관련 링크 모음] 넷빈즈 사이트에서 제공하는 성능 관련 링크들
  7. 2009.02.19 [자바 메모리 옵션 튜닝] Sun 에서 제공하는 자바 메모리 옵션 튜닝
  8. 2009.02.19 [MacBook 사용팁] 나같은 초보를 위한 맥북 사용 팁-28 맥 화면 보호기를 동영상으로 지정하기
  9. 2009.02.17 [프로그래밍 언어의 역사] 프로그래밍 언어의 역사를 한눈에 볼 수 있는 문서 1
  10. 2009.02.11 [Java Runtime] Java Runtime.exec() 메소드가 잘 안돌아 갈 때 (CreateProcess error=2 발생)
  11. 2009.02.10 [JIRA] 지라 성능 튜닝
  12. 2009.02.07 [자바 기본 강좌] 자바라는 단어만 들어도 스트레스를 받는 분들을 위한 초보 강좌-05 public, protected, private
  13. 2009.02.06 [자바 기본 강좌] 자바라는 단어만 들어도 스트레스를 받는 분들을 위한 초보 강좌-04 equals와 == 의 차이점
  14. 2009.02.06 [리눅스] 자바 개발용 환경 세팅
  15. 2009.02.05 [리눅스 설치] Centos 설치시 관련 세팅
  16. 2009.02.03 [자바 커뮤니티] 삼성 SDS에서 이번달에 세미나가 있습니다.
  17. 2009.02.02 [GWT와 연계 가능한 그래프] AJAX 기반의 GWT에서 사용할수 있는 그래프
팀장님 자리에 갔더니,
특이한 브라우져가 있어서 뭐냐고 물어봤더니, 사파리 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
,
centos 4를 맥북의 vmware에 깔았었다.

뭔가 개발하면서 확인하기 위해서 개발환경을 구축해 놨는데,
Flash 10 player를 설치하니 gblic 버젼이 낮다고 설치가 안된다.
이론 - -;
그래서 glibc 업그레이드를 하려고 했으나,
그작업은 리눅스를 모르면 절대 하지 말라는 글들이 많아서리... centos 5 를 설치했다.

centos를 그냥 깔면 gcc 나 개발용 환경이 구축되지 않으니,
아래 그림과 같이 추가 설치를 하는 것이 좋을 듯 하다.

<<개발용 도구 세팅 >>

<<시스템 도구 세팅>>

자바는 따로 선택 안해도 상호 연관성 체크후 깔리는 듯 하나,
버젼이 1.4 라는거~~~
자바는 되도록이면 직접 추가로 설치하는 것을 추천한다.


Posted by tuning-java
,

일시: 2009년 2월12일 목요일 18:00 ~ 20:00
장소: 멀티 캠퍼스 1702호
 =========================================================================

  18:00 ~ 18:05  세미나 소개
  18:05 ~ 18:30  효과적인 테스트 코드 작성(황상철 책임 SDS)
  18:30 ~ 18:40  휴식
  18:40 ~ 19:05  Secure Web Application(채수민 책임 SDS)
  19:05 ~ 19:15  휴식
  19:15 ~ 19:40  넵튠(Neptune) 과 하둡(Hadoop) 소개 (김형준 NHN)
  19:40 ~ 20:00  Q&A 및 세미나 정리
=========================================================================
 
이번 세미나도 알차게 준비했습니다.
NHN의 김형준 실장이 새로운 오픈소스인 넵튠과 요즘 GFS로 많은 인기를 끌고 있는 하둡에 대해 소개할 예정이며,
보안그룹의 보안 전문가인 채수민 책임이 안전하게 웹 애플리케이션을 개발하는 방법에 대해 강의합니다.
끝으로 단위 테스트를 제대로 할 수 있도록 효과적으로 테스트 코드를 작성하는 법에 대해 제가 발표를 진행합니다.
 
자리가 한정되어 있습니다. 참여를 원하시는 분은 황상철 책임님에게 메일로 신청해 주시면 감사하겠습니다.
알차고 재미있는 시간이 될것을 약속드리며 엔지니어링에 관심있는 분들의 많은 참여 부탁드립니다.

Posted by tuning-java
,
얼마전부터 그래프를 사용할 일이 생겨서 각종 그래프를 알아보고 있다.

그중 GWT와 같이 사용 가능한 Flash 기반의 그래프는 다음과 같다.
- OFCGWT : http://code.google.com/p/ofcgwt/
영국 아저씨가 만든 그래프 인듯 하다.
이 그래프의 가장 큰 단점은 UI가 우리 팀장님 마음에 들지 않는 다는 것이다.
- Fusion Chart : http://code.google.com/p/gwt-fusionchart/
근데 Fusion Chart 를 제대로 사용하려면 상용을 구매해야 하므로,
별로 인기가 많지는 않은 듯 하다.

추가로 자바 스크립트 기반의 chronoscope라는 그래프도 있다.
http://timepedia.org/chronoscope/

'UI > Graph' 카테고리의 다른 글

[Java Graph] JFreeChart를 쉽게 사용할 수 있는 예제 사이트  (1) 2009.01.26
Posted by tuning-java
,