이클립스 코드 흉내내기

  "이클립스 플러그인 개발"을 주제로 월간 마이크로소프트웨어 2009년 7월호에 실렸던 글을 공개합니다. 6월호에 실렸던 이클립스 플러그인 개발 시작하기는 플러그인 개발을 처음 시작할 때 필요한 내용을 소개했고, 7월호에서는 『이클립스 코드 흉내내기 - 히스토리 기능 확장』라는 제목으로 기존 이클립스의 코드를 참고해서 흉내내고 확장하는 주제를 다뤘습니다.

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

[책] Git, 분산 버전 관리 시스템 (인사이트, 2010)

git.jpg


  제가 공역한 『Git, 분산 버전 관리 시스템』의 예약 판매가 시작 됐습니다. 책의 표지는 물이 퍼지는 그림으로 "퍼진다 == 분산"이라는 느낌을 표현했군요. 개인적으로는 『프로그래밍 jQuery』에 이은 두 번째 번역서이고 첫 번째 책 만큼이나 독자들의 평이 어떨지 긴장하고 있습니다. 책의 원서인 『Pragmatic Version Control using Git』은 『실용주의 프로그래머』로 유명한 Pragmatic Bookshelf의 시작 시리즈 중 한 권입니다. 책에 대한 소개는 인사이트 출판사의 블로그에 잘 정리된 글이 있으니 참고하세요.

 개인적인 책에 대한 감상은 옮긴이의 글 내용을 일부 발췌해서 대신합니다.

 국내에 CVS가 처음으로 소개되던 때만 해도  버전 관리 도구의 필요성을 인식시키고  도구를 도입하도록 하는 것이 무엇보다 중요했지만, 더 이상 필요성에 대해서 언급하면 조금은 식상할 얘기가 될 정도로 요즘은 버전 관리 도구의 사용이 당연하게 여겨지고 있습니다. 이제는 버전 관리 도구의 필요성을 언급하기 보다는 "어떤 버전 관리 도구를 도입할까?"에 대해서 고민하고 있습니다. 오픈소스 진영에서는 낙관적인 버전 관리를 채택한 CVS에서 원자 커밋을 도입한 SVN 그리고 현재는 분산 버전 관리 도구인 Git이 인기를 얻고 있습니다. 당연한 얘기지만 어떤 버전 관리 시스템을 사용하는냐 보다는 버전 관리 시스템을 얼마나 잘 사용하는지가 중요합니다. 이러한 점에서 Git은 CVS나 서브버전에 비해 활용도가 훨씬 뛰어납니다. 기존의 중앙 집중식 저장소의 경우 네트워크 지원이 필수적이지만, Git은 분산 환경을 지원하며 덕분에 빠릅니다. 게다가 세세한 제어가 가능한 많은 명령어를 제공하며 적은 양의 디스크를 사용합니다. 이미 우수성을 인정 받아 그 결과로 리눅스 커널외에도 안드로이드와 루비 온 레일스를 포함한 많은 오픈 소스 프로젝트가 버전 관리 시스템으로 Git을 선택했습니다.

 이 책은 이렇게 인기를 얻고 있는 Git을 소개합니다. Pragmatic Bookshelf의 실용주의 시작 시리즈(Starter Kit)는 빠르게 훑어보고 바로 시작해보도록 구성되어 있습니다. 원격 저장소와의 통신이나 실제 서버의 구축과 같이 미리 여러 저장소를 구성해야 하거나 설정이 복잡한 주제는 처음부터 다루지 않고, 분산 환경이라는 장점을 최대로 살려서 바로 자신의 컴퓨터에서 버전 관리를 시작해 볼 수 있도록 하고 있습니다. 이 책을 읽으실 독자 여러분은 Git을 처음 시작한다면 서버를 설정하는 것과 같이 복잡한 부분은 필요없으니, 직접 설치해서 예제를 따라하고 많은 연습을 통해 Git을 자신의 것으로 만들기 바랍니다. 처음에는 생소하게 다가오겠지만 사용하다 보면 빠르고 유연한 Git의 매력을 알게되리라 생각합니다. 그리고 원서에는 없는 내용이지만 도움이 될 것 같다는 생각에 Git 저장소로 애용되고 있는 GitHub의 사용법과 통합 개발 환경인 이클립스의 Git 지원에 대해서 부록을 추가 했습니다.

 국내에  분산 버전 관리 시스템을 다루는  서적을 처음으로 소개하는 만큼 한 번 쓰이기 시작한 용어가 표준처럼 굳어지는 경우가 많기 때문에 책을 옮기면서 용어를 번역하는데 특히 가장 많은 고민을 하였습니다. 그 중 하나는 '병합'과 같이 기존부터 사용했지만 평소에는 자주 사용하지 않는 어색한 용어보다는 생활 속에서 더 자주 사용하는 '합치기'와 같은 표현을 사용하려고 노력했습니다. 또한, 용어를 가능한 한글로 사용하려고 하되, 명령어로 사용되는 영어 단어는 특히 분산 버전 관리 시스템에 처음 도입된 명령어들은 그 의미도 중요하지만 명령어 자체가 의사소통의 수단이 되므로 의미를 문장으로 풀어서 설명하되 명령어는 소리나는 대로 적었습니다.

 모든  옮긴이들이 하는 공통적인 고민이겠지만, 저희 눈에는 아직도 부족해 보입니다. 다만 옮긴이들이 책을 번역하며 느꼈던 Git의 놀라움을 많은 분들이 함께 나눌 수 있도록 도움이 됐으면 하는 바람입니다. 분산 버전 관리 시스템의 세계에 오신 것을 환영합니다.


