출처 : Outsider's Dev Story https://blog.outsider.ne.kr/
앞에서 포스팅[개인 후기여서 가져오지 않았던 포스팅..] 했던 대로 저는 이 책의 베타리더로 작년에 초안을 미리 읽었었습니다. 저자만큼은 아니겠지만 베타리딩을 하면 왠지 더 책에 정감이 가게 되는것 같습니다. 베타리딩을 한 것을 초안이었기 때문에 책을 받고 다시 읽어보았습니다. 전체적으로 흐름도 깔끔하고 내용도 명확하게 잘 정리되어 있다는 느낌입니다.
메이븐은 현재 국내에서도 많이 보급이 되고 있다는 느낌이 있기는 하지만 전체적으로 보면 아직은 도입시기로 기술을 선도하거나 새로운 기술을 잘 받아들이는 조직위주로 많이 쓰이고 있다고 생각하고 있습니다.(메이븐이 최고다라는 의미는 아닙니다.) 하지만 대부분의 오픈소스 프로젝트를 받아서 사용하려고 보면 상당수가 메이븐을 사용하고 있기 때문에 자신의 프로젝트에서 메이븐을 쓰지 않는다고 하여도 메이븐에 대해서 익혀볼 가치는 충분하다고 생각됩니다.
이 책의 전개는 메이븐의 사용법을 열거한 레퍼런스 타입은 아니고 박재성님이 위키북이라는 프로젝트를 진행하면서 메이븐을 사용하기로 결정하고 프로젝트를 진행하면서 단계별로 메이븐을 테스트하고 작용하면서 확장해 나가는 단계를 프로젝트 진행 타임라인대로 설명해 놓은 책입니다. 단순히 메이븐에 대한 사용법뿐만 아니라 프로젝트를 진행중 메이븐을 도입하면서 고민했던 부분이나 프로젝트에서 발생한 이슈들을 메이븐으로 어떻게 풀어나갔는지에 대한 고민이 그대로 담겨져 있습니다. 이러한 부분들은 다른 프로젝트에서도 충분히 공통적으로 발생할 수 있는 이슈들이기 때문에(사실 일반적으론 이정도도 고민을 하지 않죠. ㅎ) 현재 프로젝트에 메이븐을 적용하려고 한다면 정말 많은 도움이 될 수 있을 꺼라고 생각합니다.
메이븐에 대한 설명은 터미널에서 명령어로 사용하는 것을 위주로 되어 있습니다. 메이븐을 쓸 때 이클립스에서 많이 쓰는 m2eclipse에 대해서는 한 챕터정도만 설명이 되어 있을 뿐이고 중간중간 약간의 가이드만 되어 있을 뿐이고 대부분은 직접 터미널에 명령어를 입력해서 사용하는 것으로 설명하고 있습니다. 저를 포함해서 대부분의 개발자들이 GUI툴에 익숙하고 거의 GUI툴만 쓰기 때문에 이런 부분은 직접 와닿지 않고 약간 돌아가는 느낌이 있을수 있지만 개념을 잡기에는 터미널을 위주로 설명하는 것이 훨씬 좋다고 생각합니다.
저도 최근에는 터미널을 많이 사용하지만 메이븐은 거의 m2eclipse로만 사용하고 있었습니다. 사실 m2eclipse는 그리 안정적인 플러그인이 아니라서(써보신 분들은 아실듯...) 문제가 생기면 해결하기 위해서 터미널로 가서 mvn eclipse:eclipse를 입력하곤 했지만 이 명령어가 무슨 의미인지도 잘 모르고 사용했습니다. GUI툴은 사용하기는 편리하지만 개념을 잘 잡고 있지 못하고 쓸때는 문제가 생기면 정말 해결하기가 어려운 편인데 이 책에서 명령어로 일일이 설명해 주고 있기 때문에 설사 m2eclipse를 쓰고 있다고 하더라도 메이븐의 동작 개념을 잡기가 정말 좋습니다.(물론 연습도 터미널로 하면 이해하기가 훨씬 좋겠죠. ㅎ) 저도 앞으로는 이 책을 참고삼아 터미널 위주로 사용을 하려고 하고 있습니다.
저는 Ant도 제대로 써본적이 없어서 잘 모르지만 Maven은 많은 부분이 자동화되어 있어서 처음에 동작원리를 배우기가 어려운 부분이 있습니다. 하라는대로 하니까 프로젝트 설정이 되기는 했는데 어떻게 된건지 잘 모르는 상황인거죠. 하지만 어느정도 사용하다보면 리아브러리 디펜던시관리나 프로젝트 설정관리등이 너무 편하고 공유하기에도 좋아서 금새 빠져들게 됩니다. 처음 메이븐을 접했을 때는 자료도 많지 않고 공부하기가 어려웠었는데 현재 국내에는 번역서인 Maven : Sonatype이 만든 Maven 핵심 가이드 다음으로 나온 두번째 메이븐에 대한 책입니다. 먼저 나온 책을 아직 보지는 않았지만 이 책에서는 단순히 메이븐에 대한 사용법이 아닌 메이븐의 개념을 알려주려고 하는 노력이 많이 느껴지기 때문에 그 개념을 제대로 공부한다면 차후에 메이븐을 더 다양하게 활용할 수 있을것이라고 생각됩니다.
My Comment..
메이븐이라는 것은 과거부터 얘기만 들었지 내가 써본적은 없다.. 그래서 해당 글은 좀 고민을 하다가 갖고 왔다.. 글에 언급된 Ant 는 직접적으로 관여해서 썼다기보다는 누군가 해둔 것을 잠시 활용만 해봤던 적은 있다.. 그러다보니 개념은 안드로메다에 있는 실정이고.. ㅎㅎ..
[Info]Tags categorized posts and contents patterns..
[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...
2016년 3월 25일 금요일
2016년 3월 14일 월요일
[EP]제10회 KSUG 세미나 #2..
출처 : Outsider's Dev Story https://blog.outsider.ne.kr/
스프링 by 봄싹
- 백기선 (봄싹)
이 세션은 봄싹스터디에서 스터디를 운영하면서 스프링등의 기술을 이용해서 사이트를 구축하면서 생긴 노하우를 가지고 봄싹사이트에 대한 구조 설명과 간단한 기능추가에 대한 라이브코딩으로 진행되었습니다. 스프링의 DispatcherServlet, HandlerMaping, HandlerAdapter, ViewResolver의 동작에 대한 것을 소녀시대멤버로 맵핑하여 설명해서 사람들에게 큰 흥미를 이끌었습니다.
라이브 코딩은 봄싹에서 사용중인 아틀라시안의 컨플루언스 위키에 새로운 글이 올라왔을때 관리자가 수동으로 리플래시를 실행하면 봄싹사이트에 최신글이 뜨도록 가져오는 기능을 개발하였습니다. 이미 존재하는 시스템이기 때문에 URL맵핑 및 Controller부터 DB나 시큐리티등까지 한 사이클의 전체적인 라이브코딩을 볼 수 있었습니다. 추가적으로 앞의 세션에서 시큐리티를 실행하면서 어플리케이션 컨텍스트의 수정을 적용하기 위해서 WAS를 계속 리스타트했던 것과 비교하여 이번 시연에서는 JRebel을 적용하여 WAS의 재기동없이 수정내용이 바로바로 적용되는 것도 꽤 흥미로운 부분이었습니다.(머 완전한 해결법은 없는것처럼 JRebel사용중에도 바로 적용이 안되어 재기동이 필요한 상황이 생기기는 했습니다.)
발표자료는 여기 있습니다.
소프트웨어 개발자로 살기
- 안영회 (아이티와이즈)
KSUG의 전 회장이시었던 안영회님의 세션이었습니다. 다른 세션들이 모두 기술세션이었던 데에 반해 이번 세션은 좀더 인간적(?)인 세션이었습니다.
얼마전에 호주로 여행을 갔다오셨는데 그동안 열심히 일했다고 생각을 했음에도 여행을 가기전까지의 과정이 너무 힘들었다고 하셨습니다. 여행은 모았는데 여행후 일상으로 돌아오니 다시 예전과 같아졌습니다. 항상 일을 하다보면 미리미리 해둘걸 하는 후회를 하게 되고 계획한 것처럼 잘 되지 않습니다. 프래클린 플래너나 GTD에 대한 책도 읽어보았는데 도움은 되었지만 해결은 되지 않았습니다.
그러다가 유명한 책인 켄트벡의 TDDBE에서 답을 찾았습니다. 자신의 보폭은 자신이 정하는 것이고 작은 보폭으로 반복을 한다는 부분이었는데 이 TDD를 삶에 적용하여 일을 할때 작은 단위로 나누어 일을 하고 환경에 지배당하지 않도록 노력하였습니다. 하루이상 걸리는 작업은 무조건 나누도록 팀원들에게 요구했습니다. 처음에는 무척 어렵지만 시간이 지나면 가능해지고 빠르게 갱신을 할 수 있습니다. 어떤 일을 할때 막판에 가서 후회를 하게 된다면 주기를 빠르게 해서 매일 후회하도록 하는 것입니다.
사람들은 흔히 이분법으로 많이 생각하게 되는데 이분법에는 한계가 있습니다. 현실에는 0과 1로 나누어지는 것이 하나도 없습니다. 예전에는 관심있는 것과 없는 것을 나누었었는데 지금은 후회하고 있고 전체적으로 균형잡힌 삶이 필요하다고 생각합니다. 컨설턴트가 다른 사람들과 다른 점이라면 이론과 현장을 구분할 수 있다는 것입니다. 이론은 단지 현실의 공통적인 것을 축약해 놓은 것일 뿐이고 이것을 현실로 만드는 것은 좀처럼 쉽지 않습니다. 컨설턴트는 단지 추상적인 사고를 좀 더 잘 할 뿐입니다.
애자일 방법론을 통해서 점진적으로 개선을 할 수 있습니다. 항상 완전히 서로 다른 체계간의 만나기 때문에 모든 일에는 어려움이 있습니다. 애자일을 적용하려고 해도 보통 고객은 정형화된 WBS를 원하고 개발자들은 WBS를 가지고 어떻게 애자일을 하는가에 대한 고민이 있습니다. 하지만 고객과 협의해서 적절한 선의 마일드스톤을 정하고 그 안에서 백로그를 작성하여 이터레이션 되도록 할 수 있습니다. 이런 부분은 서로간의 인정에서 출발해야 하며 상대에게 맞추어 주어야 합니다.
중요한것은 끈질기게 버티는 것입니다.
엔터프라이즈 환경에서 Maven 활용 전략
- 박재성 (자바지기)
메이븐에 대한 세션이었습니다. 프로젝트를 하면서 계속해서 항상 반복하는 일들이 있는데 프로젝트 환경을 구축하고 유지하는 일들이 대표적입니다. 소스들간에 라이브러리들간의 의존성 문제들... 또한 자바에는 오픈소스 라이브러리가 많기도 하고 서로간의 의존성도 심한 편입니다. 거기에 프로젝트 진행중 버전이 바뀔때마다 새로 다운받아서 적용하는 일을 반복해서 해야했습니다. 관리자의 일을 하면서 처음에는 개발을 직접 하려고 했지만 관리자가 가장 시간이 많이 있어야 한다는 생각이 들어서 그래서 팀원들이 개발만 하게 하고 환경구축 같은 부분을 맡아서 했습니다.
기본에 많이 쓰던 Ant와 Maven을 비교하면 JDBC와 Spring JDBC를 비교하는 듯한 느낌이었습니다. 메이븐은 사용하기 전에는 메이븐과 비슷한 antlib을 사용했었는데 CoC(Convention over Configuration)의 사상이 메이븐에는 많이 녹아있습니다.
메이븐에는 archetype이라는 것이 있어서 mvn archetype:generate 명령어를 통해서 프로젝트를 생성할 수 있습니다. archetype이라는 이름으로 여러가지 설정의 프로젝트가 정의되어 있고 원하는 아키타입을 선택해서 간단하게 프로젝트를 생성해 낼 수 있는데다가 추상화되어 잘 되어 있어서 오히려 Ant보다 쉬울 수 있습니다. 메이븐은 내부적으로 super-pom을 가지고 있는데 각 pom.xml이 이 super-pom을 상속받고 있어서 각 pom파일들은 아주 심플합니다. 하위 pom에서 재정의하면 자바처럼 설정이 재정의 됩니다. Goal을 위한 단계별 Phases가 정의되어 있는데 각 Phases사이에 원하는 작업을 자유롭게 끼워 넣을 수 있기 때문에 필요한 작업들을 자동화안에 구성할 수 있습니다.
프로젝트의 라이프 사이클과 플러그인들, 의존성을 관리해 주게 되고 중앙저장소에서 제공되는 모든 라이브러리들이 관리되고 있으며 Maven Repository에서 중앙저장소의 라이브러리들을 쉽게 검색할 수 있는데다가 설정에 대한 xml정의까지 제공해주어서 쉽게 이용할 수 있습니다. 다운받은 라이브러리들은 로컬저장소에 저장이 되면 이클립스의 설정으로 소스파일을 볼 수 있도록 설정하면 이클립스에서 외부 라이브러리들에 대한 소스보기가 바로 가능합니다. 이부분은 개발은 하면서 외부 jar의 소스를 참고해야 할 일이 있을때 아주 편리합니다. 단위별로 모듈로 정의한 뒤에 통째로 빌드하는 것도 가능합니다.
사용자가 archetype을 만들수 있기 때문에 사내에 레파지토리를 구성하고 전용 아키타입을 만들어서 팀에 적용을 하면 전사표준으로도 쉽게 적용할 수 있습니다.
스프링 by 봄싹
- 백기선 (봄싹)
이 세션은 봄싹스터디에서 스터디를 운영하면서 스프링등의 기술을 이용해서 사이트를 구축하면서 생긴 노하우를 가지고 봄싹사이트에 대한 구조 설명과 간단한 기능추가에 대한 라이브코딩으로 진행되었습니다. 스프링의 DispatcherServlet, HandlerMaping, HandlerAdapter, ViewResolver의 동작에 대한 것을 소녀시대멤버로 맵핑하여 설명해서 사람들에게 큰 흥미를 이끌었습니다.
![]() | ![]() |
라이브 코딩은 봄싹에서 사용중인 아틀라시안의 컨플루언스 위키에 새로운 글이 올라왔을때 관리자가 수동으로 리플래시를 실행하면 봄싹사이트에 최신글이 뜨도록 가져오는 기능을 개발하였습니다. 이미 존재하는 시스템이기 때문에 URL맵핑 및 Controller부터 DB나 시큐리티등까지 한 사이클의 전체적인 라이브코딩을 볼 수 있었습니다. 추가적으로 앞의 세션에서 시큐리티를 실행하면서 어플리케이션 컨텍스트의 수정을 적용하기 위해서 WAS를 계속 리스타트했던 것과 비교하여 이번 시연에서는 JRebel을 적용하여 WAS의 재기동없이 수정내용이 바로바로 적용되는 것도 꽤 흥미로운 부분이었습니다.(머 완전한 해결법은 없는것처럼 JRebel사용중에도 바로 적용이 안되어 재기동이 필요한 상황이 생기기는 했습니다.)
![]() | ![]() |
발표자료는 여기 있습니다.
봄싹에 소속되어 있기는 하지만 아직 봄싹사이트 개발에는 참여를 하지 않았기 때문에 꽤나 더 관심있게 지켜본 것 같습니다. 하나의 특별한 주제에 대한 것도 중요하시만 실제 개발할때는 여러가지 기술을 한꺼번에 다루기 때문에 한 사이클을 모두 진행해 본다는 점에서 큰 의미가 있었습니다. 참 공부할께 많구나 하는 생각과 함께 다른 사람은 어떤 식으로 코딩하는지에 대해서 볼 수 있는 좋은 시간이었습니다. ㅎ
소프트웨어 개발자로 살기
- 안영회 (아이티와이즈)
KSUG의 전 회장이시었던 안영회님의 세션이었습니다. 다른 세션들이 모두 기술세션이었던 데에 반해 이번 세션은 좀더 인간적(?)인 세션이었습니다.
얼마전에 호주로 여행을 갔다오셨는데 그동안 열심히 일했다고 생각을 했음에도 여행을 가기전까지의 과정이 너무 힘들었다고 하셨습니다. 여행은 모았는데 여행후 일상으로 돌아오니 다시 예전과 같아졌습니다. 항상 일을 하다보면 미리미리 해둘걸 하는 후회를 하게 되고 계획한 것처럼 잘 되지 않습니다. 프래클린 플래너나 GTD에 대한 책도 읽어보았는데 도움은 되었지만 해결은 되지 않았습니다.
그러다가 유명한 책인 켄트벡의 TDDBE에서 답을 찾았습니다. 자신의 보폭은 자신이 정하는 것이고 작은 보폭으로 반복을 한다는 부분이었는데 이 TDD를 삶에 적용하여 일을 할때 작은 단위로 나누어 일을 하고 환경에 지배당하지 않도록 노력하였습니다. 하루이상 걸리는 작업은 무조건 나누도록 팀원들에게 요구했습니다. 처음에는 무척 어렵지만 시간이 지나면 가능해지고 빠르게 갱신을 할 수 있습니다. 어떤 일을 할때 막판에 가서 후회를 하게 된다면 주기를 빠르게 해서 매일 후회하도록 하는 것입니다.
![]() | ![]() | ![]() |
사람들은 흔히 이분법으로 많이 생각하게 되는데 이분법에는 한계가 있습니다. 현실에는 0과 1로 나누어지는 것이 하나도 없습니다. 예전에는 관심있는 것과 없는 것을 나누었었는데 지금은 후회하고 있고 전체적으로 균형잡힌 삶이 필요하다고 생각합니다. 컨설턴트가 다른 사람들과 다른 점이라면 이론과 현장을 구분할 수 있다는 것입니다. 이론은 단지 현실의 공통적인 것을 축약해 놓은 것일 뿐이고 이것을 현실로 만드는 것은 좀처럼 쉽지 않습니다. 컨설턴트는 단지 추상적인 사고를 좀 더 잘 할 뿐입니다.
애자일 방법론을 통해서 점진적으로 개선을 할 수 있습니다. 항상 완전히 서로 다른 체계간의 만나기 때문에 모든 일에는 어려움이 있습니다. 애자일을 적용하려고 해도 보통 고객은 정형화된 WBS를 원하고 개발자들은 WBS를 가지고 어떻게 애자일을 하는가에 대한 고민이 있습니다. 하지만 고객과 협의해서 적절한 선의 마일드스톤을 정하고 그 안에서 백로그를 작성하여 이터레이션 되도록 할 수 있습니다. 이런 부분은 서로간의 인정에서 출발해야 하며 상대에게 맞추어 주어야 합니다.
중요한것은 끈질기게 버티는 것입니다.
개발자도 사람이므로 삶에 대한 부분과 애자일로 좀 더 효율적으로 일할 수 있는 부분에 대해서 다양한 얘기를 해 주셨습니다. 개인적으로는 TDD의, 혹은 애자일에서 항상 강조하는 이터레이션을 삶에도 적용한다는 부분이 인상적이었습니다. 애자일이나 TDD가 접근했던 것 처럼 처음부터 실패안하도록 계획하는 것 보다는 점진적으로 개선한다는 것을 삶에까지 적용한다는 것은 미처 생각하지 못했었는데 나름 괜찮겠다는 생각이었습니다. 한번에는 어려워도 좀 익숙해 지면 살을 많이 효율적으로 할 수 있을것 같습니다.
엔터프라이즈 환경에서 Maven 활용 전략
- 박재성 (자바지기)
메이븐에 대한 세션이었습니다. 프로젝트를 하면서 계속해서 항상 반복하는 일들이 있는데 프로젝트 환경을 구축하고 유지하는 일들이 대표적입니다. 소스들간에 라이브러리들간의 의존성 문제들... 또한 자바에는 오픈소스 라이브러리가 많기도 하고 서로간의 의존성도 심한 편입니다. 거기에 프로젝트 진행중 버전이 바뀔때마다 새로 다운받아서 적용하는 일을 반복해서 해야했습니다. 관리자의 일을 하면서 처음에는 개발을 직접 하려고 했지만 관리자가 가장 시간이 많이 있어야 한다는 생각이 들어서 그래서 팀원들이 개발만 하게 하고 환경구축 같은 부분을 맡아서 했습니다.
![]() | ![]() | ![]() |
기본에 많이 쓰던 Ant와 Maven을 비교하면 JDBC와 Spring JDBC를 비교하는 듯한 느낌이었습니다. 메이븐은 사용하기 전에는 메이븐과 비슷한 antlib을 사용했었는데 CoC(Convention over Configuration)의 사상이 메이븐에는 많이 녹아있습니다.
메이븐에는 archetype이라는 것이 있어서 mvn archetype:generate 명령어를 통해서 프로젝트를 생성할 수 있습니다. archetype이라는 이름으로 여러가지 설정의 프로젝트가 정의되어 있고 원하는 아키타입을 선택해서 간단하게 프로젝트를 생성해 낼 수 있는데다가 추상화되어 잘 되어 있어서 오히려 Ant보다 쉬울 수 있습니다. 메이븐은 내부적으로 super-pom을 가지고 있는데 각 pom.xml이 이 super-pom을 상속받고 있어서 각 pom파일들은 아주 심플합니다. 하위 pom에서 재정의하면 자바처럼 설정이 재정의 됩니다. Goal을 위한 단계별 Phases가 정의되어 있는데 각 Phases사이에 원하는 작업을 자유롭게 끼워 넣을 수 있기 때문에 필요한 작업들을 자동화안에 구성할 수 있습니다.
![]() | ![]() |
프로젝트의 라이프 사이클과 플러그인들, 의존성을 관리해 주게 되고 중앙저장소에서 제공되는 모든 라이브러리들이 관리되고 있으며 Maven Repository에서 중앙저장소의 라이브러리들을 쉽게 검색할 수 있는데다가 설정에 대한 xml정의까지 제공해주어서 쉽게 이용할 수 있습니다. 다운받은 라이브러리들은 로컬저장소에 저장이 되면 이클립스의 설정으로 소스파일을 볼 수 있도록 설정하면 이클립스에서 외부 라이브러리들에 대한 소스보기가 바로 가능합니다. 이부분은 개발은 하면서 외부 jar의 소스를 참고해야 할 일이 있을때 아주 편리합니다. 단위별로 모듈로 정의한 뒤에 통째로 빌드하는 것도 가능합니다.
사용자가 archetype을 만들수 있기 때문에 사내에 레파지토리를 구성하고 전용 아키타입을 만들어서 팀에 적용을 하면 전사표준으로도 쉽게 적용할 수 있습니다.
설정은 다 되어 있는 메이븐을 사용만 해 보았습니다만 메이븐은 여러가지 면에서 매력적인 툴이었습니다. m2eclipse로만 사용해보았는데 사실 command로 사용하고 아키타입이 있다는 것은 처음 보았습니다. 메이븐은 좀 공부(?)하기는 해야해서 맘에만 두고 있었는데 전체적인 메이븐의 아키텍쳐에 대해서 이해할 수 있었습니다. 사용법과 함께 구조에 대해서 설명해 주니까 전체적인 동작을 이해하기가 좋았습니다.
세미나를 들으러 간 것이기는 하지만 봄싹에서 다수가 함께 가기도 했고 KSUG와도 약간 연관이 있어서 아는 사람도 많아서 좀 더 편하게 세미나에 참가했던것 같습니다. KSUG가 업체가 아닌 커뮤니티인데다가 온라인에서 주로 활동되는 터라 KSUG의 운영진은 있지만 KSUG의 멤버라는 소속감을 가진 사람들은 아직 좀 적은 상황이라서 그런지 행사에 대한 스태프는 좀 부족하지 않았나 싶은 생각은 약간 들었습니다만(회사 퇴근해서 이런 행사 준비한다는게 쉬운 일은 아니긴 하죠 ㅎ) 각 세션의 스피커분들이 워낙 발표를 잘 해 주셔서 저뿐만 아니라 다른 분들도 많은 것을 얻어간 시간이었을듯 합니다. 저로써는 KSUG라고 해서(스프링의 사상도 그렇기는 하지만요) 스프링이라는 주제에 한정되지 않고 다양한 주제의 세션이 진행된 것이 오히려 더 좋았던 것 같습니다. ㅎ
2016년 2월 29일 월요일
[Book] 이클립스 프로젝트 필수 유틸리티..
출처 : Outsider's Dev Story https://blog.outsider.ne.kr/
제목그대로의 책입니다. 툴을 사용하는 것이 개발 실력을 반증해 주지는 않지만 분명히 생산성향상등에 충분한 위력을 발휘한다고 생각하고 있습니다. 국내에서는 자바개발을 거의 평정하다시피한 IDE인 Eclipse를 중심으로 해서 자바개발을 하면서 필요한 유틸리티에 대해서 총 망라한 책입니다.
비슷한 책으로는 윈도우 프로젝트 필수 프로젝트라는 책이 있습니다. 개인적으로 강추하는 책이긴 한데 관점만 약간 다를뿐 입니다. 윈도우 프로젝트 필수 프로젝트가 일반적인 부분을 얘기했다면 이 책은 이클립스에 관련하여 풀어가고 있습니다. 두 책에 공통된 유틸리티들이 있어서 겹치는 부분도 있기는 하지만 이클립스를 쓰면 2가지 다 충분히 도움이 될만하다고 생각합니다.
이 책의 좋은 점은 이클립스로 자바 프로젝트를 진행할 때 필요한(요즘 많이 쓰는) 유틸리티를 개발 한 사이클을 모두 설명해 주고 있다는 것입니다. 개발을 시작하면서 CVS나 Subversion같은 SCM[Source Configration Management]을 이용해서 소스코드를 형상관리하고 ANT를 통해서 번거로운 빌드 및 배포작업을 자동화 하고 JUnit을 이용해서 단위테스트로 소스의 안정성을 높이고 Trac으로 Wiki에 문서정리를 하면서 이슈관리를 통한 원활한 프로젝트를 진행될 수 있도록 하는 이 한 사이클의 이클립스 연동을 모두 다뤄주고 있습니다.
각 부분에 대해서 상당히 자세하게 설명하고 있고 모든 유틸리티들을 이클립스와 어떻게 연동하는지 그리고 하면서 지은이의 노하우까지 나와있어서 처음 이클립스를 사용하면서 여러가지 플러그인(사실 별거아닌것 같으면서도 셋팅할려면 꽤나 까다롭죠.)을 쉽게 사용할 수 있도록 도와주고 있습니다.
그러면서도 이 책이 더 좋게 느껴지는 것은 마지막의 초간단 블로그 만들기 프로젝트입니다. 사실 리스트와 글쓰기 밖에 없는 이 프로젝트를 통해서 앞에서 계속 설명한 각종 유틸리티를 프로젝트를 진행하면서 어떤부분에 어떻게 사용하는 가를 아주 디테일하게 설명해 주고 있습니다. 처음 사용하는 사람이라면 뭔지는 알겠는데 막상 사용하려면 쉽지 않은게 사실인데 이 마지막 장을 통해서 실제 프로젝트에 적용할 수 있도록 상당히 유용하게 가이드 해주고 있습니다.
이클립스를 좀더 잘 쓰고 싶다면 충분히 도움이 될만한 책이라고 생각....
| 이클립스 프로젝트 필수 유틸리티 : subversion, Ant, JUnit, Trac - 민진우 외 지음/한빛미디어 |
제목그대로의 책입니다. 툴을 사용하는 것이 개발 실력을 반증해 주지는 않지만 분명히 생산성향상등에 충분한 위력을 발휘한다고 생각하고 있습니다. 국내에서는 자바개발을 거의 평정하다시피한 IDE인 Eclipse를 중심으로 해서 자바개발을 하면서 필요한 유틸리티에 대해서 총 망라한 책입니다.
비슷한 책으로는 윈도우 프로젝트 필수 프로젝트라는 책이 있습니다. 개인적으로 강추하는 책이긴 한데 관점만 약간 다를뿐 입니다. 윈도우 프로젝트 필수 프로젝트가 일반적인 부분을 얘기했다면 이 책은 이클립스에 관련하여 풀어가고 있습니다. 두 책에 공통된 유틸리티들이 있어서 겹치는 부분도 있기는 하지만 이클립스를 쓰면 2가지 다 충분히 도움이 될만하다고 생각합니다.
이 책의 좋은 점은 이클립스로 자바 프로젝트를 진행할 때 필요한(요즘 많이 쓰는) 유틸리티를 개발 한 사이클을 모두 설명해 주고 있다는 것입니다. 개발을 시작하면서 CVS나 Subversion같은 SCM[Source Configration Management]을 이용해서 소스코드를 형상관리하고 ANT를 통해서 번거로운 빌드 및 배포작업을 자동화 하고 JUnit을 이용해서 단위테스트로 소스의 안정성을 높이고 Trac으로 Wiki에 문서정리를 하면서 이슈관리를 통한 원활한 프로젝트를 진행될 수 있도록 하는 이 한 사이클의 이클립스 연동을 모두 다뤄주고 있습니다.
각 부분에 대해서 상당히 자세하게 설명하고 있고 모든 유틸리티들을 이클립스와 어떻게 연동하는지 그리고 하면서 지은이의 노하우까지 나와있어서 처음 이클립스를 사용하면서 여러가지 플러그인(사실 별거아닌것 같으면서도 셋팅할려면 꽤나 까다롭죠.)을 쉽게 사용할 수 있도록 도와주고 있습니다.
그러면서도 이 책이 더 좋게 느껴지는 것은 마지막의 초간단 블로그 만들기 프로젝트입니다. 사실 리스트와 글쓰기 밖에 없는 이 프로젝트를 통해서 앞에서 계속 설명한 각종 유틸리티를 프로젝트를 진행하면서 어떤부분에 어떻게 사용하는 가를 아주 디테일하게 설명해 주고 있습니다. 처음 사용하는 사람이라면 뭔지는 알겠는데 막상 사용하려면 쉽지 않은게 사실인데 이 마지막 장을 통해서 실제 프로젝트에 적용할 수 있도록 상당히 유용하게 가이드 해주고 있습니다.
이클립스를 좀더 잘 쓰고 싶다면 충분히 도움이 될만한 책이라고 생각....
피드 구독하기:
글 (Atom)











