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

안드로이드폰은 화면 회전이 지원된다.

키보드를 열거나 닫으면 가로보기/세로보기로 전환이 되는데,
이때 UI가 새로 그려지면서 Activity의 onDestroy()와 onCreate() 가 수행된다.

위 과정이 수행되고 나면,
Activity 에서 가지고 있었던 변수들(field 도 포함)이 초기 상태로 된다.

만약, 코드에서 Thread를 만들어 돌아가는 중이었다면,
화면 회전을 한 후에는 사라지는 현상이다.

해결방법은 아래를 클릭...

[자세히 보기...]


2009/06/24 16:36 2009/06/24 16:36

요즘들어 이클립스 업데이트 사이트가 엄청 느려졌다..

플러그인이나 업데이트를 하게 될때 이런 현상이 나오면 답답해진다.
(무슨 인내심 테스트도 아니고···)

너무 느리잖아

너무 느리잖아

패키지 리스트를 받아오는 과정인듯한데,
이렇게 느려질정도라면 이클립스 메인에서 받지 말고 미러서버에서 받게 하면 안되나 하는 생각이 든다.

수동으로 이 과정을 해 줄 수 있다.
Help - Software Updates 에 보면
Manage Sites 가 있다.

Export 를 누르면 사이트 목록을 xml 로 저장 할수가 있는데.
업데이트 사이트 목록

업데이트 사이트 목록


저장한  xml 파일을 열어 미러 사이트주소로 바꿔주자
본인의 경우에는 속도가 가장 빨랐던 다음 http://ftp.daum.net/eclipse 로 바꿨다
업데이트 사이트 바꾸기

업데이트 사이트 바꾸기

다시 이클립스로 돌아와서 사이트목록을 Ctrl + A, Remove 를 눌러 전체 사이트를 삭제한다음, import 에서 편집했던 xml 파일을 불러와주자...

Refresh 를 한번 눌러주고(이 과정에서 이클립스 메인 사이트가 다시 추가가 되긴하지만 상관없음), 필요한 플러그인을 설치해보자 .

2009/06/09 16:45 2009/06/09 16:45

알만한 사람이라면 알만한 내용이겠지만,

시게이트 하드 일부 모델중 펌웨어에 결함이 있었다.

생각이 나서 모델명이랑 펌웨어 정보랑 확인을 해보았더니...
사용자 삽입 이미지


두둥!
결함이 있던 펌웨어였다

혹시나 모를 불상사에 대비해
한시간이 넘게 중요 자료를 한뒤,
업글 시디 이미지를 구워서 재부팅을 했다.

FreeDOS로 부팅이 되더니, 전용 업글 프로그램이 뜨면서
업그레이드 작업이 진행되었다
사용자 삽입 이미지


다시 부팅을 해봤는데, 다행이도 데이터는 무사히 들어 있었다.

약간은 번거롭긴 했지만,
불편하게 A/S 센터방문하지 않고도 해결 할 수 있어서 다행이었다.
2009/05/05 00:56 2009/05/05 00:56

며칠전 회사 대리님이 지난번에 노트북 램 업글 하시면서 남은 램이 있는데 필요한 사람 없냐고 물으시길래, 노트북 램 용량 확인해보고 필요하다고 해서 램을 받아왔다. (대리님 잘 쓰겠습니다 (__) )

512MB X 2 -> 1G X 2

사용자 삽입 이미지
몇년전엔 잘 나가는 모델이었는데(LW20-DOX2) ...

사용자 삽입 이미지


사용자 삽입 이미지
교체 완료!

사용자 삽입 이미지
제대로 장착 되었나 확인... 2G

부팅후 cpuz 정보로도 확인을 해봤는데 정상적으로 인식을 하고 있었다.

전보다는 부드러운(버벅대지않는) 노트북 라이프가 기대된다.
2009/04/01 00:32 2009/04/01 00:32

잊을만 하면 한번씩 올라오는 '나는야 버그 제조기' 시리즈 ....

