2011/12/07 00:27

이번 이야기는 Trac on Windows, Subclipse, Mylyn 의 후속편 입니다.

TOW 와 Mylyn 을 사용한 프로젝트의 관리는 장점들이 많지만, 아무래도 늘 상 서버를 켜놓아야 한다는 부담이 있기 때문에 선뜻 사용하기가 어렵습니다. 그리고, 이동성의 문제나 소스코드 공유나 배포의 문제점도 있죠.

   

그래서, 오늘은 특별한 개인 서버 없이 사용할 수 있는 Google Code Project Hosting 을 사용해서 프로젝트를 관리하고, 또 Mylyn 으로 내부적인 task 들을 관리하는 방법들을 이야기해 보겠습니다.

   

참고로 여기에 나오는 내용들은 기본적으로 eclipse 나 subclipse, svn, mylyn 이 뭔지 아는 분들을 대상으로 합니다.

   

Google Code Project 에 Project 만들기

http://code.google.com/hosting/ 에 들어가셔서 자신의 google 아이디로 로그인을 일단 합니다.

   

(아... 참고로 google code project hosting 은 오픈소스 프로젝트들을 지원할 목적으로 만들어진 녀석인지라 모든 소스코드가 공개되게 됩니다. 그게 싫다면 사용하지 않는게 좋습니다.)

   

하일라이트 된 "Create a new project" 를 누릅니다.

   

그럼 이런 화면이 나오게 되는데요. project name 은 domain 으로 사용되기 때문에 소문자로 써주도록 합니다. Summary 나 Description 역시 적절히 써주고, 이제 아래쪽에 license 를 선택해 줍니다.

   

오픈소스 라이센스들이 나옵니다. 라이센스에 대해서는 적절히 찾아서 써줍니다.

   

혹은 이렇게 CCL 로 사용해줄수도 있습니다. 뭐 오픈소스 라이브러리를 배포할 생각이 아니라면 딱히 자세하게 기록할 필요는 없지만요.

   

뭐 프로젝트를 만들었으면 상단의 Profile 을 누르면 위처럼 이동을 하게 됩니다. Project Ownership 은 자신이 운영하는 Project 의 리스트를 보여주는거구요.

   

그 옆의 tab 인 Settings 를 누르면 위와 같은 화면이 나오는데요. 저기 보이는 "Your googlecode.com password" 가 중요합니다. (개인비밀번호라서 가렸습니다) SVN 의 비밀번호가 되거든요. 구글코드의 비밀번호는 개인이 지정할 수 없고, 자동으로 생성되는 8자리 난수를 비밀번호로 사용하게 됩니다. 비밀번호를 교체해야 할때는 아래 보이는 Regenerate 를 눌러서 바꿔주면 됩니다.

   

프로젝트 사이트 접속하기

아까전 만든 project site 로 이동해보도록 하겠습니다. 아까전 만들었던 프로젝트의 project name 이 ssen-test-project 였었죠.

   

도메인은 http://code.google.com/p/ssen-test-project/ 가 됩니다. 하지만... 쓰잘데기 없는 쓰레기 프로젝트를 만들기 싫었는지라 최종적으로 프로젝트 생성 버튼은 안눌렀기 때문에 링크를 따라 들어가도 프로젝트는 없습니다.

   

예제를 개인 프로젝트로 보여드리죠. 최초 인덱스 페이지는 위처럼 나오게 됩니다.

   

Updates 를 누르면 위와 같은 화면이 나오게 되는데요. 이 화면에서는 wiki 나 svn 의 update 현황을 보여줍니다. 예를 들어 저 r2 라는 릴리즈 링크를 누르면

   

이렇게 릴리즈 별로 수정된 파일들의 리스트가 나오게 되고, 소스파일들의 경우 어떤 부분이 어떻게 수정되었는지의 분석이 나오게 됩니다.

   

Downloads 의 경우엔 배포할 파일을 등록하는건데, 아직 작업중인지라 등록한게 없네요. action script library 를 만들어서 배포할 생각이라면 swc 파일을 등록해주면 되겠죠. 그 옆에 wiki 가 있고 (wiki 가 뭔지는 다들 아시겠죠...;;;) Issues 의 경우엔 버그리포팅등을 받거나 할 수 있는건데... 딱히 사용할만하지는 않습니다.

   

이제 Source 에 가면 위와 같은 화면이 나오는데요. 여기서 Browse 는

   

이렇게 소스코드를 보여주고

   

Changes 는 이렇게 커밋 이력을 보여주게 됩니다.

   

그리고, 이 https 로 시작하는 url 이 이제 SVN 의 주소가 됩니다.

   

Subclipse 에서 SVN check out 받기

subclipse 에서 이렇게 새로 Repository Location 을 새로 등록해 줍니다.

   

등록해줄 주소는 아까전에 https 로 시작하는 주소를 입력해주면 됩니다. Finish 를 누르면 아이디/비밀번호를 물어보게 되는데 아이디는 자신의 구글 아이디를 입력하고, 비밀번호는 아까전에 봤던 자동으로 생성되는 비밀번호를 입력해줍니다.

   

뭐 그러면 SVN Repositories 에 위와 같이 나올텐데요. 여기서

   

trunk 에 오른클릭을 한 다음에 check out 을 받습니다.

   

check out 을 받다보면 이렇게 내려받을 소스들을 어떤 project 로 만들지를 결정하게 됩니다. 대충해서 내려받도록 합니다.

   

그러면 이렇게 Project Explorer 에 check out 받은 것들이 나오게 되는데요. 맨처음에 해줘야 할 일은

   

filters 를 선택해서

   

.* 의 filter 를 풀어주고

   

아무런 .* 에 해당하는 파일들 (.project 같은류의 이클립스 프로젝트 구성 파일들) 을 선택해서 오른클릭 한 다음

   

이렇게 Team > Add to svn:ignore 를 해주도록 합니다.

   

제외패턴에 .* 을 추가해주면 SVN 이 취급할 파일들에 쓰잘데기 없는 이클립스 설정파일들은 제외되게 됩니다. 이걸 해주지 않으면 쓸데없는 파일들까지 커밋이 되어서 매우 지저분한 svn 저장소가 되겠죠.

   

그리고, 위에 보이는 build.ant 처럼 노출되어선 안되는 파일, 폴더 들의 경우 역시 제외패턴에 등록해줘야 합니다. 특히 ant 에 ftp upload build 등을 만들어뒀다면 정보유출 가능성도 있기 때문에 조심해야겠죠. (google code search 로 검색하다보면 ftp 비밀번호 확 드러난 애들 꽤 있거든요...;;;)

   

여기까지 작업이 되었다면 이제 평범하게 SVN 을 사용하듯 해주면 됩니다.

   

Mylyn 을 사용해서 Local Repository Task 관리하기

