'개발관련'에 해당되는 글 100건

  1. 2011/12/19 64비트 윈도우에서 현재 프로그램이 64비트로 동작 중인지 확인하기
  2. 2011/12/18 안드로이드 Lint 초기 경고 없애기
  3. 2011/12/17 안드로이드 개발환경 설정이 쉬워졌다
  4. 2011/10/17 우분투 리눅스 화면이 깜빡인 후 뻗을 때
  5. 2011/09/09 Android 에서 AppWidget 을 개발할 때 유의점 (2)
  6. 2011/09/02 eclipse marketplace 를 이용하자 - Use eclipse marketplace (2)
  7. 2011/08/24 Ubuntu 11.04 Unity 에서 파일 복사할 때의 깨알같은 좋은 기능
  8. 2011/08/16 ubuntu linux 에서 subclipse 로 ntfs 에 있는 repository 로 svn 사용시 chmod error ( chmod error when using ubuntu linux and subclipse on ntfs repository)
  9. 2011/07/16 eclipse indigo cdt 에 Microsoft Visual C++ 환경 설정하기 (2)
  10. 2011/06/02 제임스 고슬링의 자바를 읽으며...
2011/12/19 20:36

64비트 윈도우에서 현재 프로그램이 64비트로 동작 중인지 확인하기



 작업 관리자를 띄웠을 때 자신의 프로세스 옆에 *32 표시가 있으면 32비트 모드로 실행되는 것이다. ( http://en.wikipedia.org/wiki/Windows_XP_editions#Windows_XP_64-Bit_Edition ) 참고.

ps : ZViewer 가 32비트로 실행되는구나... 64비트도 한번 빌드해봐야 할 듯 :) 
Trackback 0 Comment 0

Trackback : http://blog.wimy.com/trackback/382 관련글 쓰기

2011/12/18 14:50

안드로이드 Lint 초기 경고 없애기

 안드로이드 개발툴의 최신 버젼(ADT 16버젼 - 2011년 12월)에는 Lint 라는 툴이 추가되었다. 설치 후, 화면에 아래와 같은 아이콘을 클릭하면, Lint 를 실행하여 잠재적으로 문제가 있는 부분을 알려주게 된다.




 그런데,  웃긴건 안드로이드 기본 프로젝트를 생성해도 위와 같은 경고를 보여준다는 것이다. 위 내용을 읽어보면, drawable-xhdpi 라는 density 가 없다는 것인데, 요즘 고해상도 폰이 많이 나오면서 높은 해상도를 지원하라는 의미로 받아들이고, 일단 res 디렉토리 아래에 drawable-xhdpi 를 만들고, 임시로, drawable-hdpi 의 이미지 파일을 넣어보자. 그러면....


 위와 같이 해상도 크기가 다르니 어쩌고 저쩌고 한다.... 에잇 그래서 대충 뒤져보니, http://developer.android.com/guide/topics/resources/providing-resources.html 의 중간쯤을 보면, ldpi, mdpi, hdpi, xhdpi 이런 부분을 보면 3:4:6:8 의 크기로 하라는 얘기가 있다. 즉, ldpi:mdpi:hdpi:xhdpi = 3:4:6:8 로 하라는 이야기이다.


 기존의 우리가 새로 만든게 xhdpi 이므로, mdpi 에 있는 아이콘 크기의 2배로 하면 되겠다. 그래서 mdpi 의 크기를 보면 기본적으로 48x48 이므로, 우리는 96x96 크기의 아이콘을 만들어서 넣어주면 되겠다.

 이제 Lint 를 다시 실행시켜보면 깔끔하게 하나의 경고도 없는 것을 볼 수 있다.

 아마 ADT 최신 버젼이 나오면 알아서 xhdpi 용 아이콘을 넣어주지 않을까 싶지만, 임시로 이렇게 해서 깔끔하게 Lint 사용을 시작해보자~














 
Trackback 0 Comment 0

Trackback : http://blog.wimy.com/trackback/381 관련글 쓰기

