분류 전체보기
훗~
DSLR
Mac
Reference
private
분류 전체보기에 해당되는 글

[Java] JConsole 문제 해결

현재 실행중인 Java App의
메모리 상태, 쓰레드 상태등을 간단히 알고 싶을때..
JConsole은 상당히 유용한 Util인데..

JConsole을 실행하다 보면,
다음과 같은 메시지가 출력되면서 실행이 안될때가 있다..

사용자 삽입 이미지





왤까 싶어서..
구글링을 좀 해봤더만..

이래서 그렇단다..

사용자 삽입 이미지

간단히 말해서..

JDK 5.0을 사용하면,
vm arguments에 -Dcom.sun.management.jmxremote 를 추가해 주어야 한다..
물론, 6.0을 사용한다면 이런거 할 필요 읍단다..

어쩐지..
이상하게 Mac에서만 안되더라..ㅡ,.ㅡ;;
락군

[Java] 비트 연산

초 간단 비트 연산 Example..

입력받은 수의 각 비트가 1이면 true, 0이면 false출력..

int value = 0x57;
String binaryString = Integer.toBinaryString(value);
while(binaryString.length() % 4 != 0) {
                    binaryString = "0" + binaryString;
          }
        
          System.out.println("Source : " + binaryString);

          for(int i = 0; i < binaryString.length(); i++) {
                    System.out.println("\tbit " + i + " : " + ((value >> i & 1) == 1));
          }

결과 :
          Source : 01010111        
              bit 0 : true
              bit 1 : true
              bit 2 : true
              bit 3 : false
              bit 4 : true
              bit 5 : false
              bit 6 : true
              bit 7 : false

락군

보라색을 좋아하는, 당신은 미친늠..

나는 보라색을 좋아한다..

정확히 언제부터 인지는 모르겠지만
보라색에 빠져(?)든 이후로..

"좋아하는 색이 머에요..??"란 질문의 답은 항상
"보라색" 이었다..

사용자 삽입 이미지

노트 필기도 0.3미리 보라색 팬으로 했을 정도로..
보라색에 대한 나의 사랑이 깊어질 무렵..


언젠가 내 취향을 본 여자애가 말하길..

"보라색 좋아하면 미친거라는데..??"

나를 정말 이상한 눈으로 쳐다봤던거 같다..

이 사건의 발생시기가 고딩때나 대딩때로 추측되는 것으로 보아
상당히 오래전 일인데..
(젠장.. 학창시절은 이제 오래전 일이 되었다..ㅡ,.ㅡ;;)

최근들어..
여전히 내가 좋아하는 색, 보라색에 대해서 생각하게 된 계기는..

또, 누가 나보고 미친늠이란다..

사용자 삽입 이미지

그래서 찾아봤다..
색의 감정이라 하여.. 특정이 색이 의미하는 감정이란다..

간단히 몇가지 색의 예를 들자면..

빨강 - 정열, 활동, 흥분, 피(血), 위험, 혁명
파랑 - 침정, 냉정, 경꼐, 소원, 영원, 침착, 명상, 진실, 정숙, 성실
녹색 - 평화, 안전, 무력, 휴식, 건전, 평정, 성장, 지성, 공평, 이상, 순정, 중성, 염원
노랑 - 희망, 명랑, 야심, 질투, 광명, 향상, 성실, 발전, 명쾌, 경박, 팽창

그럼, 내 사랑 보라색은??

보라: 창조, 우아, 예술, 위험, 고귀, 불안, 병약, 신비, 염원
자주: 열정, 정열, 화려, 요염함, 몽상, 환상, 비애, 공포, 감미
검정: 엄숙, 시체, 죽음, 어둠, 주검, 사멸, 침묵, 비애, 공포, 절망, 허무,

다행히(?) 색의 감점으로 보아,
보라색은 자주색과 비슷하거나, 검정보단 괜찮은 상태(?)인거 같다.

기타,
듣보잡 '글'에서 볼 수 있는 보라색이란..