mylyn 을 사용하면 기본적으로 이렇게 Local Task Repository 가 주어지게 됩니다. Trac 이나 Bugzilla, JIRA 와 같은 외부 서버를 사용하는 Task Repository 가 아닌, Eclipse 내부적으로 사용하는 것이지요. 당연히 Trac 이나 Bugzilla 와 같이 고급화된 기능은 제공해주지 못하지만 혼자서 작업하는 경우엔 그럭저럭 쓸만한 편입니다. 무엇보다 서버없이 Trac 과 같은 Task 관리를 사용할 수 있다는게 장점이지요.

   

mylyn 의 local repository 는 trac 처럼 로드맵, 버전같은 분류를 지원해주지 않습니다. 그래서 이렇게 분류가 필요한 task 들을 묶을 category 를 만들어서 관리해주는 것이 좋습니다. 저기 보이는 ssen library 0.1 이란 버전 카테고리를 만들어서 사용하는 것처럼요.

   

그리고, 새로운 task 를 만들때는 위에 보이는 new task 버튼을 눌러서 만들어줍니다.

   

task 를 새로 만들어서 이렇게 써줍니다. 일단 기본적으로 제목과 작업우선순위 (Priority) 를 지정해줍니다. Status 는 Incomplete (작업 미완료) 와 Complete (작업 완료) 를 지정해주게 됩니다. 그 아랫쪽으로 작업에 대한 스케쥴 계획을 지정할 수 있는데요. 필요하다면 Due date 등을 지정해주면 좋습니다.

   

그렇게 이것저것 task 들을 만들어주면 이렇게 리스트가 보여지게 되는데요. 앞쪽의 아이콘 표시를 보면 알겠다시피 Priority 와 Complete 에 대한 상황을 표시해주게 됩니다. 완료 목록의 경우 strike 처리가 되어서 보이게 되죠.

   

Mylyn 의 Task Activation 사용해서 작업하기

마지막으로 Mylyn 의 task activation 을 살펴보도록 하죠.

   

task 리스트의 앞쪽을 보면 저렇게 동그라미 표시들이 있는데요. 위에 채워져서 보이는 동그라미 (폰트가 bold 처리된 녀석) 은 현재 작업 활성화가 되어있다는 뜻입니다.

   

일단 간단한 시나리오를 보여드리자면

   

이렇게 Activation 을 클릭해서 바꿔주게 되면

   

Eclipse 의 작업창들이 모두 닫혀지게 됩니다. 이것은 새로운 task 의 작업이 시작되었다는 것을 의미하죠.

   

그리고 이렇게 소스코드 몇개를 열어놓은 다음에

   

Activation 을 해제해 주면

   

다시 작업창들이 닫히게 됩니다.

   

그리고, 다시 Activation 을 활성화 해주면

   

이렇게 닫혔던 작업창들이 다시 열리게 됩니다.

   

즉, task 의 activation 단위로 최종 작업환경을 기억해주기 때문에 task 의 흐름대로 체계적인 작업관리를 해줄 수 있습니다. 보통 tab 을 스스로 열고, 닫고 하면서 작업하시는 분들의 경우 맨 처음엔 익숙지 않아서 당황할 수 있으나, 익숙해지면 매우 편리해지게 됩니다.

   

그리고, 이렇게 task 가 활성화된 상태에서 svn 커밋을 시도하면

   

커밋시에 이렇게 자동으로 안내 메세지가 입력되게 됩니다.

   

프로젝트를 오랫동안 진행하다보면 커밋 로그를 분석하는 것도 상당히 피곤한 일이 되는데, 이렇게 task 단위로 작업하고, task 단위로 커밋을 하다보면 자신이 어떻게 작업을 했었는지에 대해서 쉽게 쉽게 파악을 할 수 있습니다.

저작자 표시 비영리 동일 조건 변경 허락
Posted by DearMai
2011/12/07 00:25

이번 이야기는 Google Code Project, Subclipse, Mylyn 의 후속편 입니다.

Mylyn 의 connector 중에서 web template 를 라는 connector 가 있더군요. 당연히 자주 사용되어지는 Google code project 역시 사용할 수 있습니다.

   

오늘은 Mylyn 의 web template 를 사용해서 google code project hosting 의 Task 들을 eclipse 의 TaskList 로 가져오는 작업을 해보도록 하겠습니다.

   

이 내용은 당연히 SVN, Eclipse, Subclipse, Mylyn, Google code Project Hosting 에 대해 알고 계시는 분들을 대상으로 합니다.

   

Mylyn Incubator > web templates 업데이트 하기

Eclipse 의 Software Updates... 를 선택해서 업데이트 창을 띄웁니다.

   

Add Site... 를 눌러서 http://download.eclipse.org/tools/mylyn/update/incubator 를 추가해줍니다. 제 경우에는 이미 설치가 되어 있겠죠.

   

우리가 설치해야하는 web templates connector 는 위와 같습니다. 하지만, 이것만 딸랑 인스톨 하려고 하면 에러가 뜨는데요. 그럴땐 Mylyn for Eclipse 3.4 와 Mylyn Extras 들을 같이 체크해서 인스톨 받도록 합니다.

   

설치가 되면 Eclipse 를 재시작 하라는 메세지가 나옵니다. 재시작 하면 지금까지 설정해놓은 Perspective 들이 모두 초기화 되어버리는 상황이 벌어지는데요. 업데이트의 영향이니 좀 불편하더라도 다시 설정을 하시면 됩니다.

   

Google Project Hosting 의 Issue Data 들 가져오기

우선 새로운 Task Ropository 를 만듭니다.

   

위와 같이 Web Template 가 추가되어있는걸 확인할 수 있습니다. Next 를 눌러서 진행합니다.

   

보면 위와 같이 Google Code 가 있습니다. 선택하고 자신의 프로젝트에 맞게 수정을 해줍니다.

   

제 경우에는 프로젝트 아이디가 (ssen-library) 라서 위와 같이 설정을 해주었습니다. (상단의 에러표시는 같은 URL 의 저장소가 이미 존재하기 때문입니다. 신경 안써도 됩니다.)

   

저장소를 만들었으면, 이제 저장소의 내용을 가져올 새로운 쿼리를 만듭니다.

   

맨처음 쿼리를 만들면 Query URL 과 Query Pattern 이 위와 같이 되어있는데요. 그것을 아래와 같이 수정합니다.

   

Query URL : ${serverUrl}/csv

Query Pattern : "({Id}[0-9]+?)","({Type}.+?)","({Status}.+?)","({Priority}.+?)","({Milestone}.+?)","({Owner}.+?)","({Description}.+?)"\n

   

쿼리 URL 은 위에 보이는 CSV 링크의 url 이 됩니다. 해당 url 을 다운받아서 메모장으로 열어보면 아래와 같이 CSV 포맷으로 보이는데요.

   

   

Query Pattern 은 이 CSV 패턴을 해석하는 역활을 하게 됩니다. 제 경우에는 Component 를 추가적으로 오기 때문에

   

