2006년 9월 27일 수요일

File 처리....

File에 어떠한 데이터를 덧붙여 쓸때



jdk 1.4 이상

FileWriter(File file, boolean) 뒤에 boolean에 true를 써주면 뒤에 이어쓰기



jdk 1.4 이하

RandomAccessFile(File file, String mode) : 접근 모드
RandomAccessFile.seek(int)  : 커서의 위치
RandomAccessFile.writeBytes(String msg) : 입력

2006년 9월 22일 금요일

jar 파일 만들기

사용법: jar {ctxu}[vfm0Mi] [jar-file] [manifest-file] [-C dir] files ...
옵션:
   -c  새 아카이브를 만듭니다.
   -t  아카이브에 대한 목차를 나열합니다.
   -x  아카이브에서 명명된 (또는 모든) 파일을 추출합니다.
   -u  기존의 아카이브를 업데이트합니다.
   -v  표준 출력에 대한 자세한 정보 출력을 생성합니다.
   -f  아카이브 파일 이름을 지정합니다.
   -m  지정된 manifest 파일에서 manifest 정보를 포함시킵니다.
   -0  저장만 수행하며 ZIP 압축을 사용하지 않습니다.
   -M  입력 항목에 대한 manifest 파일을 만들지 않습니다.
   -i  지정된 jar 파일에 대한 색인 정보를 생성합니다.
   -C  지정된 디렉토리로 변경하고 다음 파일을 포함시킵니다.
디렉토리인 파일이 하나라도 있으면 재귀적으로 처리됩니다.
'm' 및 'f' 플래그가 지정된 순서대로 manifest 파일 이름과 아카이브 파일
이름을 지정해야 합니다.

예 1: classes.jar라는 아카이브 파일에 두 클래스 파일을 아카이브하려면 :
      jar cvf classes.jar Foo.class Bar.class
예 2: 기존의 manifest 파일 'mymanifest'를 사용하고 foo/ 디렉토리에 있는
          모든 파일을 'classes.jar'로 아카이브합니다:
      jar cvfm classes.jar mymanifest -C foo/ .



ex)
jar cvf test.jar -C test/ .

2006년 9월 18일 월요일

Vi Editor 사용법

VI 에디터 사용법

(1)  입력 모드
- i : Insert, 현재 커서의 위치에 글자를 삽입
- I : Insert, 커서가 있는 줄(line)의 맨 앞에 글자를 삽입
- a : Append, 현재 커서 위치의 다음 칸에 글자를 추가
- A : Append, 커서가 있는 줄(line)의 맨 뒤에 글자를 추가
- o : Open line, 현재의 줄 다음에 새로운 줄을 삽입
- O: Open line, 현재의 줄 앞에 새로운 줄을 삽입
영/한 변환은 Shift+Spacebar를 입력하면 됩니다.
편집은 대부분 명령모드 상태에서 이루어 집니다.

(2)  명령 모드
입력 모드에서 명령 모드로 다시 전환하려면 Esc 키를 누르기만 하면 됩니다. 명령모드는 편집모드라고도 하는데, 글을 입력시키는 방법이 아닌 수정과 편집을 할 수 있는 상태임을 기억해 두어야 합니다. 즉, 명령모드에서는 복사,삭제, 붙이기. . .등의 작업이 이루어 집니다. 또한, 입력모드를 통해 삽입 등 잘못된 명령을 내렸을 때 'u'라는 명령어를 통해서 Undo, 즉 복구가 가능하게 할 수 있습니다.


(3)  콜론 모드

명령모드에서 콜론 모드로 전환하려면 ':'명령을 실행시키면 됩니다. 콜론 모드는 vi에서 사용할 수 있는 명령어들을 이용하는 곳입니다. 윈도우 환경에서라면 메뉴 바와 같은 역할을 한다고 볼 수 있습니다. 파일을 저장하거나 vi를 종료하는 등의 일을 수행할 수 있습니다. 콜론 모드로 들어가려면 Esc를 누른 후 ":"를 누르면 됩니다. 콜론 모드에 들어가게 되면 화면 아래쪽에 ':' 표시가 나타나게 되며, 여기서 원하는 작업에 해당하는 명령을 입력하고 Enter 키를 치면 됩니다.