보라색을 좋아하는 사람중에는 변덕스런 사람이 많다.
보라색은 보통 죽음과 질병을 의미한다.
악마의 색이다.
불안함, 불안정함, 불안을 상징한다.
정신 병원에 입원한 환자를 대상으로 조사한 결과, 절반이상의 사람이 보라색에 반응했다고 한다.


젠장..젠장..젠장..
락군

[Java} StringTokenizer와 String.split()

문자열을
특정 Token을 이용해서 분리할 때,
대번에 생각나는 API는 역시 StringTokenizer가 아닐까??


Class StringTokenizer
The string tokenizer class allows an application to break a string into tokens. The tokenization method is much simpler than the one used by the StreamTokenizer class. The StringTokenizer methods do not distinguish among identifiers, numbers, and quoted strings, nor do they recognize and skip comments.

The following is one example of the use of the tokenizer. The code:
     StringTokenizer st = new StringTokenizer("this is a test");
     while (st.hasMoreTokens()) {
         System.out.println(st.nextToken());
     }
 
prints the following output:
     this
     is
     a
     test
(from JDK 5.0 document)

StringTokenizer는
손쉽게 문자열을 특정 Token으로 분리하는 것이 가능하다.

하지만, StringTokenizer를 사용하다 보면, 다음과 같은 문제가 발생할 때가 있다.
아래와 같은 문자열을 분리한다고 하자

박찬호/35/LA다저스//한국

이 문자열을 '/'를 이용해서 분리하게 되면 다음과 같은 결과를 얻을 수 있다.

박찬호
35
LA다저스
한국

Token사이에 값이 없으면 결과에서 생략되는 것을 볼 수 있다.

다음과 같은 문자열을 분리하는 경우르 보자.

source :
영어,한글,중국어,일어
boy,소년,,ボ―イ

output :
영어 -> boy
한글 -> 소년
중국어 -> ボ―イ
일어 -> null

Token을 기준으로 특정 위치에 값이 반드시 들어가야 하는 경우,
StringTokenizer를 사용하면 상당히 귀찮은 노가다성 작업이 필요하게 된다..;;

위와 같은 경우 생략된 값을 처리할 좋은 방법이 없을까?

String class의 split() method를 사용해 보자..

String str = "boy,소년,,ボ―イ";
String[] output = str.split(",");

output :
boy
소년

ボ―イ

생략된 값까지 포함된 배열을 얻을 수 있으므로,
일단, 귀찮은 작업을 해주지 않아도 될꺼 같다..ㅋㅋ;

그럼 필드의 마지막이 생략된 경우는 어떨까??

source :
영어,한글,중국어,일어,독어
boy,소년,,ボ―イ,

output :
영어 -> boy
한글 -> 소년
중국어 -> ""
일어 -> ボ―イ
독어 -> null

output1.length = 5
output2.length = 4

안타깝게도 마지막 값이 생략된 경우는,
결과에 포함되지 않는 것을 알 수 있다..

JDK Document에서 String.split() method를 보면,
다음 두가지가 있음을 알 수 있다.

public String[] split(String regex)
public String[] split(String regex, int limit)

limit 값을 넘겨줄 수 있는 method를 사용해 보자.

String str = "boy,소년,,ボ―イ,";
String[] output = str.split(",", 5);

output :
영어 -> boy
한글 -> 소년
중국어 -> ""
일어 -> ボ―イ
독어 -> ""l

output.length = 5

정확히 필드의 값들이 매치되는 것을 볼 수 있다.

limit값은  split()의 결과로 받게 되는
String[]의 크기를 나타내는 값이다.


결론 :

다수의 정형화된 문자열을 분리하는데는 StringTokenizer가 편리하지만
정형화 되지 않은 문자열을 분리하는 경우는 String.split()가 더 편리할 수 있다.
(노가다로 해줘야 하는 작업이 줄어든다..ㅋ;)

물론,
필드의 갯수가 엉망인 문자열을 분리하는데는 String.split()로도 부족하다..
락군

곰인코더.. 유료 결재를 하다..

이건..

스타워즈 제국의 역습이후 가장 골때리는 반격이 아닐까 싶다..

곰인코더 무료모드에서 로고 표시가 갑자기 5분이 되어버렸다..;;
모서리에서 어느 순간 가운데로 옮긴건 참을수 있었지만..