"({Id}[0-9]+?)","({Type}.+?)","({Status}.+?)","({Priority}.+?)","({Milestone}.+?)","({Component}.+?)","({Owner}.+?)","({Description}.+?)"\n

   

이렇게 설정되어있습니다.

   

뭐 하지만 유감스럽게도 web template 이 가져오는 정보는 ID, Status, Owner, Summary 뿐이기 때문에 Priority 나 Type, Milestone 같은 중요한 데이터들을 대부분 연동해서 볼 수가 없습니다. 뭐 인큐베이팅 중인 확장이라서 아직 부족한 부분이 있는게 아닐까 싶네요.

   

Google Code Project 의 Issue 관리하기

Issue 를 좀 더 편하게 사용하기 위해서는 Admin 에서 어느정도 셋팅을 해주는게 좋습니다. 뭐 별로 어려운 부분은 아니니 자세한 설명은 생략하고 그냥 스크린샷만 보여드리도록 하겠습니다.

   

   

설정한 Issue 라벨들의 경우엔 실제 이슈 생성시에

   

이렇게 작동을 하게 됩니다.

   

   

   

개인적으로 템플릿은 프로젝트 멤버 (개발자) 가 사용할 새 작업사항과 유저가 리포팅을 할 오류보고만 만들어놓았습니다. 입맛에 맞게 더 추가하면 됩니다.

   

그리고, 아랫쪽의 Default columns shown in list view 는 Label Type-XXX 의 Type 과 연동이 됩니다. 만일 여러분이 Label 에

   

Module-Core

Module-Extension

   

이라고 추가를 해놓고, 위의 리스트에 Module 을 추가시켜 놓으면

   

이 리스트 상에 Module 이 추가되어 나오는 거죠.

저작자 표시 비영리 동일 조건 변경 허락
Posted by DearMai
2011/12/07 00:06

출처 : http://unlimitedfocus.springnote.com/pages/7982220


Eclipse + Subversion Plugin

  1. Download Eclipse

    1. Download

      1. Screen_shot_2011-07-01_at_오전_12.40.43(1).pngScreen_shot_2011-07-01_at_오전_12.41.06(1).png
    2. Unzip & Execute & Select Workspace

      1. Screen_shot_2011-07-01_at_오전_12.47.51.png
    3. [Menu] -> [Help] -> [Install New Software]

      1. Screen_shot_2011-07-01_at_오전_12.53.58.png
    4. [Work with: All Available Sites]

      1. Screen_shot_2011-07-01_at_오전_12.55.13.png
    5. Select [Collaboration] -> Subversion * plugins

      1. Screen_shot_2011-07-01_at_오전_12.58.37.png
    6. Finish

      1. Screen_shot_2011-07-01_at_오전_12.59.14.png
    7. Installing & Restart

      1. Screen_shot_2011-07-01_at_오전_1.01.44.png Screen_shot_2011-07-01_at_오전_1.02.37.png
    8. Install Subversion Connector: SVN

      1. Screen_shot_2011-07-01_at_오전_1.08.37.png
    9. Next, Finish, OK

      1. Screen_shot_2011-07-01_at_오전_1.08.56.pngScreen_shot_2011-07-01_at_오전_1.09.32.png Screen_shot_2011-07-01_at_오전_1.11.57.png
  2. Running Subversion Perspective

    1. Close welcome

      1. Screen_shot_2011-07-01_at_오전_1.04.06.png
    2. Open Subversion Perspective

      1. Screen_shot_2011-07-01_at_오전_1.05.28.pngScreen_shot_2011-07-01_at_오전_1.05.44.png
    3. Setting Subversion Information

      1. URL: https://architect1.googlecode.com/svn/trunk/
      2. User: Your Google Account (xxx@gmail.com)
      3. Password: Google Project Hosting Password (Link)
      4. FinishScreen_shot_2011-07-01_at_오전_1.12.44.png
    4. Check out Project:  [ROOT] -> [trunk] -> [HTDP]

      1. Screen_shot_2011-07-01_at_오전_1.14.08.png
    5. Change Perpective: Resource

      1. Screen_shot_2011-07-01_at_오전_1.15.17.pngScreen_shot_2011-07-01_at_오전_1.36.18.png

저작자 표시 비영리 동일 조건 변경 허락
Posted by DearMai
2011/11/18 06:20

1. yum 추가 repo 설치

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm


2. yum 에서 vlc 설치

[root@localhost vls]# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm

경고: rpmforge-release-0.5.2-2.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6

준비 중... ########################################### [100%]

1:rpmforge-release ########################################### [100%]

[root@localhost vls]# yum install vlc

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

* base: centos.tt.co.kr

* extras: centos.tt.co.kr

* rpmforge: ftp-stud.fht-esslingen.de

* updates: centos.tt.co.kr

rpmforge | 1.1 kB 00:00

rpmforge/primary | 4.0 MB 00:05

rpmforge 11094/11094

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package vlc.i386 0:0.9.9a-7.el5.rf set to be updated

--> Processing Dependency: libliveMedia.so.0 for package: vlc

--> Processing Dependency: libportaudio.so.2 for package: vlc

--> Processing Dependency: liblirc_client.so.0 for package: vlc

--> Processing Dependency: libxosd.so.2 for package: vlc

--> Processing Dependency: libdvdnav.so.4 for package: vlc

--> Processing Dependency: libBasicUsageEnvironment.so.0 for package: vlc

--> Processing Dependency: libcaca.so.0 for package: vlc

--> Processing Dependency: libmad.so.0 for package: vlc

--> Processing Dependency: libartsc.so.0 for package: vlc

--> Processing Dependency: libavcodec.so.52 for package: vlc

--> Processing Dependency: libgroupsock.so.0 for package: vlc

--> Processing Dependency: libzvbi.so.0 for package: vlc

--> Processing Dependency: liba52.so.0 for package: vlc

--> Processing Dependency: libavformat.so.52 for package: vlc

--> Processing Dependency: libdirac_decoder.so.0 for package: vlc

--> Processing Dependency: libpostproc.so.51 for package: vlc

--> Processing Dependency: libvgagl.so.1 for package: vlc

--> Processing Dependency: libavcodec.so.52(LIBAVCODEC_52) for package: vlc

--> Processing Dependency: libdvdread.so.3 for package: vlc

--> Processing Dependency: libhighgui.so.1 for package: vlc

--> Processing Dependency: libpostproc.so.51(LIBPOSTPROC_51) for package: vlc

--> Processing Dependency: libcvaux.so.1 for package: vlc

--> Processing Dependency: libmpcdec.so.5 for package: vlc

--> Processing Dependency: libUsageEnvironment.so.0 for package: vlc

--> Processing Dependency: libXvMCW.so.1 for package: vlc

--> Processing Dependency: libtwolame.so.0 for package: vlc