* 정규표현식의 특수 기호들
-? : 한글자를 대표하는 기호 
- * : 여러개의 문자를 동시에 대표하는 기호
- ^ : 줄의 처음시작
- $ : 줄의 맨끝
- % : 처음줄부터 끝줄까지
- \ : 특수한 기호들이 가지는 뜻을 없앨 때 사용
- [^] : 묶여진 문자를 제외한 아무것이나 대응합니다
- [A-Z] : A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z 를 대표
- [AB] : A 또는 B
- p[aeiou]t : pat, pet, pit, pot, put 를 대표
- [0-9] : 0,1,2,3,4,5,6,7,8,9 를 대표

*명령 모드(ESC 모드)에서 사용되는 몇가지 기호
- G : 화일의 맨끝으로
- ^ : 현재줄의 맨앞 (빈칸무시)으로
- 0 : 현재줄의 맨앞으로
- $ : 현재줄의 맨 뒤로
- % : 짝을 이루는 기호 확인
- w : 다음 단어로
- b : 이전 단어로
- e : 현재 단어의 끝 글자

*커서 움직이기
- h : 커서를 왼쪽으로 이동하는 명령
- j : 커서를 아래로 이동하는 명령
- k : 커서를 위로 이동하는 명령
- l : 커서를 오른쪽으로 이동하는 명령
- ^ : 빈칸을 무시하고, 커서를 현재 줄의 첫글자로 이동하는 명령
- 0 : 커서를 현재줄의 처음으로 이동하는 명령
- $ : 커서를 현재줄의 맨끝으로 이동하는 명령
- + : 커서를 다음줄의 처음으로 이동하는 명령
- - : 커서를 이전 줄의 처음으로 이동하는 명령
- n| : 현재위치의 n 번째 열로 (n은 임의의 숫자)
- H(Home) : 커서를 화면상에 처음줄로 이동하는 명령
- M(Middle) : 커서를 화면상에 중간줄로 이동하는 명령
- L(Last) : 커서를 화면상의 마지막줄로 이동하는 명령
- nH : 화면상의 처음줄로부터 n 줄 밑으로 이동(n은 임의의 숫자)
- nL : 화면상의 마지막줄로부터 n 줄 위로(n은 임의의 숫자)
- G (Go) : 파일의 마지막 줄로 이동하는 명령
- nG : n번째 줄로 건너뛰는 명령
- w(word) : 커서를 다음단어의 첫글자로 이동하는 명령
- b(back) : 커서를 이전단어의 첫글자로 이동하는 명령
- e(end) : 커서를 다음단어의 끝 글자로 이동하는 명령
- vi에는 스크롤 기능이 없는 대신 화면 단위로 이동하는 명령어들이 있습니다.
- Control + f (Forward) : 한화면 밑으로 이동
- Control + b (Backward) : 한화면 위로 이동
- Control + d (Down) : 반쪽화면 밑으로 이동
- Control + u (Upon) : 반쪽화면 위로 이동
*편집하기
복사, 붙이기, 합치기
- y (Yank) : 복사하기
- yy : 한 줄 전체의 내용을 복사한다
- 2yy : 두줄복사
- nyy : 현재 줄 이하로 n개의 줄을 복사한다 (n은 임의의 숫자, 2yy는 2줄 복사)
- yw : 한단어 복사

- ynw : n개의 단어를 복사한다(y2w는 두 개의 단어를 복사)
- y2w : 두단어 복사
- y$ : 현재 위치에서 그 줄의 끝까지 복사한다
- y0(y^) : 현재 위치에서 그 줄의 처음까지 복사한다
- yG : 현재 위치에서 파일의 끝까지 복사한다(G는 파일의 마지막 줄)
- Y : 한 줄 전체의 내용을 복사한다 (yy 와 동일)
마지막 명령어의 반복