2011/12/17 23:49

안드로이드 개발환경 설정이 쉬워졌다

 어느샌가(ADT r14 버젼 이 후) 이제 eclipse 의 플러그인인 ADT(Android Development Tool)만 설치하면 아래 화면과 같이 최신 SDK 를 쉽게 설치할 수 있게 되었다.


 기존에는 SDK 를 직접 받아서 설치하고, ADT 를 설치해야했지만, 이제 ADT 만 설치하면 ADT 를 통해서 쉽게 SDK 도 설치가 가능해졌다. ( http://tools.android.com/recent/welcomewizard ) 참고. 

 이제 초보 안드로이드 개발자들은 Java -> eclipse -> ADT 만 기억하면 된다~  
Trackback 0 Comment 0

Trackback : http://blog.wimy.com/trackback/380 관련글 쓰기

2011/10/17 23:36

우분투 리눅스 화면이 깜빡인 후 뻗을 때


 ctrl + alt + f1 을 눌러서, 콘솔창을 띄운 후, 로그인을 하고,

 top 명령을 지켜보면, compiz 와 Xorg 가 1,2 순위 왔다갔다하면서 CPU 를 90% 넘게 잡아먹는게 보입니다. 조금 지나면 얘들이 사라지는데,
 이 때 ctrl + alt + F7 을 눌러서 GUI 로 돌아온 후, 바탕화면에 오른쪽 클릭해서 '터미널에서 열기' 후, compiz 를 실행하면, 그나마 제대로 돌아옵니다.

 일단 상황을 보니 그래픽카드와 compiz 와의 충돌로 보이는 것 같습니다. 아직 compiz 가 좀 불안한데, 이 녀석이 없으면 사용성이 좀 떨어지다보니(창을 화면의 제일 위로 이동시 전체 화면 등)... 일단 이대로 써야할듯;;

 
Trackback 0 Comment 0

Trackback : http://blog.wimy.com/trackback/378 관련글 쓰기

2011/09/09 22:17

Android 에서 AppWidget 을 개발할 때 유의점

 AppWidget 은 http://developer.android.com/guide/topics/appwidgets/index.html 에 있는 것처럼 꽤 쉽게 개발을 시작할 수 있다. 하지만, 직접 개발하다보면 꽤 개발이 힘든데, 바로 UI 를 설정하지 못하고, RemoteViews 를 써야한다는 점과 몇몇 UI component 는 쓸 수 없다는 점에서 그렇다.

 그리고 개발 중에 계속 뭔가 이상하게 계속 broadcast receiver 가 제대로 동작하지 않아서 좀 고생했는데, 원인은 의외의 곳에 있었다. 바로 AppWidget 에서 처음에 한번 호출되는 onEnabled 함수가 제대로 호출되지 않는 것이다(이 함수 안에서 boradcast receiver 를 등록하고 있었음). 근데 이게 늘 호출안되었으면 바로 알았을건데, 개발 중에, re-install, 즉, 이미 내가 만든 AppWidget 이 떠있을 때 다시 설치(eclipse 에서는 그냥 Run As)를 하면 onEnabled 는 안 불린다는 것이다... -_-;

 이미 설정되어 있는 AppWidget 을 길게 눌러서 휴지통에 버리고, 다시 AppWidget 을 Home Screen 에 넣어줘야 onEnabled 가 제대로 불린다. re-install 시에 이미 놓여진 AppWidget 을 자동으로 휴지통에 버려줬으면 당연히 다시 넣으면서 onEnabled 가 제대로 불렸을 건데 쩝... 자동으로 화면이 잘 업데이트되길래 제대로 로그 확인을 안해봐서 좀 헤맨듯 ㅠㅜ

결론 : AppWidget 개발시에는 Run As 후, appwidget 을 휴지통에 넣었다가 다시 설정해줘야 onEnabled 가 제대로 호출된다. 


Trackback 0 Comment 2

Trackback : http://blog.wimy.com/trackback/374 관련글 쓰기

  1. 2011/11/29 13:49 address edit & del reply

    비밀댓글입니다

    • Favicon of http://blog.wimy.com BlogIcon zelon 2011/11/30 23:06 address edit & del

      구글이 문서의 화면을 확 바꾼후 메뉴가 이동되었네요. 파일 -> 웹에 게시 를 하시면 됩니다. 메일로도 답변 드렸습니다 ^^

2011/09/02 23:15

eclipse marketplace 를 이용하자 - Use eclipse marketplace

eclipse marketplace 기능이 들어온지도 어느 정도 지났는데(Helios 부터 추가되었음), 각종 글들이 아직도 url 을 넣는 방식으로 설명하고 있다. 좀 아쉬운 상황.

이제는 유명한 플러그인이라면, marketplace 에서 검색해보자~


 위와 같이 Help -> Eclipse Marketplace 를 클릭하자.



 간단히 Find 창에 원하는 플러그인을 검색하면 바로 install 이 가능하다.

 PyDev(python 개발환경), Subclipse(subversion 사용), FindBugs(Java 버그 찾기) 등은 이와 같은 방법을 통해 쉽게 설치할 수 있다.

 유명한 플러그인이라면서 번거롭게 홈페이지에서 설치 url 을 찾기 위해 시간을 낭비하지 말자~!!
Trackback 0 Comment 2

Trackback : http://blog.wimy.com/trackback/373 관련글 쓰기

  1. 언성 2011/09/27 14:44 address edit & del reply

    이거 lixux만 되는것임?

    • Favicon of http://blog.wimy.com BlogIcon zelon 2011/10/03 12:22 address edit & del

      아니 윈도우도 됨 ㅋ

2011/08/24 23:56

Ubuntu 11.04 Unity 에서 파일 복사할 때의 깨알같은 좋은 기능

 하드디스크를 정리하다가, 문득 못보던 아이콘이 있어서 확인해보니, 정말 소소하지만 사용자 편의를 도와주는 기능을 발견했다.


 바로 위의 화살표인데, 아래와 같이 파일 동작(복사, 이동 등) 중이면 위의 아이콘이 생긴다. 그리고 이 아이콘을 클릭하면 복사 대화창 보이기라는 명령을 내릴 수 있는데, 이 명령을 내리면, 아래의 창이 다른 창에 가려 안 보이더라도 앞으로 보여준다.


 시간이 오래 걸리는 복사/이동 등의 명령을 내려놓으면, 언제 끝나나, 다 끝났나 하는 마음으로 한번씩 창을 뒤져서 저 창을 보거나, 늘 보이는 위치에 저 창을 위치 시켜놓는데, 이런 아이콘을 하나 보여주고, 창을 앞으로 옮겨주도록 해놓아서 꽤 편리하게 사용할 수 있었다.

 리눅스로 데스크탑 환경을 옮기면서 꽤 마음에 드는 기능~~

 
Trackback 0 Comment 0

Trackback : http://blog.wimy.com/trackback/372 관련글 쓰기

2011/08/16 21:47

ubuntu linux 에서 subclipse 로 ntfs 에 있는 repository 로 svn 사용시 chmod error ( chmod error when using ubuntu linux and subclipse on ntfs repository)

 우분투 리눅스에서 eclise & subclipse 로 svn(subversion) 사용시 commit 시에 chmod 를 할 수 없다면서 에러를 낼 경우에는 다음과 같이 SVN interface Client 를 바꾸면 해결이 된다. 만약 Client 에 SVNKit 이 없다면, subclipse 설치시에 SVNKit 모듈을 설치했는지 확인하자.

 
 If you face a error related chmod when using subclipse on ntfs repository, try to change SVN interface Client to SVNKit. If there is no SVNKit, please check installed module of subclipse. :)

 