--> Processing Dependency: libmodplug.so.0 for package: vlc

--> Processing Dependency: libml.so.1 for package: vlc

--> Processing Dependency: libavutil.so.50(LIBAVUTIL_50) for package: vlc

--> Processing Dependency: libkate.so.1 for package: vlc

--> Processing Dependency: libdirac_encoder.so.0 for package: vlc

--> Processing Dependency: libmpeg2.so.0 for package: vlc

--> Processing Dependency: libvga.so.1 for package: vlc

--> Processing Dependency: libebml.so.2 for package: vlc

--> Processing Dependency: libupnp.so.3 for package: vlc

--> Processing Dependency: libcv.so.1 for package: vlc

--> Processing Dependency: libcxcore.so.1 for package: vlc

--> Processing Dependency: libavutil.so.50 for package: vlc

--> Processing Dependency: libQtGui.so.4 for package: vlc

--> Processing Dependency: libswscale.so.0(LIBSWSCALE_0) for package: vlc

--> Processing Dependency: libid3tag.so.0 for package: vlc

--> Processing Dependency: libavformat.so.52(LIBAVFORMAT_52) for package: vlc

--> Processing Dependency: libswscale.so.0 for package: vlc

--> Processing Dependency: libcddb.so.2 for package: vlc

--> Processing Dependency: libSDL_image-1.2.so.0 for package: vlc

--> Processing Dependency: libdca.so.0 for package: vlc

--> Processing Dependency: libQtCore.so.4 for package: vlc

--> Processing Dependency: libixml.so.2 for package: vlc

--> Processing Dependency: libdvbpsi.so.6 for package: vlc

--> Processing Dependency: libtag.so.1 for package: vlc

--> Processing Dependency: libshout.so.3 for package: vlc

--> Processing Dependency: libmatroska.so.2 for package: vlc

--> Processing Dependency: libaa.so.1 for package: vlc

--> Running transaction check

---> Package SDL_image.i386 0:1.2.10-1.el5.rf set to be updated

---> Package a52dec.i386 0:0.7.4-8.el5.rf set to be updated

---> Package aalib.i386 0:1.4.0-5.el5.rf set to be updated

---> Package arts.i386 8:1.5.4-1 set to be updated

--> Processing Dependency: libqt-mt.so.3 for package: arts

---> Package dirac.i386 0:1.0.2-1.el5.rf set to be updated

--> Processing Dependency: libcppunit-1.12.so.0 for package: dirac

---> Package ffmpeg.i386 0:0.6.1-1.el5.rf set to be updated

--> Processing Dependency: libopencore-amrnb.so.0 for package: ffmpeg

--> Processing Dependency: libgsm.so.1 for package: ffmpeg

--> Processing Dependency: libx264.so.107 for package: ffmpeg

--> Processing Dependency: libopencore-amrwb.so.0 for package: ffmpeg

---> Package libXvMC.i386 0:1.0.2-2.1 set to be updated

---> Package libcaca.i386 0:0.99-0.1.beta17.el5.rf set to be updated

--> Processing Dependency: libglut.so.3 for package: libcaca

---> Package libcddb.i386 0:1.3.1-1.el5.rf set to be updated

--> Processing Dependency: libcdio.so.7(CDIO_7) for package: libcddb

--> Processing Dependency: libcdio.so.7 for package: libcddb

---> Package libdca.i386 0:0.0.5-1.el5.rf set to be updated

---> Package libdvbpsi.i386 0:0.1.7-1.el5.rf set to be updated

---> Package libdvdnav.i386 0:0.1.10-3.el5.rf set to be updated

---> Package libdvdread.i386 0:0.9.7-1.el5.rf set to be updated

--> Processing Dependency: libdvdcss >= 1.2.5 for package: libdvdread

---> Package libebml.i386 0:1.0.0-1.el5.rf set to be updated

---> Package libid3tag.i386 0:0.15.1b-7.el5 set to be updated

---> Package libkate.i386 0:0.3.7-1.el5.rf set to be updated

---> Package libmad.i386 0:0.15.1b-4.el5.rf set to be updated

---> Package libmatroska.i386 0:1.0.0-1.el5.rf set to be updated

---> Package libmodplug.i386 0:0.8.7-1.el5.rf set to be updated

---> Package libmpcdec.i386 0:1.2.6-1.el5.rf set to be updated

---> Package libpostproc51.i386 0:0.8.4-48.el5 set to be updated

--> Processing Dependency: libavutil.so.51(LIBAVUTIL_51) for package: libpostproc51

--> Processing Dependency: libavutil.so.51 for package: libpostproc51

---> Package libshout.i386 0:2.2.2-2.el5.rf set to be updated

---> Package libupnp.i386 0:1.6.6-1.el5.rf set to be updated

---> Package lirc.i386 0:0.6.6-4.el5.rf set to be updated

---> Package live555.i386 0:0-0.27.2010.04.09.el5.rf set to be updated

---> Package mpeg2dec.i386 0:0.4.1-2.el5.rf set to be updated

---> Package opencv.i386 0:1.0.0-1.el5.rf set to be updated

---> Package portaudio.i386 0:19-1.20071207.el5.rf set to be updated

---> Package qt4.i386 0:4.2.1-1.el5_7.1 set to be updated

--> Processing Dependency: libmng.so.1 for package: qt4

---> Package svgalib.i386 0:1.9.25-1.el5.rf set to be updated

---> Package taglib.i386 0:1.5-1.el5.rf set to be updated

---> Package twolame.i386 0:0.3.13-1.el5.rf set to be updated

--> Processing Dependency: libsndfile.so.1 for package: twolame

--> Processing Dependency: libsndfile.so.1(libsndfile.so.1.0) for package: twolame

---> Package xosd.i386 0:2.2.14-1.el5.rf set to be updated

---> Package zvbi.i386 0:0.2.33-2.el5.rf set to be updated

--> Running transaction check

---> Package cppunit.i386 0:1.12.0-3.el5.rf set to be updated

---> Package freeglut.i386 0:2.4.0-9.0.el5 set to be updated

---> Package gsm.i386 0:1.0.13-1.el5.rf set to be updated

---> Package libavutil51.i386 0:0.8.4-48.el5 set to be updated

---> Package libcdio.i386 0:0.77-1.el5.rf set to be updated

---> Package libdvdcss.i386 0:1.2.10-1.el5.rf set to be updated

---> Package libmng.i386 0:1.0.9-5.1 set to be updated

--> Processing Dependency: liblcms.so.1 for package: libmng

---> Package libsndfile.i386 0:1.0.17-1.el5.rf set to be updated

---> Package opencore-amr.i386 0:0.1.2-1.el5.rf set to be updated

---> Package qt.i386 1:3.3.6-23.el5 set to be updated

---> Package x264.i386 0:0.0.0-0.4.20101111.el5.rf set to be updated

--> Running transaction check