-. : 마지막에 수행한 명령어를 반복한다.
-2. : 명령어를 2번 반복한다.
- p (Put or Paste) : 붙이기
- P : 위로(왼쪽으로) 붙이기
- xp : 두 문자를 바꾸는 명령
- ddp : 두 줄을 바꾸는 명령
- J(Join) : 여러 줄의 내용을 한 줄로 합친다
- dnw : n개의 단어를 지운다
- d$(D) : 커서가 있는 위치에서 그 줄의 끝까지 지우기
- dd : 현재커서가 위치한 줄의 전체를 삭제합니다.
- ndd : n줄지우기 (n 은 임의의숫자)
- dw : 한단어 지우기
- d0(d^) : 그줄 처음까지 지우기
- dG : 커서가위치한 곳으로 부터 문서 끝까지 지우기
- :line d : 지정한 줄을 삭제
- :line, line d : 지정한 범위를 삭제
- u (Undo) : 되살리기 명령으로 버퍼에 저장되어 있는 원래의 내용을 복구
- c (Change) : 바꾸기
- cc : 한줄 바꾸기
- ncc : n개의 줄 바꾸기(n은 임의의 숫자)
- cw : 한단어 바꾸기
- c2w : 두단어 바꾸기
- c$ : 그 줄 끝까지 바꾸기
- c0(c^) : 현재 위치에서 파일의 끝까지 바꾼다
- r (Replace) : 한글자 바꾸기
- 2r : 두글자 바꾸기
- R : 바꾸면서 삽입이 아닌 수정(modify) 모드로 들어간다. 윈도에서 Insert 키를 누르고 수정 상태로 들어가는 것과 같다
- s : 한글자 지우고 insert 모드로 - cl 와 동일
- S : 한줄지우고 insert 모드로 - cc 와 동일
- ~ : 대문자 < - > 소문자 바꾸기 - 영문자에만 해당

- /요 : 현재 위치에서 아래쪽 방향으로 '요'라는 단어를 찾는다
- ?요 : 현재 위치에서 위쪽 방향으로 '요'라는 단어를 찾는다
- n : 단어 찾기를 반복한다(아래쪽 방향으로)
- N : 단어 찾기를 반복한다 (위쪽 방향으로)
찾기와 편집명령의 응용
- d/simple : simple 이라는 단어가 나올때까지 지우기
- d/^scully : 줄의 맨앞에 scully 라는 단어가 나올때까지 지우기
- y/yahoo : yahoo 라는 단어가 나올때까지 복사하기

ex 명령어 익히기
vi서 사용하는 ex 명령어는 이전 ex 편집기에서 지원하던 기능들입니다. ex 모드(콜론 모드)에서 사용하는 명령어는 열기(Open), 저장(Save), 다른 이름으로 저장(Save as) 등의 명령을 수행합니다. ex 모드는 Esc 키를 누르고 ':' 키를 입력하여 들어갈 수 있다는 것과 종료시의 명령어에 대해서는 앞에서 설명하였기에 생략하기로 하겠습니다.

예)
- :1,10 co 50 : 1 줄 부터 10 줄 까지를 50 줄 이후로 복사
- :34,50 d : 34 줄 부터 50 줄 까지 삭제
- :.,$ d : 현재줄부터 끝까지 지우기
- :.,+20 co -4 : 현재줄부터 20줄을, 4줄 위에 복사하기
- :-,+ t 0 : 위, 아래로 한줄(총 3줄)씩을, 문서 맨위에 복사하기
- :/pattern/ d : pattern 이 들어있는 줄 지우기
- :/pattern/ -nd : pattern 이 들어있는 줄로부터 n 번째 윗줄 지우기
- :/pattern/ +nd : pattern 이 들어있는 줄로부터 n 번째 아랫줄 지우기
- :/pattern1/,/pattern2/d : pattern1 이 들어있는 줄부터, pattern2 가 들어있 는 줄까지 지우기
- :.,/pattern/ m 23 : 현재줄부터 pattern 이 들어있는 줄까지, 23번줄 이 후로 옮기기