이번에는 최근 진행중이던 프로젝트 중 파일 전송부분을 개선 하는 과정에서 발생했었다.

대용량 파일 전송을 하기 때문에, 파일을 지정한 용량 별로 쪼개고 클라이언트쪽으로 하나씩 보내는 로직이었는데

가뜩이나 대용량인데 그걸 용량별로 쪼개는것도 디스크의 I/O때문에 시간을 많이 소모해서, 실제로는 쪼개지않고 보내는 데이터만 종전과 같이 보내도록 리팩토링을 했다.

그런데, 가상으로 쪼갠 파일을 합쳐서 md5 체크를 하는 단위테스트에서는 성공을 했는데, 네트워크 전송을 하는 테스트는 중간에 InputStream 에서 데이터를 읽지 못해서 에러가 발생하는 현상이 있었다.

한참을 디버깅을 하다가,
혹시(?) 해서 의심해본것이 ~~~~File.setPosition(long position) (파일 이어보내기의 경우, 설정한 위치부터 보낸다)

대략 이런 코드였다 ..

public void setPosition(long position){
 ...
 in.skip( position) ;
 ...



종전에는  파일 클래스 별로 InputStream 이 있어서 저 method 가 이런 버그를 낼 줄은 생각을 못했다. 이번에는 InputStream 공유해서 쓰기때문에, 저 method 를 여러번 호출하게 되면
읽지도 않았는데 그냥 position 만큼 건너뛰면서 읽어서, 나중에는 더이상 읽을 데이터가 없어서 나던 버그였다.

다음과 같이 고쳐줬다 -_-;;

public void setPosition(long position){
 ...
 in.reset();
 in.skip( position) ; 
 ... 


오늘 약간 큰 단위 테스트를 하면서 InputStream 으로 되어있던걸
아무래도 같은 부분이 두번 정도 읽히고 skip 하는경우도 종종 있어서
RandomAccessFile 로 바꾸고
randomFile.seek( position ) ; 으로 바꿨다.

2008/11/14 00:03 2008/11/14 00:03

이클립스를 쓰고 있는 사람들을 보다보면
BUILD_PATH를 JDK가 아닌 기본으로 잡히는 JRE를 쓰고 있는 것을 종종 보게 된다.

쓰는 사람이 별 불편함이 없게 느낀다면 상관없지만,
어쨌든 내 입장에서 보면 불편하다 -_-;;

이번 팁은 며칠 전 릴리즈 된 eclipse ganymede 를 기준으로 진행하겠다.
(이전버전도 별 차이는 없으니 신경쓰지 말자)

Eclipse 3.4!

Eclipse 3.4!!


 

사용자 삽입 이미지
자동완성 목록...

뒤에 인자들이 arg0, arg1, arg2.... 오잉
무언가 이상하다!!

F3 을 눌러 소스코드를 한번 보자..
사용자 삽입 이미지
소스코드 낫 파운드!!

패키지 탐색기쪽을 자세히 보자..
JRE 시스템 라이브러리..

JRE엔 당연히! 소스코드가 없다.
오직 실행만을 위한 Java Runtime Environment 이기 때문이다


JRE
경로를 자세히 보면 java\jre6 으로 되어있는걸 확인할 수 있다.

그렇다면 해결책은?
build path 에 잡혀있는 JRE를 JDK로 바꿔주면 되는것이다....

JDK 설치가 되어있지 않다면, 우선 설치부터 ㄱ

사용자 삽입 이미지
우선 Window > Preferences
사용자 삽입 이미지
Java > Installed JREs
설치된!? JRE 목록...

설치된 JRE들이 아니라 이클립스에서 인식하고 있는 JRE들이다..

Search 를 누르고
자바 디렉토리를 적어준다

사용자 삽입 이미지
확인을 누르면 위에 지정한 위치에서 설치된 JRE들을 검색해서 자동으로 추가해준다.

사용자 삽입 이미지
필자의 시스템에는 여러 버전의 java 가 깔려있어서 여러개가 잡혀있다.

어쨌든 jdk 1.6.0_10 으로 선택하고 OK
사용자 삽입 이미지
경로가 java\jdk1.6.10_10 으로 잡혀있다.

자 그러면 방금전 그 소스코드로 다시 돌아가보자.
사용자 삽입 이미지
arg0, arg1, arg2, 가 아닌
적절한 이름들이 들어가 있는걸 확인할수 있다.

Thread 에서 F3을 눌러서 소스코드를 살펴보자
사용자 삽입 이미지
java 소스코드도 볼 수 있다!

이왕이면 JRE 보다는 JDK로 잡아놓고 개발하는 것이 편하지 않겠는가!


어쨌든, 문제 해결!
2008/07/06 00:35 2008/07/06 00:35

자바 프로그래밍을 할때 손으로 소스코드를 타이핑해가면서 UI를 디자인 하기에는 그리 쉬운일은 아니다.

Visual Studio 같은 IDE에서는 기본으로 UI 디자인을 쉽게 할 수 있다.
Netbeans 도 있긴하지만 외부 패키지를 import 해서 써야하므로 좀 껄끄럽다.
이클립스에도 이러한 플러그인이 있으니,
 알만한 사람들은 알만한 이클립스의 visual editor 플러그인

UI 디자인을 쉽게 할 수 있는 툴이다
visual editor

이 플러그인이 이클립스 3.2에서는 쉽게 설치가 되었으나, 3.3으로 넘어가면서 약간 까칠해졌다 -_ -;

지금부터 설치 방법을 적어보도록 하겠다.
이클립스 다운로드
일단 설치과정에 사용한 이클립스 버전은 3.3.. IDE for Java Devlopers 으로 했다.
사실 어느 패키지를 사용해도 별 문제가 없다.

이클립스 프로젝트에 보면 VEP가 있긴한데 그 곳은 오래된 버전이라, Visual editor 위키페이지에 설치방법이 나와있다.
Visual editor 다운로드
http://www.ehecht.com/eclipse_ve/ve.html 에 가서 위 파일을 받는다.
사용자 삽입 이미지
다운받은 파일들 압축을 적당한 곳에 푼다.

이클립스 실행!
eclipse!!
자 이제 본격적으로 VE(Visual editor)를 설치할 차례다.

메뉴의 Help > Software Updates > Find and Install...

Search for new features to install 선택
New Local Site 버튼을 눌러 Visual Editor 플러그인의 압축을 푼 폴더를 선택해준다.
업데이트 사이트는 아래에 선택되어있는 Europa Discovery Site와 방금 추가한 로컬 사이트를 선택해준다.

나머지는 스샷을 보고 따라하면 별 무리 없을것이라 생각된다.
사용자 삽입 이미지
미러 서버 선택후 패키지 정보를 받아오고 나서 Visual Editor 선택하면 의존성 에러가 난다

사용자 삽입 이미지

당황하지말고 Select Required 를 눌러보자...
오류가 사라지지 않는다면 아래 화면처럼 Europa Discovery Site 를 펼친뒤에 다시 Select Required 를 눌러본다(필요한 패키지들이 자동으로 선택될 것이다).
사용자 삽입 이미지
다시 Select Required 를 눌러보면 위와 같이 선택이 되면서 의존성 문제가 해결된걸 볼 수 있다.(이건 이클립스 버그인듯 하다 -_-)

이후에는 프로그램 설치하듯이 진행하면된다.

설치가 끝나면 이클립스를 재시작 할거냐고 묻는데 재시작을 해주자.

설치가 끝났으니 테스트 -_-)/
아래 그림들은 프로젝트 생성하는 과정이다.
사용자 삽입 이미지
Visual Editor 플러그인을 설치하고 위와 같이 New > Other... 를 눌러보자

사용자 삽입 이미지
VIsual Class 가 있다!!
그 외에도 밑에 AWT/Swing/SWT등등이 있으니 적절히 써보도록 하자.

사용자 삽입 이미지
Visual Class 를 선택한 화면
스타일에서 Swing - Frame 를 선택, 클래스 이름과 몇가지 옵션을 선택해줬다.

Visual Editor 가 적용된 Eclipse

Visual Editor 가 적용된 Eclipse

Palette 윗부분의 ◀ 버튼을 누르면 익숙한 UI가 나타난다.

사용자 삽입 이미지
JFrame 위에서 오른클릭을 해서 레이아웃을 설정하는 모습.

사실 자바 책같은곳에 보면 대부분 Layout Manager 를 사용해서 코딩을 하지만,
null 을 선택하게되면 원하는 위치에 Swing Component들을 배치 할 수있다.
하지만 웬만하면 레이아웃 매니저를 쓰는걸 권장하고 싶다.

사용자 삽입 이미지
null 레이아웃 상태.. JButton을 배치해보자!

사용자 삽입 이미지
버튼 이름을 물어보는데 가급적이면 이런 이름들은 아무렇게나 적지말자 ;
간단한 프로그램 같은 경우는 무시해도 되겠지만,
규모가 커질듯한 프로그램이나, 여럿이서 공동작업을 한다고하면 .....

버튼을 만들었으니 이벤트를 연동 해보자!

사용자 삽입 이미지
setText 라는 메뉴가 있긴한데,
한글로 적으면 제대로 입력이 되질 않는다 -_-;
밑의 프로퍼티에 입력을 하거나, 코드상에서 직접 써주자.

버튼에서 오른클릭 > Events 에 가보면 눈에 익은 문구가 하나 보인다
actionPerformed ! 버튼에 대한 기본 동작인데...
Add Events 를 선택해보면 AddKeyListener, MouseListener 등등 여러가지들이 나온다.
어찌되었건 기본 동작인 actionPerformed 를 선택

사용자 삽입 이미지
JOptionPane 을 이용해서 메세지 박스를 띄우는 코드를 집어넣었다.



실행해보자!!
사용자 삽입 이미지
버튼을 누르면 예상했던대로 메세지박스가 뜬다!

하지만 이 플러그인으로 디자인을 하고 소스코드를 보면 상당히 지저분해지기(컴포넌트 하나 추가할때마다 get~~~~~~ 이런 method 가 생김) 때문에, 생성된 코드를 직접  정리 해주는것이 좋다.


참 쉽죠?

참 쉽죠?


2008/05/17 01:28 2008/05/17 01:28

일반 사용자라면 잘 느끼지 못하겠지만
파일 이름이 . 으로 시작되는 파일을 종종 보게 된다

보통 linux 에서 앞에 .을 붙이면 hidden 속성으로 되며,
윈도우에서는 리눅스 만큼은 아니지만 쓰이고 있긴 하다(이클립스 워크스페이스 설정 저장 디렉토리 등)

irc 에서 린돌옹이 윈도우에서 파일이름이 .으로 시작되는 녀석들이 압축이 안된다고 하시길래 알게 된 사실이다.

안된다는 말에 필지도 직접 실험해봤다

새 텍스트 문서를 해서 파일 이름을 바꾸려고 하니...
두둥!!
사용자 삽입 이미지
새 폴더를 만들고 이름 바꾸기를 해도 같은 메세지가 떳다 -_-;;

일단 파일 몇개는 만들어놓고, command 창을 띄워 ren 명령으로 변경을 해 보았다.
ren 명령으로는 잘 바뀌는데 윈도우 탐색기에서는 왜 안되는건지...

어찌되었건 .으로 시작하는 녀석들이 담긴 폴더를 자주 쓰는 압축프로그램인 빵집으로 압축해보았다.
압축된 파일을 열어보니 파일이름이 .으로 시작되는 파일이 들어가있지 않았다!!

알집으로 하면 .으로 시작되는 파일들이 압축된다고 어떤분이 이야기 하셨는데 필자는 알집을 사용하지 않으므로 패스하도록한다.

다음에는 7z 로 zip 압축을 해보았다.
압축파일 내용을 보니 .으로 시작하는 파일들도 잘 들어가 있었다.



이 사건(?)을 겪으면서, 윈도우 탐색기에서 .으로 시작되는 파일로는 변경을 못한다는 버그(?)를 발견했으며, .으로 시작되는 파일들을 압축할때는 잘 압축 되었는지 확인을 해야한다는 점을 알게 되었다.
2007/11/14 00:15 2007/11/14 00:15

몇년전에 윈도우 98을 쓸쩍에는 30분정도에 윈도우 재설치에다가, 전에 쓰던 환경까지 거의 세팅을 할 수 있었으나,

점점 커지는 OS와 프로그램의 크기때문에 점점 세팅시간이 길어져서
최근엔 문제가 생기면 무조건 포맷을 하기보다는,
문제점을 찾아 고치는 방향으로 쓰고있었다.

심지어는 지난번 하드를 추가 했을때에는 윈도우 설치하기가 두려워서
고스트를 이용해서 윈도우 파티션을 옮기기도 했었다.

하지만
그것도 한계에 다다른듯해서 (고질적으로 안되는것도 점점 늘어나고 윈도우 설치한지도 까마득해서) 큰 마음을 먹고 재설치를 하기로 했다.

거의 3년쯤 그대로 쓰고있었던가 -┎

C 의 root 에 있던 여러 폴더,
Documents and Settings 에 있던 내용,
Program Files에 보이던 중요 폴더 몇개

이정도쯤해서 다른파티션으로 복사해두고
작업을 시작했다

포맷을하고, 윈도우를 설치하고 -_- 백업했던거 복구하고
쓰던 프로그램들을 설치하면서 뭔가 빼먹은것이 있다는것을 뒤늦게서야 알게되었다

포스트잇 프로그램으로 쓰고있었던 유틸리티 데이터를 빼먹었던것이었다
좀 타격이 컸다 -_-;

다음으로는 캐논 유틸리티 (ZoomBrowser EX)
그 유틸을 찾으러 캐논 홈페이지를 찾아가봤지만 설치 프로그램은 찾을수 없고 업데이트만 존재했다 이건 뭐 시디 잃어버리면 어쩌라는건가!
(실제로 네이버 KIN중에서도 이런 상황에대해서 질문을 올려놓은게 있었다)
구글링을 하던중 방법을 찾긴 찾았는데,
오래전 버전의 줌 브라우저 EX를 설치하고, 최신업뎃 파일을 받아 실행하라는 내용이었다.

다행히도 구글링을 해서 그 파일을 찾을 수 있었다.

다음 부터는 Program Files 까지 통채로 백업을 하던지
C드라이브를 통째로 백업하던지 해야겠다.


그 외에도 몇가지 있긴했었지만 이번 포스트는 이쯤해서 -┎

2007/08/18 23:58 2007/08/18 23:58

자테온 0.22b 와 0.17a 를 릴리즈 합니다.

아시는분은 아시겠지만 0.2x 버전은 swt 를 이용한것이고
0.1x 버전은 swing 을 이용한것입니다.

swt 가 지원되지 않는 환경이나, swing 버전을 원하시는 분들이 간혹계셔서
swing 버전을 이렇게 릴리즈 하게 되었습니다.

간혹 로그인이 안된다고 하시는 분들이 계신데,
테스팅 해 주실수 있으신분들은 자테온 포럼에 글을 남겨주시거나 쪽지를보내주시면 감사하겠습니다.

0.17a 버전 변경사항은 README_swing.txt 파일을 보시면 되겠습니다만,
리소스 (아이콘 이미지, 사운드) 파일들을 jar 밖으로 분리했습니다.
Look and Feel 버그를 수정했고,
pure java code를 목표으로 했기때문에 JNI를 사용해서 구현했던 트레이는 뺐습니다.

0.22b
리소스 파일을 분리했습니다.
대화창 포커싱 문제 고쳤습니다 -_-
그룹관련 기능 추가했습니다.
기타 수정사항은 README.txt 파일을 읽어보세요

jateon 0.22b

자테온은 포럼에서 구하실 수 있습니다.
http://jateon.kfmes.com

2007/07/19 02:51 2007/07/19 02:51

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