인간적으로 로고 5분은 너무 하잖아요~~;;
1시간짜리 드라마 보는데, 5분은 짧은 시간 같지만..
이놈에 로고가 나오는 동영상 보면..
정말이지 드라마 끝날때까지 로고가 안 없어지는 느낌에..
정신이 몽롱해 진다..;;

결국..
귀차니즘을 이기지 못하고..
(로고를 없애볼까 or 파일을 하나하나 선택해서 퀵타임으로 인코딩할까..)

유료결재 해줬다..ㅋ;
90일 사용기간을 확보했는데.. 얼마나 쓸지는 미지수..ㅋㅋ;


PS. 사실 이번 조치는..곰플레이어도 잘쓰고 있는 마당에..
'이제야 쓸만해진' 곰인코더까지 날로 먹으려 들지 말라는 걸로 보인다..

사용자 삽입 이미지
<닦치고 유료결재 해라~~이 새퀴들아..>
락군

Iwasa Mayuko_ Good Life Good Today

간만에..
웹하드 캐시 결제 기념으로..다가..

우리 Iwasa Mayuko양의 새로운 사진이 없을까 싶어.. 검색해 본 결과..
이게 웬걸.. 처음보는 이름의 영상집이 검색되었다..

지난 달에 새로운 영상집이 발매 되었나 보다..
한동안 정기적 검색을 안 했더만..
흠.. 몰랐네..

어쨌든.. 결과를 확인한 이상..
당연히 다운로드~~ㄱㄱ 씽.. (-- )( --);;

감상평은.. .. .. 궁금하면.. 직접 구해서 보셈..;;

사용자 삽입 이미지

락군

Java5의 Enum 사용하기

Java5에서 Enum은 기존의

public interface XYZConstants {
  public static final int A = 1;
  public static final int B = 2;
  public static final int C = 3;
}

가 갖는 문제점을 해결합니다. 위와같은 integer를 사용한 constants는 결국
int c = XYZConstatnts.B;
와 같은 형태로 값을 저장해야하고 따라서 아무 값이나 c안에 저장할 수 있다는 문제가 있습니다. 이를 해결학위한 Typesafe Enumeration 패턴이 있지만 이는 구현하기 어렵고, switch-case문을 사용하지 못하는 한계가 있죠. 이를 해결한 것이 Java5의 Enum입니다.

Enum은 보통 다음과 같이 선언합니다.

public enum SimpleEnum {
  A, B, C;

  public static void main(String[] args) {
    System.out.println(A);

    SimpleEnum s = B;
    switch(B) {
      case A: System.out.println(“A”); break;
      case B: System.out.println(“B”); break;
      case C: System.out.println(“C”);
    }
  }
}

출력은 다음과 같습니다.
A
B

인자를 저장시켜 활용할 수도 있습니다.

public enum EnumWithArgument {
  A(0,1), B(1, 2), C(2, 3);

  private int first;
  private int second;

  // No modifier is allowed here.
  EnumWithArgument(int a, int b) {
    first = a;
    second = b;
  }

  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append(first);
    sb.append(“, “);
    sb.append(second);

    return sb.toString();
  }

  public static void main(String[] args) {
    System.out.println(A);
  }
}

출력은 다음과 같습니다.
0, 1

흥미로운 것은 Enum의 hierarchy입니다.
만약 단순히 Enum을 선언하면 hierarchy는 다음과 같이 됩니다.

public enum EnumSuper {
  A;

  public static void main(String[] args) {
    System.out.println(A.getClass());
    System.out.println(A.getClass().getSuperclass());
  }
}

출력은 다음과 같습니다.
class EnumSuper
class java.lang.Enum

하지만 다음과 같이 Enum을 추상클래스로 만들고 각각의 item이 override하게 할 수도 있습니다.

public enum EnumSuper2 {
  A() { @Override public void foo() { } };

  abstract void foo();

  public static void main(String[] args) {
    System.out.println(A.getClass());
    System.out.println(A.getClass().getSuperclass());
  }
}

출력은 다음과 같습니다.
class EnumSuper2$1
class EnumSuper2