저장 및 종료하기
- :w : 저장하기 (write)
- :q : 종료하기 (quit)
- :wq : 저장하고 종료하기
- :w! : 강제로 저장하기 (read-only 로 열었을경우)
- :q! : 편집한 내용을 저장하지 않고 종료하기
- :w new_file_name : 새로운 파일이름으로 저장하기
- :w %.new : 현재화일 이름에 .new 를 붙여서 새로운 화일로 저장
- :230,$ w file_name : 230 줄부터 끝줄까지 file_name 으로 저장하기
- :.,600 w file_name : 현재줄부터 600줄까지 file_name 으로 저장하기
- :1,10 w new_file : 1줄부터 10줄까지 new_file 로 저장하기
- :340,$ w >> new_file : 340줄부터 끝줄까지 new_file 에 추가하기


읽기
- :r[ead] filename : 현재위치에 filename 읽어들이기
- :r /usr/local/data : 현재위치에 /usr/local/data 읽어들이기
- :185 r /usr/local/data : 185줄 이후에 /usr/local/data 읽어들이기
- :$r /usr/local/data : 맨끝줄 이후에 /usr/local/data 읽어들이기
- :0 r /usr/local/data : 맨윗줄에 /usr/local/data 읽어들이기
- :/pattern/ r /usr/local/data : pattern 이 존재하는 줄에 /usr/local/data 읽어들이기


다중편집하기
vi file1 file2 :file1과 file2라는 두 개의 문서를 읽어들인다. 먼저 읽는 문서는 file1이다
- :n :두 번째 문서(file2)를 편집할 수 있다
- :e # :이후부터는 ':e #' 명령을 사용하여 문서를 번갈아 열며 편집할 수 있다
- :prev[ious] :이전화일로 돌아간다
주의 - 편집중인 화일이 저장되지 않으면 다음 화일로 넘어갈수 없다
* * 새로운 파일 편집하기
- :e file1:새로운 파일(file1)을 읽어들여 편집한다
- e[dit] file_name :새로운 file_name 편집하기
- :e! :현재의 편집중인 내용을 무시하고 가장 최근에 편집한 내용을 다시편집하기

* * 프로그램 소스 코드에서 괄호 짝 찾기
프로그램이나 HTML 소스에는 수많은 괄호(< >, ,…)가 사용되게 마련입니다. 때문에 편집을 하다 보면 괄호의 짝을 잃어버려 프로그램 오류가 나는 경우도 빈번합니다. 이럴 때 vi는 편리한 기능을 제공합니다. 해당 괄호 위에 커서를 놓은 후 %키를 누르면 짝이 되는 괄호의 위치로 이동합니다.

예기치 않은 시스템 다운후 되살리기
- vi -r :되살릴수 있는 모든 파일의 이름을 보여준다.
- vi -r file :vi에디터를 실행하여 지정한 파일을 되살리는 옵션이다

디스플레이 제어
:set number : 내부의 줄번호로 내용을 불러온다
:set nonumber : 내부의 줄번호로 내용을 되 불러 오지 않게 하는 옵션이다

패턴에 의한 치환
- :s/pattern/replace/ : 현재 줄을 치환한다
- :lines/pattern/replace/ : 지정한 줄을 치환한다
- :line,lines/pattern/replace/ : 지정한 범위를 모두 치환한다
- :%s/pattern/replace/ : 모든 줄을 치환한다


데이터 읽기
- :line r file : 파일의 내용을 지정한 줄 다음에 삽입한다
- :r file : 파일의 내용을 현재줄 다음에 삽입한다
- :line r !command : 명령의 결과를 지정한 줄 다음에 삽입한다
- :r !command : 명령의 결과를 현재줄 다음에 삽입한다
- u : 수정했던 마지막 명령을 취소한다
- . : 마지막 명령을 반복한다
- x : 커서가 있는 문자를 삭제한다