---> Package lcms.i386 0:1.18-0.1.beta1.el5_3.2 set to be updated

--> Finished Dependency Resolution

 

Dependencies Resolved

 

==================================================================================================================

Package Arch Version Repository Size

==================================================================================================================

Installing:

vlc i386 0.9.9a-7.el5.rf rpmforge 20 M

Installing for dependencies:

SDL_image i386 1.2.10-1.el5.rf rpmforge 88 k

a52dec i386 0.7.4-8.el5.rf rpmforge 78 k

aalib i386 1.4.0-5.el5.rf rpmforge 167 k

arts i386 8:1.5.4-1 base 1.1 M

cppunit i386 1.12.0-3.el5.rf rpmforge 811 k

dirac i386 1.0.2-1.el5.rf rpmforge 2.9 M

ffmpeg i386 0.6.1-1.el5.rf rpmforge 2.9 M

freeglut i386 2.4.0-9.0.el5 atrpms-testing 96 k

gsm i386 1.0.13-1.el5.rf rpmforge 63 k

lcms i386 1.18-0.1.beta1.el5_3.2 base 176 k

libXvMC i386 1.0.2-2.1 base 18 k

libavutil51 i386 0.8.4-48.el5 atrpms 65 k

libcaca i386 0.99-0.1.beta17.el5.rf rpmforge 367 k

libcddb i386 1.3.1-1.el5.rf rpmforge 113 k

libcdio i386 0.77-1.el5.rf rpmforge 514 k

libdca i386 0.0.5-1.el5.rf rpmforge 136 k

libdvbpsi i386 0.1.7-1.el5.rf rpmforge 82 k

libdvdcss i386 1.2.10-1.el5.rf rpmforge 64 k

libdvdnav i386 0.1.10-3.el5.rf rpmforge 212 k

libdvdread i386 0.9.7-1.el5.rf rpmforge 126 k

libebml i386 1.0.0-1.el5.rf rpmforge 311 k

libid3tag i386 0.15.1b-7.el5 atrpms 45 k

libkate i386 0.3.7-1.el5.rf rpmforge 125 k

libmad i386 0.15.1b-4.el5.rf rpmforge 82 k

libmatroska i386 1.0.0-1.el5.rf rpmforge 821 k

libmng i386 1.0.9-5.1 base 166 k

libmodplug i386 0.8.7-1.el5.rf rpmforge 425 k

libmpcdec i386 1.2.6-1.el5.rf rpmforge 52 k

libpostproc51 i386 0.8.4-48.el5 atrpms 52 k

libshout i386 2.2.2-2.el5.rf rpmforge 115 k

libsndfile i386 1.0.17-1.el5.rf rpmforge 476 k

libupnp i386 1.6.6-1.el5.rf rpmforge 297 k

lirc i386 0.6.6-4.el5.rf rpmforge 241 k

live555 i386 0-0.27.2010.04.09.el5.rf rpmforge 868 k

mpeg2dec i386 0.4.1-2.el5.rf rpmforge 190 k

opencore-amr i386 0.1.2-1.el5.rf rpmforge 376 k

opencv i386 1.0.0-1.el5.rf rpmforge 4.3 M

portaudio i386 19-1.20071207.el5.rf rpmforge 276 k

qt i386 1:3.3.6-23.el5 base 3.6 M

qt4 i386 4.2.1-1.el5_7.1 updates 7.1 M

svgalib i386 1.9.25-1.el5.rf rpmforge 809 k

taglib i386 1.5-1.el5.rf rpmforge 978 k

twolame i386 0.3.13-1.el5.rf rpmforge 133 k

x264 i386 0.0.0-0.4.20101111.el5.rf rpmforge 1.1 M

xosd i386 2.2.14-1.el5.rf rpmforge 60 k

zvbi i386 0.2.33-2.el5.rf rpmforge 919 k

 

Transaction Summary

==================================================================================================================

Install 47 Package(s)

Upgrade 0 Package(s)

 

Total download size: 54 M

Is this ok [y/N]: y

Downloading Packages:

(1/47): libXvMC-1.0.2-2.1.i386.rpm | 18 kB 00:00

(2/47): libid3tag-0.15.1b-7.el5.i386.rpm | 45 kB 00:00

(3/47): libmpcdec-1.2.6-1.el5.rf.i386.rpm | 52 kB 00:00

(4/47): libpostproc51-0.8.4-48.el5.i386.rpm | 52 kB 00:00

(5/47): xosd-2.2.14-1.el5.rf.i386.rpm | 60 kB 00:00

(6/47): gsm-1.0.13-1.el5.rf.i386.rpm | 63 kB 00:00

(7/47): libdvdcss-1.2.10-1.el5.rf.i386.rpm | 64 kB 00:00

(8/47): libavutil51-0.8.4-48.el5.i386.rpm | 65 kB 00:01

(9/47): a52dec-0.7.4-8.el5.rf.i386.rpm | 78 kB 00:01

(10/47): libmad-0.15.1b-4.el5.rf.i386.rpm | 82 kB 00:00

(11/47): libdvbpsi-0.1.7-1.el5.rf.i386.rpm | 82 kB 00:00

(12/47): SDL_image-1.2.10-1.el5.rf.i386.rpm | 88 kB 00:00

(13/47): freeglut-2.4.0-9.0.el5.i386.rpm | 96 kB 00:01

(14/47): libcddb-1.3.1-1.el5.rf.i386.rpm | 113 kB 00:01

(15/47): libshout-2.2.2-2.el5.rf.i386.rpm | 115 kB 00:00

(16/47): libkate-0.3.7-1.el5.rf.i386.rpm | 125 kB 00:00

(17/47): libdvdread-0.9.7-1.el5.rf.i386.rpm | 126 kB 00:00

(18/47): twolame-0.3.13-1.el5.rf.i386.rpm | 133 kB 00:00

(19/47): libdca-0.0.5-1.el5.rf.i386.rpm | 136 kB 00:00

(20/47): libmng-1.0.9-5.1.i386.rpm | 166 kB 00:00

(21/47): aalib-1.4.0-5.el5.rf.i386.rpm | 167 kB 00:00

(22/47): lcms-1.18-0.1.beta1.el5_3.2.i386.rpm | 176 kB 00:00

(23/47): mpeg2dec-0.4.1-2.el5.rf.i386.rpm | 190 kB 00:00

(24/47): libdvdnav-0.1.10-3.el5.rf.i386.rpm | 212 kB 00:00

(25/47): lirc-0.6.6-4.el5.rf.i386.rpm | 241 kB 00:00

(26/47): portaudio-19-1.20071207.el5.rf.i386.rpm | 276 kB 00:00

(27/47): libupnp-1.6.6-1.el5.rf.i386.rpm | 297 kB 00:00

(28/47): libebml-1.0.0-1.el5.rf.i386.rpm | 311 kB 00:00