Trackback 0 Comment 0

Trackback : http://blog.wimy.com/trackback/371 관련글 쓰기

2011/07/16 09:34

eclipse indigo cdt 에 Microsoft Visual C++ 환경 설정하기

 indigo 의 cdt 부터는 toolchain 에 Microsoft Visual C++ 설정이 포함되어 있다. 그런데 이 설정이 path 가 제대로 설정되지 않아 제대로 컴파일이 되지 않는다(incubation tool 인듯.. 아마 sr1 쯤 나오면 수정될지도?).

 여튼, 빌드 시에 다음과 같은 에러를 낸다면,
 
MSVCRT.lib(crtexe.obj) : error LNK2019: unresolved external symbol __imp__HeapSetInformation@16 referenced in function ___tmainCRTStartup
MSVCRT.lib(crtexe.obj) : error LNK2019: unresolved external symbol __imp__EncodePointer@4 referenced in function _pre_c_init
MSVCRT.lib(atonexit.obj) : error LNK2001: unresolved external symbol __imp__EncodePointer@4
MSVCRT.lib(atonexit.obj) : error LNK2019: unresolved external symbol __imp__DecodePointer@4 referenced in function __onexit


 메뉴의 Project -> Properties 에 가서, C/C++ Build -> Environment 중에서 INCLUDE, LIB 항목을 살펴보자.

