: [1] : [2] : [3] : [4] : [5] : [6] : [7] : ... [8] :

Jemote 삽질중

개발/Java 2007/06/16 22:08

Jemote ?
Java Remote Desktop

보기에는 그럴싸하게 보일 수 있으나

버그가 상당히 있고,
개선해야될 점이 많은 -_-a

jemote preview


사용자 삽입 이미지
2007/06/16 22:08 2007/06/16 22:08

나는야 버즈 제조기 2탄 -_-;

몇분전까지의 자테온의 코드 일부였다.

public ChatWindow getChatWindow(SwitchBoardSession ss, NateFriend fr) {
 ChatWindow cw = chatdlgMap.get(ss);
 if(cw==null){
   for(ChatWindow c : chatdlgMap.values()){
     NateFriend cf = c.getLastRecvUser();
     if(cf!=null && cf.equals(fr));
       return c; }
    }
   return cw;
}


A 와 대화중인데, 갑자기 B가 대화를 걸어왔을때,
황당하게도 같은 채팅창에 뜨는 버그가 있었다.

위의 코드때문에 생긴 버그였다


<자세히보기...>


2007/05/24 00:17 2007/05/24 00:17

파스칼의 삼각형을 출력하는 프로그램을 작성하시오.

input
n = 7
7 은 입력받은수임 (  0 < n < 15 )

output
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
파스칼의 삼각형 n 줄을 출력한다.
2007/05/04 21:40 2007/05/04 21:40

몇개월전에 우연한기회에 x86 osx를 얻게 되었다
그때 당시에도 vmware 에 설치 시도를 해보았으나
무슨이유에서인지 실패를했었다.

요즘 자테온 swt 버전 알파테스팅단계인데
맥환경에서 에러를 뱉으며 죽는다는 보고가 있었다
(미리 알파테스트를 하는건 이런 이유다)

대체 무슨 이유때문에 안되는건지 알아보기위해
맥 머신이 없는지라 -_ -;
다시 vmware 위에 x86 용 osx 를 올려보기위해 아침부터 삽질을 시작했다.

저녁쯔음 vmware 안에 떠 있는 osx 를 볼 수 있었다.

vmware로 돌리는 상황이라서 느린지는 몰라도,
버벅대는 느낌이었다.

처음 접하는 맥 ;;;
java 개발 환경 세팅하기까지 힘들었다.
(환경설정, 어플리케이션 등등··· )

여기까지 올 수 있게 도와주신 #x86osx 채널에 계신 분들께 감사드립니다.

이클립스 띄우고
자테온 체크아웃하고 -_-a

이클립스에서 실행을 하면 잘 되는데
유독 jar 만들어놓은걸 실행하면 Exception 을 발생하다가
jvm 이 에러를 뱉으며 죽는듯했다.

한참을 구글링하다가 이클립스 SWT 페이지를 다시 들어가봤다
차근차근 살펴보니 '맥환경에서 배포하기'가 눈에 띄었다(평소 맥쪽은 관심이 없었던지라 눈에 띌 턱이 없었)

며칠전 yGuard 스크립트에서 발생했던 문제도 공식홈페이지에서 배포하는 document에 어떻게 사용하는지 설명이 적혀있었다.

역시 문제가 발생하면 공식 웹 사이트를 찰 찾아보면 도움이 되는듯 하다.

암튼 그 링크를 클릭해서 읽어본 결과 실행시에 -XstartOnFirstThread 옵션을 줘야된다는 걸 알게 되었고, 옵션을 주고 실행을 해봤더니 잘 돌아갔다.

조만간 환경설정 UI 추가한 뒤에 베타 릴리즈를 할 예정이다.
jateon development

2007/04/25 01:54 2007/04/25 01:54

처음 입력받은 횟수만큼

두 정수를 입력받고 해야 할 연산을 지정해서
연산결과를 출력하는 프로그램을 작성하세요.