(29/47): libcaca-0.99-0.1.beta17.el5.rf.i386.rpm | 367 kB 00:00

(30/47): opencore-amr-0.1.2-1.el5.rf.i386.rpm | 376 kB 00:02

(31/47): libmodplug-0.8.7-1.el5.rf.i386.rpm | 425 kB 00:00

(32/47): libsndfile-1.0.17-1.el5.rf.i386.rpm | 476 kB 00:00

(33/47): libcdio-0.77-1.el5.rf.i386.rpm | 514 kB 00:00

(34/47): svgalib-1.9.25-1.el5.rf.i386.rpm | 809 kB 00:01

(35/47): cppunit-1.12.0-3.el5.rf.i386.rpm | 811 kB 00:01

(36/47): libmatroska-1.0.0-1.el5.rf.i386.rpm | 821 kB 00:01

(37/47): live555-0-0.27.2010.04.09.el5.rf.i386.rpm | 868 kB 00:00

(38/47): zvbi-0.2.33-2.el5.rf.i386.rpm | 919 kB 00:00

(39/47): taglib-1.5-1.el5.rf.i386.rpm | 978 kB 00:03

(40/47): x264-0.0.0-0.4.20101111.el5.rf.i386.rpm | 1.1 MB 00:01

(41/47): arts-1.5.4-1.i386.rpm | 1.1 MB 00:00

(42/47): ffmpeg-0.6.1-1.el5.rf.i386.rpm | 2.9 MB 00:03

(43/47): dirac-1.0.2-1.el5.rf.i386.rpm | 2.9 MB 00:03

(44/47): qt-3.3.6-23.el5.i386.rpm | 3.6 MB 00:00

(45/47): opencv-1.0.0-1.el5.rf.i386.rpm | 4.3 MB 00:02

(46/47): qt4-4.2.1-1.el5_7.1.i386.rpm | 7.1 MB 00:00

(47/47): vlc-0.9.9a-7.el5.rf.i386.rpm | 20 MB 00:12

------------------------------------------------------------------------------------------------------------------

Total 620 kB/s | 54 MB 01:29

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing : a52dec 1/47

Installing : libebml 2/47

Installing : libmatroska 3/47

Installing : libcdio 4/47

Installing : libcddb 5/47

Installing : libkate 6/47

Installing : libmad 7/47

Installing : x264 8/47

Installing : libdvbpsi 9/47

Installing : cppunit 10/47

Installing : dirac 11/47

Installing : libmpcdec 12/47

Installing : libXvMC 13/47

Installing : mpeg2dec 14/47

Installing : libid3tag 15/47

Installing : libshout 16/47

Installing : libdvdnav 17/47

Installing : portaudio 18/47

Installing : libdvdcss 19/47

Installing : libdvdread 20/47

Installing : libdca 21/47

Installing : libmodplug 22/47

Installing : xosd 23/47

Installing : svgalib 24/47

Installing : SDL_image 25/47

Installing : aalib 26/47

Installing : libupnp 27/47

Installing : lcms 28/47

Installing : libmng 29/47

Installing : qt 30/47

Installing : arts 31/47

Installing : qt4 32/47

Installing : live555 33/47

Installing : freeglut 34/47

Installing : libcaca 35/47

Installing : opencv 36/47

Installing : libsndfile 37/47

Installing : twolame 38/47

Installing : libavutil51 39/47

Installing : libpostproc51 40/47

Installing : gsm 41/47

Installing : opencore-amr 42/47

Installing : ffmpeg 43/47

Installing : zvbi 44/47

Installing : taglib 45/47

Installing : lirc 46/47

Installing : vlc 47/47

 

Installed:

vlc.i386 0:0.9.9a-7.el5.rf

 

Dependency Installed:

SDL_image.i386 0:1.2.10-1.el5.rf a52dec.i386 0:0.7.4-8.el5.rf

aalib.i386 0:1.4.0-5.el5.rf arts.i386 8:1.5.4-1

cppunit.i386 0:1.12.0-3.el5.rf dirac.i386 0:1.0.2-1.el5.rf

ffmpeg.i386 0:0.6.1-1.el5.rf freeglut.i386 0:2.4.0-9.0.el5

gsm.i386 0:1.0.13-1.el5.rf lcms.i386 0:1.18-0.1.beta1.el5_3.2

libXvMC.i386 0:1.0.2-2.1 libavutil51.i386 0:0.8.4-48.el5

libcaca.i386 0:0.99-0.1.beta17.el5.rf libcddb.i386 0:1.3.1-1.el5.rf

libcdio.i386 0:0.77-1.el5.rf libdca.i386 0:0.0.5-1.el5.rf

libdvbpsi.i386 0:0.1.7-1.el5.rf libdvdcss.i386 0:1.2.10-1.el5.rf

libdvdnav.i386 0:0.1.10-3.el5.rf libdvdread.i386 0:0.9.7-1.el5.rf

libebml.i386 0:1.0.0-1.el5.rf libid3tag.i386 0:0.15.1b-7.el5

libkate.i386 0:0.3.7-1.el5.rf libmad.i386 0:0.15.1b-4.el5.rf

libmatroska.i386 0:1.0.0-1.el5.rf libmng.i386 0:1.0.9-5.1

libmodplug.i386 0:0.8.7-1.el5.rf libmpcdec.i386 0:1.2.6-1.el5.rf

libpostproc51.i386 0:0.8.4-48.el5 libshout.i386 0:2.2.2-2.el5.rf

libsndfile.i386 0:1.0.17-1.el5.rf libupnp.i386 0:1.6.6-1.el5.rf

lirc.i386 0:0.6.6-4.el5.rf live555.i386 0:0-0.27.2010.04.09.el5.rf

mpeg2dec.i386 0:0.4.1-2.el5.rf opencore-amr.i386 0:0.1.2-1.el5.rf

opencv.i386 0:1.0.0-1.el5.rf portaudio.i386 0:19-1.20071207.el5.rf

qt.i386 1:3.3.6-23.el5 qt4.i386 0:4.2.1-1.el5_7.1

svgalib.i386 0:1.9.25-1.el5.rf taglib.i386 0:1.5-1.el5.rf

twolame.i386 0:0.3.13-1.el5.rf x264.i386 0:0.0.0-0.4.20101111.el5.rf

xosd.i386 0:2.2.14-1.el5.rf zvbi.i386 0:0.2.33-2.el5.rf

 

Complete!


저작자 표시 비영리 동일 조건 변경 허락
Posted by DearMai
2008/12/12 14:10

java - the Java application launcher

SYNOPSIS

    java [ options ] class [ argument ... ]
    java [ options ] -jar file.jar [ argument ... ]
    javaw [ options ] class [ argument ... ]
    javaw [ options ] -jar file.jar [ argument ... ]
options
Command-line options.
class
Name of the class to be invoked.
file.jar
Name of the jar file to be invoked. Used only with -jar.
argument
Argument passed to the main function.