슈퍼마리오 BGM 피아노 연주...

Can't display this flash media



..............스고이..

사람이냐 돌고래냐.. -_-;

Can't display this flash media



Vitas 라는 러시아 가수라나 모래나..

돌고래랑 의사소통 될꺼 같은데? -_-;

마이크 튕기는게 아쟁같기도 하고...

무대매너는.. 조낸.. 눈빛봐 -_-

최고의 뮤직비디오 (no CG)

Can't display this flash media



최..최고.. 누구나 플레이버튼 두번은 누를껄? -_-;

2006년 9월 3일 일요일

하늘의 구름..


하늘이 참 맑더라...

이런저런 생각하다가...

Hooch 과일맥주 시음..기?



언젠가 홈플러스에 갔을때.. 다들 장보고 있을때 나는 마땅히 살게 없어서..

주류점으로 갔던 기역이 있다.

요즘에 와인이 땡겨서 ~_~ 와인을 찾고 있었는데..

잘 모르겠더라.. 그래서 맥주로 타겟 체인지~~

흠... 보던중 과일맥주라고 있길래.. 형님이 " 야 그거 맛있어~ 함 머거봐~ "

하길래.. 믿고!! 구입했다.. 참고로 나는 그냥 맥주만 먹지 맥주에 모 첨가 된걸 별로 안조아한다..


그렇게 구입하고.. 이제 맥주가 땡겨서 냉장고를 열어서.. 내가 좋아하는 체리맛 을 꺼내서..

한입 삼키는 순간.. 윀....

역시 이건 아니였다. -_-

과일주 좋아하는 사람은 모르겠지만.. 나는 영 안받더라..

아무래도 이거.. 다 형님손에 넘어갈꺼 같다.. 줸장..

컴퓨터 구입 개봉기..

흠..

산지 좀 됬지만.. 이제서야 파일들을 컴퓨터로 옮겨서.. -_-a

이제서야 포스팅 하게 된점.. 양해를 구할분도 없지만 양해를 구합니다. -_-

우선 전반적인 시스템은


CPU: Core 2 Duo 6300
RAM: DDR2 5300U 2G(1+1)
VGA: Ati X700 DDR3(400 / 1000)
HDD: Seagate 160G SATA2
Power: 스파클텍 ATX-400PN

LCD: 유플러스비젼 UP-M23U


이렇게 구입했다..

너무 추세가 바뀌어서 파워 꼽는거 부터 하드 꼽는거.. -_-;

조금 고생(?) 했다.. 난 불량 난건지.. 아니면 원래 호환이 안대는지..

한 10분을 생각해야 했다.. 그러나 성공~

체감속도는 빠르나 조금 후회가 되는것 같다.

" 좋은 CPU 좋은 성능을 제대로 못쓰는것 같아 안타깝다고 해야하나? "


최대한 쓰도록 해야겠지만.. 듀얼코어의 힘을 느끼기엔 아직

나의 스펙이 딸리는것 같다..






우선 박스 샷.. X700 그리고 나머지 부품 LCD..







Core 2 Duo 6300, Ram, X700, GigaByte GA-965P-DS3 ..










Core 2 Duo 6300














Core 2 Duo CPU 삿인데.. 역시 핸드폰 카메라라 -_- 접사 꽝..













마지막 세팅후~ 윈도우 설치 모습~_~








그리고 현재 상황~ XBOX가 추가됨~_~

2006년 9월 1일 금요일

페이지 새로 고침..

[code type=html4strict]for HTML

<META http-equiv=refresh content="10;url=<%=goURI%>">[/code]



[code type=java5]for JAVA

response.setHeader("Refresh","10; URL=http://taesuz.80port.net");[/code]

JavaScript 부모창 새로고침..

  • 자식창에서 opener.location.reload()
  • opener.parent.location.href = reload시키려는 페이지