'이클립스'에 해당되는 글 7건
- 2010/03/22 안드로이드 이야기 (2010-03-22)
- 2010/01/03 이클립스에서 안드로이드 소스 코드 보기
- 2009/12/26 [eclipse] Smart Compare 플러그인
- 2009/12/06 [eclipse] EclEmma 자바 커버리지 측정 도구
- 2009/12/06 [eclipse] Open External 플러그인
- 2009/12/06 [eclipse] Multi-File History Plug-in
- 2009/12/06 [스크린캐스트] 자바 개발자를 위한 이클립스 3.4 가니메데
안드로이드 이야기 (2010-03-22)
1) 안드로이드 개발환경으로는 IntelliJ IDEA가 좋은 것 같다.
이클립스 플러그인 개발자로서의 자존심을 버리고 개발환경을 IntelliJ로 옮겨 왔다 (아직은 평가판으로 평가 중). 아무리 생각해도 Mac용 이클립스는 여전히 무언가 이상하고, 안드로이드 개발 환경은 이상하게 느리다. IntelliJ는 UI 디자이너를 제공하지는 않지만 어차피 만족스러운 수준이 아닌지라 XML을 편집하게 되는데, XML 편집 기능 만큼은 IntelliJ가 최고다. IntelliJ는 버전 4일 때 정도 써본 것 같은데 아직은 많이 어색하다.
근데 이클립스나 IntelliJ나 자체 Logcat 뷰어에서는 UTF-8을 지원하지 않아서 한글이 깨진다. 당장은 adb logcat으로 보는 편이 좋다 (윈도에서는 명령 프롬프트의 인코딩을 변경해야 한다). 결과는 grep으로 원하는 정보만 잡아서 보자.
2) ViewFlipper로 원하는 페이지 이동하기
Swing의 CardLayout이나 SWT의 PageBook과 비슷한 역할을 수행하는 ViewFlipper는 자칫 이전 페이지/다음 페이지 전환 밖에는 허용하지 않는 것으로 볼 수 있다. showNext()와 showPrevious()와는 다르게 setDisplayedChild()라는 이름으로 원하는 인덱스의 페이지로 이동하는 기능을 제공한다. 이름만으로는 찾기 쉽지 않다. 항상 의심되면 직접 소스를 열어서 확인해보자.
3) 프로그래밍적으로 TextView의 텍스트 색상 변경하기
text.setTextColor(R.color.color1)과 같은 방식으로 색상을 변경할 수 없으니 속지 말아야 한다. text.setTextColor(getResources().getColor(R.color.color1))와 같은 방식으로 색상을 변경한다. 동적으로 색상을 변경할 필요가 없다면 프로그래밍적으로 색상 변경을 하지 않는 편이 좋다. 대신 XML에 선언적으로 정의하는 방식을 이용하자.
이 글은 스프링노트에서 작성되었습니다.
'개발 이야기' 카테고리의 다른 글
| 안드로이드 이야기 (2010/04/13) (0) | 2010/04/13 |
|---|---|
| 안드로이드 이야기 (2010-03-22) (0) | 2010/03/22 |
| 이클립스 코드 흉내내기 (0) | 2010/02/21 |
| 이클립스에서 안드로이드 소스 코드 보기 (0) | 2010/01/03 |
| [eclipse] Smart Compare 플러그인 (0) | 2009/12/26 |
| [Mac] Hex Color Picker (0) | 2009/12/06 |
이클립스에서 안드로이드 소스 코드 보기
안드로이드 SDK는 기본적으로 소스 코드와 함께 배포되지 않고 있기에 이클립스 안에서 사용하는 API의 코드를 볼 수 없습니다. 개발 과정에 직접 소스를 보면서 작업하려면 적어도 애플리케이션 개발자가 직접 사용하는 자바 API 수준에서는 함께 배포하면 좋을텐데 말이지요. 이클립스를 깊게 사용하는 분이라면 알고 있을 라이브러리에 소스를 링크해주는 기능도 android.jar 파일에 대해서는 꺼져있습니다.
이 문제를 다루고 있는 이슈가 등록되어 있으니 불편함을 느꼈다면, 여기서 알아볼 번거로운 작업을 피할 수 있도록 되길 바라며 왼쪽 상단의 별표를 체크하기 바랍니다.
방법 1
검색하면 몇 가지 방법이 나오는데 그 중에서 가장 쉽게 설명하고 있는 글을 참조해서 소개합니다. 컴퓨터에 Git이 설치돼 있어야 합니다.
- > git clone git://android.git.kernel.org/platform/frameworks/base.git android-sources
- > cd android-sources
- > git branch -r
- origin/HEAD -> origin/master
origin/cdma-import
origin/cupcake
origin/cupcake-release
origin/donut
origin/donut-plus-aosp
origin/donut-release
origin/eclair
origin/master
origin/release-1.0
자신이 소스를 연결하려는 브랜치나 태그를 체크아웃 받습니다. 저는 안드로이드 2.0을 이용하고 있으니 origin/eclair를 체크아웃 받았습니다.
- > git checkout origin/eclair
마지막으로 SDK가 설치된 경로에 체크아웃 받은 안드로이드 소스를 심볼릭 링크로 연결해줍니다.
- > cd <안드로이드 SDK 경로>/platforms/android-2.0.1
> ln -s <소스 코드 경로>/android-sources sources
이제 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인해봅니다.
방법 2
이클립스에서 소스 좀 보려고 Git까지 공부해서 설치하기 싫다면, 누군가 이미 올려둔 소스로 연결하는 방법이 있습니다. 이 문제에 대한 이슈 페이지 하단에 가면 rjgruet라는 사용자가 올려둔 2.0 소스 코드의 압축본이 있습니다. 다만 이런 링크는 언제라도 깨질 수 있습니다.
이제 안드로이드 SDK 설치 경로로 가서 하위에 sources 폴더를 만들고, 내려 받은 파일을 해당 폴더에 압축 해제합니다. 그리고 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인하면 됩니다.
이 글은 스프링노트에서 작성되었습니다.
'개발 이야기' 카테고리의 다른 글
| 안드로이드 이야기 (2010-03-22) (0) | 2010/03/22 |
|---|---|
| 이클립스 코드 흉내내기 (0) | 2010/02/21 |
| 이클립스에서 안드로이드 소스 코드 보기 (0) | 2010/01/03 |
| [eclipse] Smart Compare 플러그인 (0) | 2009/12/26 |
| [Mac] Hex Color Picker (0) | 2009/12/06 |
| 이클립스 플러그인 개발 시작하기 (2) | 2009/12/06 |
[eclipse] Smart Compare 플러그인
이클립스에서 이름으로 파일을 찾아서 비교해주는 Smart Compare 플러그인을 공개합니다. 개인적인 용도로 만들어서 사용하다 정리해서 공개합니다.
필요한 이유?
동일한 프로젝트의 두 브랜치에서 동시에 작업하고 생각해보세요. 둘 중 하나의 최신 내용이라도 버전 관리 시스템에 들어있다면 저장소의 리소스와 비교하는 게 가장 빠릅니다. 그런데 둘 다 동시에 작업하고 있고 작업 중인 내용을 서로 비교해야 한다면 어떻게 하나요?
개인적으로는 두 브랜치의 소스 트리를 쭉 펼쳐놓고 해당 리소스를 서로 찾은 다음 Compare With > Each Other를 이용해서 비교했습니다. 바로 그림1과 같이 두 리소스를 비교할 수 있지만, 패키지 구조가 복잡해지고 소스 트리가 길어지면 두 리소스를 비교하는 간단한 작업도 엄청 귀찮아 집니다.
그림1. 기존의 리소스 비교 방식
Smart Compare 플러그인은 ...
이름으로 비교 대상을 검색해서 비교하기에 복잡한 소스 트리를 뒤지지 않아도 됩니다. 그림2와 같이 비교 대상을 이름으로 검색하고 비교하려는 리소스를 2개(상호비교)나 3개(기반 리소스와 다른 두 리소스의 비교) 선택하면 바로 그림3과 같이 Compare 편집기를 실행해주는 간단한 플러그인입니다.
Ctrl + Shift + = 단축키를 누르거나 툴바의 아이콘(Open Type 아이콘 옆에 추가됩니다)을 누르면 대상을 검색하는 창이 뜨고, 여기서 이름으로 검색하고 선택한 대상에 대해 비교해주는 편집기를 실행해주는 간단한 사용방식입니다.
처음 만들었을 때는 이름이 같은 두 브랜치간의 리소스를 비교하기 위해서 만들었지만 서로 다른 이름을 가진 리소스를 비교할 필요도 있기에 "이름으로 검색 > 더블 클릭 선택 (이미 검색된 목록에 추가) > 다른 리소스를 이름으로 검색 > 더블클릭 > 검색창 지우기 > 등록된 대상 선택"의 방식으로 이름이 다른 리소스를 비교하는 기능도 추가해 두었습니다. 이 부분은 좀 더 편리하게 비교할 수 있도록 개선할 생각입니다.
그림2. 이름으로 비교 대상을 찾는 Smart Compare 기능
그림3. Smart Compare로 실행시킨 Compare 편집기
설치하기
이클립스를 실행한 후 Help > Install New Software ...를 선택합니다. 여기서 그림4와 같이 새로운 업데이트 사이트로 http://update.pragmatic.kr을 추가합니다. 추가한 업데이트 사이트를 선택하면 그림5와 같이 세 개의 플러그인을 볼 수 있습니다. 세 개의 플러그인을 볼 수 있습니다. 세 번째 Smart Compare Feature를 선탠해서 설치합니다. 위의 두 플러그인은 Multi-File History 플러그인과 Open External 플러그인으로 이번 플러그인을 올리면서 기존의 잘못된 업데이트 사이트 구조도 정비했습니다.
그림4. 업데이트 사이트 추가하기
그림5. Smart Compare 플러그인 설치하기
소스코드
제가 만들어서 공개하는 모든 이클립스 유틸리티 프로젝트의 소스 코드는 구글 코드 호스팅을 통해서 공개하고 있습니다. 이클립스 플러그인 개발 공부에 필요하다면 소스를 받아서 이용하세요.
이 글은 스프링노트에서 작성되었습니다.
'개발 이야기' 카테고리의 다른 글
| 이클립스 코드 흉내내기 (0) | 2010/02/21 |
|---|---|
| 이클립스에서 안드로이드 소스 코드 보기 (0) | 2010/01/03 |
| [eclipse] Smart Compare 플러그인 (0) | 2009/12/26 |
| [Mac] Hex Color Picker (0) | 2009/12/06 |
| 이클립스 플러그인 개발 시작하기 (2) | 2009/12/06 |
| me2DAY for Android 릴리스 (2009/06/11) (4) | 2009/12/06 |
[eclipse] EclEmma 자바 커버리지 측정 도구
OKJSP의 트렌드 코너에서 EclEmma 코드 커버리지 측정도구에 대한 소개글을 보고 설치해봤습니다. 커버리지는 소프트웨어가 얼마나 구석구석까지 테스트 됐는지 평가하는 척도가 됩니다. 안전도가 매우 중요한 소프트웨어 납품시에는 '커버리지 몇% 이상 달성할 것.'이라는 계약조건이 들어가기도 합니다. 더 길게 설명하면 회사 일이 되버리니 넘어가고, 어차피 자세히 사용해보지 않았으니 간단 평가는 다음과 같습니다.
<화면 1> 이클립스 플러그인의 커버리지 측정
먼저 장점은
- 사용하기 편하다.
- JUnit 테스트 뿐 아니라 일반 자바 애플리케이션 수행 결과에 대해서도 커버리지를 기록한다. 자동화된 테스트 케이스 작성의 어려움을 알고 있기에 엄청난 장점으로 느껴집니다.
단점은
-
커버리지 종류가 단조롭다.
블록 커버리지만을 제공합니다. JUnit 테스트 수행 결과에 대해서 커버리지를 표시하는 Cobertura의 경우 라인 커버리지와 블록 커버러지 그리고 McCabe의 cyclomatic complexity(모듈을 기본 블록 단위로 나눠서 블록과 엣지의 수로 복잡도를 계산하는 공식)도 계산해 줍니다. 더 많은 커버리지 기준을 다루는 도구들도 있지만 대부분 상용이니 언급하지 않습니다.
장점으로 언급한 자바 애플리케이션 수행 지원은 홈페이지를 보니 더 자세한 설명이 있습니다. 단순히 JUnit 커버리지 측정인지 알고 특별한 장점이 없다고 생각했는데 이제 보니 상 받을만 합니다.
- 로컬 자바 애플리케이션
- Eclipse/RCP 애플리케이션
- JUnit 테스트
- JUnit 플러그인 테스트
- TestNG 테스트
- Equinox OSGi 프레임워크
한 가지 의문점은 커버리지를 합치는 기능을 제공하는데 코드가 변경된 영역의 커버리지는 어떤 방식으로 다루는지 궁금합니다.
플러그인 설치는 이클립스 Software Updates 메뉴에서 http://update.eclemma.org/를 등록하면 됩니다. 자세한 설명은 EclEmma 홈페이지를 참조하세요.
이 글은 스프링노트에서 작성되었습니다.
'개발 이야기' 카테고리의 다른 글
| me2DAY for Android 릴리스 (2009/04/25) (0) | 2009/12/06 |
|---|---|
| 자바스크립트 코드 커버리지 측정하기 (0) | 2009/12/06 |
| [eclipse] EclEmma 자바 커버리지 측정 도구 (0) | 2009/12/06 |
| [eclipse] 다중 파일 히스토리 플러그인 업데이트 (0) | 2009/12/06 |
| [eclipse] Aptana Support for Jindo (0) | 2009/12/06 |
| 자바스크립트(JavaScript) 개발환경 확장하기 (0) | 2009/12/06 |
[eclipse] Open External 플러그인
"Open External" 플러그인을 소개한다. 이클립스 작업공간의 특정 경로를 매번 윈도 탐색기를 직접 열고, 명령 프롬프트에 경로를 입력해서 찾아야 하나? "Open External" 플러그인은 자주 반복하는 이런 불편한 동작을 해결하고자, 이클립스에서 선택한 폴더나 파일과 같은 리소스를 윈도 탐색기나 명령 프롬프트 상에서 보여준다.
기존에도 윈도(Windows) 환경에서 이런 유사한 기능을 제공하는 플러그인이 있다. 하지만, "Open External" 플러그인만이 가지는 장점은 다음과 같다.
- 다수의 리소스 동시 선택 가능: 한 번에 여러개의 파일 브라우저나 쉘을 실행한다. 하나씩 선택해서 열지 않아도 된다.
- 맥(Mac) OS X 지원: 기존의 다른 플러그인들이 지원하지 않던 맥 OS X의 Finder와 Terminal 애플리케이션을 지원한다. Terminal 애플리케이션은 사용자의 설정에 따라 매번 새로운 창을 여는 대신에 탭을 활용할 수 있다.
필요환경
- 이클립스 버전: eclipse 3.3 이상
- 자바 버전: Java 5 이상
- 플랫폼: 윈도(Windows)/맥(Mac) OS X
(윈도 XP와 맥 OS X 레퍼드(leopard)에서 시험) - 라이선스: EPL 1.0
설치하기
Open External 플러그인은 이클립스 업데이트 시스템을 이용해서 설치한다.
1. 먼저 "Help -> Software Updates..."를 선택한 다음 "Add Site..."를 선택해서 http://update.eclipsegeek.com http://update.pragmatic.kr을 등록한다.
2. 추가된 업데이트 사이트에서 "Open External Feature"를 선택하고 Install...을 선택해 설치를 완료한다.
사용법
1. Package Explorer에서 파일 브라우저나 쉘 프롬프트에서 확인하고자 하는 프로젝트, 폴더, 파일을 선택한 후 오른쪽 마우스 컨텍스트 메뉴를 띄운다. 사용자의 운영체제에 따라서 맥에서는 Finder와 Terminal 메뉴가, 윈도에서는 Windows Explorer와 Command Prompt 메뉴가 나타난다.
2. 해당 메뉴를 선택하면 시스템에 따라 파일 브라우저와 쉘 프롬프트가 실행된다. 복잡한 자바 패키지를 파일 브라우저나 쉘 프롬프트에서 사용자가 직접 이동하는 작업은 번거로운 작업이었다. 사용자가 한번에 선택한 다수의 리소스에 대해서 모두 실행하므로 여러번 선택해야 하는 번거로움이 없다.
3. 맥 OS 10.5.0의 터미널 애플리케이션이 제공하는 탭 기능을 활용할 수 있도록 새로운 창으로 띄울지, 탭으로 실행할지 설정할 수 있다. (Windows -> Preferences에서 Open External)
지원 예정
리눅스는 GNOME과 KDE 환경을 지원할 예정이며, 맥 OS X 타이거는 탭 기능 활용이 제한된다는 점 이외에는 동작하리라 생각되지만, 타이거 OS를 설치한 머신이 없기에 확인하지 못했다. 맥에서 많이 사용되는 iTerm의 지원과 함께 사용자 지정 애플리케이션을 실행하는 기능을 추후 제공할 예정이다.
문제점/개선사항
1. Open External이라는 최상위 수준의 메뉴를 추가할 것이 아니라 Show In 등 기존 메뉴에 통합하는 것이 효과적일 것이다 (Open With는 파일에 대해서만 활성화 되므로 Show In이 적합). 하지만, Show In은 별도의 확장점을 통해 이클립스 뷰만을 메뉴로 구성하기에 기존의 메뉴 확장 방식으로 삽입이 불가능하다.
소스코드
소스코드는 http://sourceforge.net/projects/eclipse/ http://code.google.com/p/plug-ins/에 공개되어 있으니 SVN 저장소에서 직접 내려받도록 한다. EPL 라이선스에 따라서 자유롭게 이용 가능하다.
관련 페이지
이 글은 스프링노트에서 작성되었습니다.
'개발 이야기' 카테고리의 다른 글
| eclipse 다국어 지원 흉내내기 (0) | 2009/12/06 |
|---|---|
| [eclipse] Open External Plug-in (0) | 2009/12/06 |
| [eclipse] Open External 플러그인 (0) | 2009/12/06 |
| [eclipse] Multi-File History Plug-in (0) | 2009/12/06 |
| [eclipse] Multi-File History 플러그인 (0) | 2009/12/06 |
| [스크린캐스트] 자바 개발자를 위한 이클립스 3.4 가니메데 (0) | 2009/12/06 |
[eclipse] Multi-File History Plug-in
Multi-File History Plug-in
Eclipse manages change history of resources. And you can see the chagnes of a resource. But, there is no way to trace history among resources. 'Multi-File History' plug-in provides the way to see change orders among resources. With this plug-in, you can easily trace the changes you made.
Prerequisite
- eclipse 3.3 or above
- Java 5 or above
- Supported platform: All platforms
- License: EPL 1.0
Changes
Version 1.0.1
- Integrated with 'History View'
- Replace traditional 'Show Local History' action
- Change its name from 'com.eclipsegeek.history.ui' to 'kr.pragmatic.history.ui'
Installation
Multi-File History plug-in provides an update site.
First, select "Help -> Software Updates..."
Second, select "Add Site..." and input the location; http://update.pragmatic.kr
Thrid, check "Multi-File Local History" in the newly added update site. (Current version of Multi-File History plug-in only supports local history.)
Finally, select "Install..." and complete the installation.
Usage
Basically, its usage is almost same as 'Show Local History' capability. Select 'Team -> Show Local History' in the context menu of Package Explorer. You can select a project or many resources including files and folders.
History View shows changes of selected resources. You can see the order of changes among resources.
Coming Soon
CVS support is under development ... Now it works and stay tuned ...
(2010-01-06: It is too slow to use. Therefore, there will be no CVS support.)
Source Code
Source code for this plug-in is available at http://code.google.com/p/plug-ins/. It is free to use this code under Eclipse Public License 1.0.
Vote
If you will like this plugin, please vote for it! Rate this plugin @ Eclipse Plugin Central
Related
이 글은 스프링노트에서 작성되었습니다.
'개발 이야기' 카테고리의 다른 글
| [eclipse] Open External Plug-in (0) | 2009/12/06 |
|---|---|
| [eclipse] Open External 플러그인 (0) | 2009/12/06 |
| [eclipse] Multi-File History Plug-in (0) | 2009/12/06 |
| [eclipse] Multi-File History 플러그인 (0) | 2009/12/06 |
| [스크린캐스트] 자바 개발자를 위한 이클립스 3.4 가니메데 (0) | 2009/12/06 |
| 자바 개발자를 위한 이클립스 3.4 가니메데 (0) | 2009/12/06 |
[스크린캐스트] 자바 개발자를 위한 이클립스 3.4 가니메데
IBM 스크린캐스트 이벤트에 지원하고자 이전 포스팅에서 작성한 자바 개발자를 위한 이클립스 3.4 가니메데를 스크린캐스트로 제작했습니다. 처음으로 만들어본 스크린캐스트라 부자연스러운 목소리(녹음된 목소리도 적응되지 않고, 책 읽는 듯한 부자연스러움도 만족스럽지 않습니다. 다음에 만들면 더 자연스럽게 잘 만들 수 있겠지요?) 등 어설픈 부분이 많지만 글로는 설명되지 않는 부분까지 설명이되리라고 기대합니다.
맥(Mac)에서 스크린캐스트를 제작할 때 도움이 될까해서 추가정보를 남깁니다. 동영상 캡처는 SnapzPro, 스크린캐스트 제작(자막과 음성, 화면 구성)에는 iMovie, 동영상을 flv 포맷으로 변환할 때는 VisualHub를 이용했습니다.
덧. 스프링노트의 정책인 것 같은데 태그가 IBM에서 요구한 dW_screencast로 입력되지 않네요. mncast에는 제대로 입력되었으니 일단은 조건은 충복한 것 같습니다.
이 글은 스프링노트에서 작성되었습니다.
'개발 이야기' 카테고리의 다른 글
| [eclipse] Multi-File History Plug-in (0) | 2009/12/06 |
|---|---|
| [eclipse] Multi-File History 플러그인 (0) | 2009/12/06 |
| [스크린캐스트] 자바 개발자를 위한 이클립스 3.4 가니메데 (0) | 2009/12/06 |
| 자바 개발자를 위한 이클립스 3.4 가니메데 (0) | 2009/12/06 |
| Eclipse 3.1 새로운 사항 (0) | 2009/12/06 |
| 플러그인 스파이(Plug-in Spy) (0) | 2009/12/06 |