DESCRIPTION

The java tool launches a Java application. It does this by starting a Java runtime environment, loading a specified class, and invoking that class's main method. The method declaration must look like the following:
    public static void main(String args[])
The method must be declared public and static, it must not return any value, and it must accept a String array as a parameter. By default, the first non-option argument is the name of the class to be invoked. A fully-qualified class name should be used. If the -jar option is specified, the first non-option argument is the name of a JAR archive containing class and resource files for the application, with the startup class indicated by the Main-Class manifest header.

The Java runtime searches for the startup class, and other classes used, in three sets of locations: the bootstrap class path, the installed extensions, and the user class path.

Non-option arguments after the class name or JAR file name are passed to the main function.

The javaw command is identical to java, except that with javaw there is no associated console window. Use javaw when you don't want a command prompt window to appear. The javaw launcher will, however, display a dialog box with error information if a launch fails for some reason.

OPTIONS

The launcher has a set of standard options that are supported on the current runtime environment and will be supported in future releases. In addition, the default Java HotSpot VMs provide a set of non-standard options. The non-standard options are subject to change in future releases.

Standard Options

-client
Select the Java HotSpot Client VM. This is the default.

-server
Select the Java HotSpot Server VM.

-classpath classpath
-cp classpath
Specify a list of directories, JAR archives, and ZIP archives to search for class files. Class path entries are separated by semicolons (;). Specifying -classpath or -cp overrides any setting of the CLASSPATH environment variable.

If -classpath and -cp are not used and CLASSPATH is not set, the user class path consists of the current directory (.).

For more information on class paths, see Setting the Class Path.

-Dproperty=value
Set a system property value. If value is a string that contains spaces, you must enclose the string in double quotes:
        java -Dfoo="some string" SomeClass
        
-enableassertions[:<package name>"..." | :<class name> ]
-ea[:<package name>"..." | :<class name> ]
Enable assertions. Assertions are disabled by default.

With no arguments, enableassertions or -ea enables assertions. With one argument ending in "...", the switch enables assertions in the specified package and any subpackages. If the argument is simply "...", the switch enables assertions in the unnamed package in the current working directory. With one argument not ending in "...", the switch enables assertions in the specified class.

If a single command line contains multiple instances of these switches, they are processed in order before loading any classes. So, for example, to run a program with assertions enabled only in package com.wombat.fruitbat (and any subpackages), the following command could be used:

java -ea:com.wombat.fruitbat... <Main Class>

The -enableassertions and -ea switches apply to all s loaders and to system classes (which do not have a class loader). There is one exception to this rule: in their no-argument form, the switches do not apply to system. This makes it easy to turn on asserts in all classes except for system classes. A separate switch is provided to enable asserts in all system classes; see -enablesystemassertions below.

-disableassertions[:<package name>"..." | :<class ; ]
-da[:<package name>"..." | :<class name> ]
Disable assertions. This is the default.

With no arguments, disableassertions or -da disables assertions. With one argument ending in "...", the switch disables assertions in the specified package and any subpackages. If the argument is simply "...", the switch disables assertions in the unnamed package in the rent working directory. With one argument not ending in "...", the switch disables assertions in the specified class.

To run a program with assertions enabled in package com.wombat.fruitbat but disabled in class com.wombat.fruitbat.Brickbat, the following command could be used:

java -ea:com.wombat.fruitbat... -da:com.wombat.fruitbat.Brickbat lt;Main Class>

The -disableassertions and -da switches apply to all ss loaders and to system classes (which do not have a class loader). There is one exception to this rule: in their no-argument form, the switches do not apply to system. This makes it easy to turn on asserts in all classes except for system classes. A separate switch is provided to enable asserts in all system classes; see -disablesystemassertions below.

-enablesystemassertions
-esa
Enable asserts in all system classes (sets the default assertion status for system classes to true).

-disablesystemassertions
-dsa
Disables asserts in all system classes.

-jar
Execute a program encapsulated in a JAR file. The first argument is the name of a JAR file instead of a startup class name. In order for this option to work, the manifest of the JAR file must contain a line of the form Main-Class: classname. Here, classname identifies the class having the public static void main(String[] args) method that serves as your application's starting point. See the Jar tool reference page and the Jar trail of the Java Tutorial for information about working with Jar files and Jar-file manifests.

When you use this option, the JAR file is the source of all user classes, and other user class path settings are ignored.

-verbose
-verbose:class
Display information about each class loaded.

-verbose:gc
Report on each garbage collection event.

-verbose:jni
Report information about use of native methods and other Java Native Interface activity.

-version
Display version information and exit.

-showversion
Display version information and continue.

-?
-help
Display usage information and exit.

-X
Display information about non-standard options and exit.

Non-Standard Options

-Xint
Operate in interpreted-only mode. Compilation to native code is disabled, and all bytecodes are executed by the interpreter. The performance benefits offered by the Java HotSpot Client VM's adaptive compiler will not be present in this mode.

-Xbatch
Disable background compilation. Normally the VM will compile the method as a background task, running the method in interpreter mode until the background compilation is finished. The -Xbatch flag disables background compilation so that compilation of all methods proceeds as a foreground task until completed.

-Xdebug
Start with the debugger enabled. Refer to jdb description for more details and an example.

-Xbootclasspath:bootclasspath
Specify a semicolon-separated list of directories, JAR archives, and ZIP archives to search for boot class files. These are used in place of the boot class files included in the Java 2 SDK. Note: Applications that use this option for the purpose of overriding a class in rt.jar should not be deployed as doing so would contravene the Java 2 Runtime Environment binary code license.

-Xbootclasspath/a:path
Specify a semicolon-separated path of directires, JAR archives, and ZIP archives to append to the default bootstrap class path.

-Xbootclasspath/p:path
Specify a semicolon-separated path of directires, JAR archives, and ZIP archives to prepend in front of the default bootstrap class path. Note: Applications that use this option for the purpose of overriding a class in rt.jar should not be deployed as doing so would contravene the Java 2 Runtime Environment binary code license.

-Xcheck:jni
Perform additional checks for Java Native Interface (JNI) functions. Specifically, the Java Virtual Machine validates the parameters passed to the JNI function as well as the runtime environment data before processing the JNI request. Any invalid data encountered indicates a problem in the native code, and the Java Virtual Machine will terminate with a fatal error in such cases. Expect a performance degradation when this option is used.

-Xfuture
Perform strict class-file format checks. For purposes of backwards compatibility, the default format checks performed by the Java 2 SDK's virtual machine are no stricter than the checks performed by 1.1.x versions of the JDK software. The -Xfuture flag turns on stricter class-file format checks that enforce closer conformance to the class-file format specification. Developers are encouraged to use this flag when developing new code because the stricter checks will become the default in future releases of the Java application launcher.

-Xnoclassgc
Disable class garbage collection.