실행 예 (검정은 출력이고 파랑은 입력받는것임)
N : 2
Input two numbers : 123 45
Select Operator( 1:add 2:sub 3:mul 4:div) : 4
123 / 45 = 2.733333
Input two numbers : 127 45
Select Operator( 1:add 2:sub 3:mul 4:div) : 2
127 - 45 = 82

2007/03/30 22:18 2007/03/30 22:18

두 정수를 입력받아 사칙연산을 하는 프로그램을 작성하세요.

실행 예 (검정은 출력이고 파랑은 입력받은것임)
Input two numbers : 123 456

123 + 456 = 579
123 - 456 = -333
123 * 456 = 56088
123 / 456 = 0...123

2007/03/25 12:50 2007/03/25 12:50

일반 계정이 관리자 권한이 있는 상태로 로그인이 되어있고,
시스템 관리등을 위해서 admin 으로 로그인해야될 필요가 있을때
혹시 암호를 잃어버렸다면

다음을 따라 해 본다
시작 - 실행 - cmd 창 띄우고

net user administrator *

패스워드 넣으라고 하는데
새로운 패스워드를 넣으면 그걸로 적용이 된다

2007/03/16 03:48 2007/03/16 03:48

동아리 c 스터디 를 하게 되어
정보 공유차원에서 스터디 하면서 다루었던 내용들을
블르그에 포스팅 하려 합니다.

프로그래밍 입문 또는 초급자들을 대상으로 할 예정이기때문에
난이도는 쉽게 진행될것입니다.

C 만든 아저씨가 쓴 책인 The C Programming Language 를 참고하여 내용을 진행하게 될 듯싶습니다.

2007/03/15 15:27 2007/03/15 15:27

요즘 개발하고 있는 프로그램에
javascript 에 있는 escape 함수가 필요해져서 삽질을 시작했다.

자바 스크립트로 테스트 html 페이지 만들어
ASCII 코드 ~127 까지 넣어보면서 -_- 삽질을 했다.

[CODE type="java"]public static String escape(String string){
[tab]StringBuffer sb = new StringBuffer();
[tab]String ncStr = "*+-./0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz";
[tab]char c;
[tab]
[tab]for(int i=0;i<string.length();i++){
[tab][tab]c = string.charAt(i);
[tab][tab]if(c>0x7f){
[tab][tab][tab]sb.append("%u");
[tab][tab][tab]sb.append(Integer.toHexString((int)c).toUpperCase());
[tab][tab]}
[tab][tab]else if(ncStr.indexOf((int)c)==-1){
[tab][tab][tab]sb.append('%');
[tab][tab][tab]if(c<=0xf)
[tab][tab][tab][tab]sb.append('0');
[tab][tab][tab]sb.append(Integer.toHexString((int)c).toUpperCase());
[tab][tab]}
[tab][tab]else
[tab][tab][tab]sb.append(c);
[tab]}
[tab]
[tab]return sb.toString();
}
[/CODE]
2007/02/19 21:33 2007/02/19 21:33

자바 프로그래밍을 하다보면
가끔씩 새로 뜨는 프레임이 포커싱이 되지 않아야 되는데
저절로 포커싱이 되서 약간(?) 불편한 경우가 생기곤 한다.

예를들자면 메신저에서 새 프레임이 뜨는 경우
열심히 타이핑하고있는데 불쑥 창 하나 떠서 그쪽으로 포커싱된다면??

-_-;;

이 문제를 해결하기 위해서
삽질하다가 알게된 코드  -_-;

여기서 this 는 JFrame 이다.

포커싱 되지 않게 해 놓은 다음에 보여주고~
포커싱 되게 설정을 해놓는 ..
여러번 테스트 해 봤는데 잘 작동하는것 같다.

[CODE type="java"][tab]this.setFocusableWindowState(false);
[tab]setVisible(true);
[tab]this.setFocusableWindowState(true);
[/CODE]
2007/02/15 22:27 2007/02/15 22:27

: [1] : [2] : [3] : [4] : [5] : [6] : [7] : ... [8] :