따라서 각 Enum 안의 value에 polymorphism 적용이 가능하게 됩니다.

public enum EnumSuper3 {
  A { @Override public void foo() { System.out.println(“I am A”); } },
  B { @Override public void foo() { System.out.println(“I am B”); } };

  abstract public void foo();

  public static void main(String[] args) {
    EnumSuper3 e = A;
    e.foo();

    e = B;
    e.foo();
  }
}

출력은 다음과 같습니다.
I am A
I am B

switch-case를 써서 다음과 같이 한 곳에서 처리하게 할 수도 있습니다.

public enum EnumSuper3 {
  A, B;

  public void foo() {
    switch(this) {
      case A: System.out.println(“I am A”); break;
      case B: System.out.println(“I am B”); break;
    }
  }

  public static void main(String[] args) {
    EnumSuper3 e = A;
    e.foo();

    e = B;
    e.foo();
  }
}

출력은 마찬가지입니다.
I am A
I am B

이렇게까지 보고 “기능은 참 많구나…” 하고 끝내면 좋은데 문제는 Enum의 정의된 모양이 무척 이해하기 어렵다는 것입니다.

JDK API에 Enum은 다음과 같이 정의되어 있습니다.

Class Enum<E extends Enum<E>> implements Serializable, Comparable<E> { … }

먼저 Enum은 상수이므로 Serializable 해야한다는 것은 명확합니다.
또 Enum의 각 value간 비교가 가능해야할 것이므로 Comparable<E> 을 구현한 것도 이해할 수 있습니다.
문제는 Enum<E extends Enum<E>>입니다.

앞서 이야기 드렸던 바와 같이 enum으로 선언한 클래스는 Enum을 상속받습니다.
그리고 이 동작은 내부적으로 자동으로 이루어집니다.
따라서 public enum Foo는 Enum<Foo extends Enum> 을 만족합니다. 문제는 Foo extends Enum<Foo> 부분에서 부모 클래스에 넘기는 Foo 입니다. 이것은 generics에서 상속을 강제할 경우 어떤일이 생기는가를 따져보면 이해할 수 있습니다.

1) 여기에서 보다시피 자식 클래스는 부모의 클래스를 물려받으며, 의무적으로 부모의 abstract 메소드를 구현해야 합니다.
2) 또한 covarint 를 가능하게 합니다. 예를들어 Enum 클래스안에 public <E> E method() 가 있었다면 이 E 는 자동으로 enum 으로 선언된 클래스 (지금의 예에서는 Foo)로 치환됩니다.

이처럼 java generics 의 특징은 C++에서 코드가 직접 생성되는 경우와 매우 다른 특징을 가지며 Enum은 그것을 잘 활용한 예입니다.

락군

지름신을 막아주세효.. ㅜㅠ;
사용자 삽입 이미지


과연, 참을 수 있을까..ㅋ;
락군

Yumi Sugimoto (스기모토 유미)..

스기모토 유미 (杉本有美)

오사카, 1989년 4월 1일생
166cm / B82W58H85 / 24cm / A형
그라비아 모델 & 탤런트
취미 : 노래, 테니스, 과자만들기

현재 3분기 심야 드라마 보이스에스테 출연중..


모 커뮤니티, 모 유저의
김태희보다 예쁘면서, 키는 더 크다는 말에..
바로 검색해 본 처자..

얼핏보면 닮은것 같기도..
그런데
김태희 팬이 아닌 내가 봤을때는 김태희보다 더 매력있는듯..
더군다나 89년생..ㄷㄷㄷ;


012345678


01234567891011
락군

락군에게 꼬박꼬박 월급을 주는 곳은..


바로 요기..

테크노 마트..
아니지 정확히 말하자면.. 프라임센터입니다..
저 테팔이 아니에요..ㅜㅠ;

사용자 삽입 이미지

월급날 기념으로..
구글어스에서 찾아 본 '울 회사'..


그나저나,
월급 받은지 몇시간이나 됐다고..
벌써 잔액이 ㄷㄷㄷ;;

락군
*1  *···  *17  *18  *19  *20  *21