-Xincgc
Enable the incremental garbage collector. The incremental garbage collector, which is off by default, will eliminate occasional garbage-collection pauses during program execution. However, it can lead to a roughly 10% decrease in overall GC performance.

-Xloggc:file
Report on each garbage collection event, as with -verbose:gc, but log this data to file. In addition to the information -verbose:gc gives, each reported event will be preceeded by the time (in seconds) since the first garbage-collection event.

Always use a local file system for storage of this file to avoid stalling the JVM due to network latency. The file may be truncated in the case of a full file system and logging will continue on the truncated file. This option overrides -verbose:gc if both are given on the command line.

-Xmsn
Specify the initial size, in bytes, of the memory allocation pool. This value must be a multiple of 1024 greater than 1MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is 2MB. Examples:
       -Xms6291456
       -Xms6144k
       -Xms6m
       

-Xmxn
Specify the maximum size, in bytes, of the memory allocation pool. This value must a multiple of 1024 greater than 2MB. Append the letter k or K to indicate kilobytes, or m or M to indicate megabytes. The default value is 64MB. Examples:
       -Xmx83886080
       -Xmx81920k
       -Xmx80m
       

-Xprof
Profiles the running program, and sends profiling data to standard output. This option is provided as a utility that is useful in program development and is not intended to be be used in production systems.

-Xrunhprof[:help][:<suboption>=<value>,...]
Enables cpu, heap, or monitor profiling. This option is typically followed by a list of comma-separated "<suboption>=<value>" pairs . Run the command java -Xrunhprof:help to obtain a list of suboptions and their default values.

-Xrs
Reduces usage of operating-system signals by the Java virtual machine (JVM). This option is available beginning with J2SE 1.3.1.

In J2SE 1.3.0, the Shutdown Hooks facility was added to allow orderly shutdown of a Java application. The intent was to allow user cleanup code (such as closing database connections) to run at shutdown, even if the JVM terminates abruptly.

The JVM watches for console control events to implement shutdown hooks for abnormal JVM termination. Specifically, the JVM registers a console control handler which begins shutdown-hook processing and returns TRUE for CTRL_C_EVENT, CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT.

The JVM uses a similar mechanism to implement the pre-1.2 feature of dumping thread stacks for debugging purposes. Sun's JVM uses CTRL_BREAK_EVENT to perform thread dumps.

If the JVM is run as a service (for example, the servlet engine for a web server), it can receive CTRL_LOGOFF_EVENT but should not initiate shutdown since the operating system will not actually terminate the process. To avoid possible interference such as this, the -Xrs command-line option has been added beginning with J2SE 1.3.1. When the -Xrs option is used on Sun's JVM, the JVM does not install a console control handler, implying that it does not watch for or process CTRL_C_EVENT, CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, or CTRL_SHUTDOWN_EVENT.

There are two consequences of specifying -Xrs:

  • Ctrl-Break thread dumps are not available.
  • User code is responsible for causing shutdown hooks to run, for example by calling System.exit() when the JVM is to be terminated.

-Xssn
Set thread stack size.

SEE ALSO


Copyright © 2002 Sun Microsystems, Inc. All Rights Reserved.

Sun
Java Software

저작자 표시 비영리 동일 조건 변경 허락
Posted by DearMai
2008/12/12 13:43
  • 문제정의
    현상을 파악하고 원인을 찾아내기 이전에 시스템의 문제를 명확히 표현, 규정하는 단계
    예 : 웹 접속이 안됨, 서버 접속이 느림 등(현상을 밝히는 정도)
  • 사례수집
    정의된 문제에 대한 대략의 점검 항목과 내용을 결정. 그것에 적합한 솔루션을 선정하고 자료를 수집하는 단계를 의미함.
    (해당 장비의 명령어를 통해서 얻음)
  • 원인 추론
    수집된 자료를 바탕으로 문제잡ㅇ비나 환경 등을 추론하는 단계임. 사실 수집을 통해 얻은 정보를 체계적으로 분석해 원인이 될 만한 부분을 좁혀가는 것이 이 단계에서 중요함. 기존의 축적된 경험이나 기 트러블 슈팅 사례 등이 해당 단계에서 유용함
  • 조치방안
    원인에 따른 조치방안을 마련하고 구현단계를 거쳐 문제를 해결함. 가장 가능성 있는 방안부터 순서대로 작성하여 많은 것들을 한꺼번에 작업하지 않도록 하는 것이 바람직하다. 여러 방안을 동시에 수행하게 되면 결과적으로 뭄ㄴ제가 해결 되더라도 원인을 정확히 파악하지 못하기 때문이다.

출처 : TmaxSoft

저작자 표시 비영리 동일 조건 변경 허락
Posted by DearMai
2008/10/26 08:46

JAVA - JSP - MVC - Struts - XML - AJAX - ORACLE - EJB - UML - Project

MVC 까지는 끝났으니 Struts 로 가면 되는건가? Ajax 는 할줄 아는데..~_~

저작자 표시 비영리 동일 조건 변경 허락
Posted by DearMai
2007/04/28 02:43
PVER 1 3.780 3.0

PVER 1 N

AUTH 2 DES

AUTH 2 DES

REQS 3 DES dearmai@xxx.com

REQS 3 dpc21:5265 211.234.239.88 5004


야밤에 할짓 없어서 그냥 해석중..

대충 로그인 부분이랑 친구 목록 받아오는 부분까지는 해석해뒀는데..

앞으로 더해서 이걸로 멀할지...ㅡ.,ㅡ;;
Posted by DearMai
2006/05/16 20:14
제로보드, 5년만에 확 달라진다
‘한국 웹의 산증인’이라고 해도 과언이 아닐 정도로 웹 게시판 문화를 이끌어온 설치형 인터넷 게시판 ‘제로보드’가 네 번째 버전 이후 5년 만에 다섯 번째 버전으로 다시 태어난다.

제로보드 개발자 고영수(ID 제로)씨는 최근 홈페이지(http://www.nzeo.com)의 ‘제로보드 5 개발 안내입니다’라는 공지사항을 통해 차세대 제로보드의 개발이 완성단계에 이른 상태라고 밝혔다.

그는 “작년 말부터 시작했는데 스스로도 개념이 잡히지 않아서 벌써 5달이 넘었다”며 “현재 제로보드5는 90% 정도 개발되어 있다”고 밝혔다. 그는 “위지윅 편집기, 계층형 댓글, 회원간 쪽지 기능, 사이트 통계기능 등 중요도에서 10% 이상을 차지하는 부분에 대한 막바지 개발에 박차를 가하고 있다”고 덧붙였다.


기사 내용 더 보기 : http://www.segye.com/Service5/ShellView.asp?TreeID=1510&PCode=0007&DataID=200605161627000190


제로보드 5 발표에 대한 첫 기사인듯 ~_~
Posted by DearMai
2006/03/29 23:01
Posted by DearMai