만약 VC++ 98, VC++ 2010 등 여러 툴이 깔렸다면, INCLUDE, LIB 를 그 중에서 하나만 참조되도록 맞춰주자. 즉, 경로를 VC++ 2010 만 참조하도록 수정.
 예를 들어 경로에 C:\Program Files\VC98;C:\Program Files\VC2010 이렇게 98과 2010 이 섞여있다면, VC98 관련은 제거하자.

 이렇게 수정한 후에 다음과 같은 에러가 난다면,

LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

 LIB 경로에 다음 경로(디렉토리명은 자신의 환경에 따라 다를 수 있음)를 추가(!)해보자.

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib


 결론은, 경로 설정을 잘하자. ^^/


ps : eclipse cdt 가 이제 Microsoft Visual Studio toolchain 을 제공해준다. 좋구나 -_-/
Trackback 0 Comment 2

Trackback : http://blog.wimy.com/trackback/365 관련글 쓰기

  1. 김도형 2011/11/09 14:49 address edit & del reply

    CDT VC++ 지원에서 전 include path에 공백 들어가니까 컴파일 자체가 안되고 "..."로 감쌀 수도 없고 그래서 make로 갔더니 Makefile 자동 생성 쪽도 뭔가 문제가 있고 해서 makefile 직접 만들까 하다가 그냥 MinGW로 갔습니다. 별 문제 없으셨는지요?

    • Favicon of http://blog.wimy.com BlogIcon zelon 2011/11/17 13:12 address edit & del

      네. 저는 위와 같은 방법으로 했을 때 별다른 문제가 없었습니다. 근데 일반적으로 VC 가 Program Files 라는, 공백이 있는 경로에 설치될건데, 공백문제가 있다니 좀 의아하긴 하네요.

      다음에 다시 해볼때 관련 문제가 생기는지 확인해봐야겠네요.

2011/06/02 11:32

제임스 고슬링의 자바를 읽으며...

 Java 는 학교 때 배우고, 틈틈이 혼자 보기도 해서 어느 정도 안다고 생각했는데.. 아래의 내용들을 이 책에서 얻을 수 있었다.

 break [label], continue [label] 기능이 있다. 중첩 loop 을 한번에 벗어난다는!!!

 UI thread 의 우선순위가 background thread 보다 높아야 좋다. UI thread 는 어차피 wait 상태일 것이기 때문에, 우선순위가 background thread 보다 높아도 큰 상관이 없으며, 빠른 반응 속도를 보장할 수 있다!! 아.. thread 의 우선순위가 이렇게 와닿는 거였구나... 난 여태 thread 를 대부분 server programming 하면서만 써서 이런 의미를 부여할 수 있는 줄 몰랐음;;


 
Trackback 0 Comment 0

Trackback : http://blog.wimy.com/trackback/364 관련글 쓰기