저작자 표시 비영리
Trackback 0 Comment 2

이클립스에서 안드로이드 소스 코드 보기

안드로이드 SDK는 기본적으로 소스 코드와 함께 배포되지 않고 있기에 이클립스 안에서 사용하는 API의 코드를 볼 수 없습니다. 개발 과정에 직접 소스를 보면서 작업하려면 적어도 애플리케이션 개발자가 직접 사용하는 자바 API 수준에서는 함께 배포하면 좋을텐데 말이지요. 이클립스를 깊게 사용하는 분이라면 알고 있을 라이브러리에 소스를 링크해주는 기능도 android.jar 파일에 대해서는 꺼져있습니다.

 이 문제를 다루고 있는 이슈가 등록되어 있으니 불편함을 느꼈다면, 여기서 알아볼 번거로운 작업을 피할 수 있도록 되길 바라며 왼쪽 상단의 별표를 체크하기 바랍니다.

SafariScreenSnapz003.png

 

방법 1

검색하면 몇 가지 방법이 나오는데 그 중에서 가장 쉽게 설명하고 있는 글을 참조해서 소개합니다. 컴퓨터에 Git이 설치돼 있어야 합니다.

 

  1. > git clone git://android.git.kernel.org/platform/frameworks/base.git android-sources
  2. > cd android-sources
  3. > git branch -r
  4.   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를 체크아웃 받았습니다.

  1. > git checkout origin/eclair

 

마지막으로 SDK가 설치된 경로에 체크아웃 받은 안드로이드 소스를 심볼릭 링크로 연결해줍니다.

  1. > cd <안드로이드 SDK 경로>/platforms/android-2.0.1
    > ln -s <소스 코드 경로>/android-sources sources

 

이제 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인해봅니다.

EclipseScreenSnapz006.png

 

방법 2

이클립스에서 소스 좀 보려고 Git까지 공부해서 설치하기 싫다면, 누군가 이미 올려둔 소스로 연결하는 방법이 있습니다. 이 문제에 대한 이슈 페이지 하단에 가면 rjgruet라는 사용자가 올려둔 2.0 소스 코드의 압축본이 있습니다. 다만 이런 링크는 언제라도 깨질 수 있습니다.

  이제 안드로이드 SDK 설치 경로로 가서 하위에 sources 폴더를 만들고, 내려 받은 파일을 해당 폴더에 압축 해제합니다. 그리고 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인하면 됩니다.

 

 

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0
prev 1 2 3 4 5 ... 18 next