[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...

레이블이 SVN인 게시물을 표시합니다. 모든 게시물 표시
레이블이 SVN인 게시물을 표시합니다. 모든 게시물 표시

2016년 2월 29일 월요일

[Book] 이클립스 프로젝트 필수 유틸리티..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

이클립스 프로젝트 필수 유틸리티 : subversion, Ant, JUnit, Trac - 8점
민진우 외 지음/한빛미디어

제목그대로의 책입니다. 툴을 사용하는 것이 개발 실력을 반증해 주지는 않지만 분명히 생산성향상등에 충분한 위력을 발휘한다고 생각하고 있습니다. 국내에서는 자바개발을 거의 평정하다시피한 IDE인 Eclipse를 중심으로 해서 자바개발을 하면서 필요한 유틸리티에 대해서 총 망라한 책입니다.

비슷한 책으로는 윈도우 프로젝트 필수 프로젝트라는 책이 있습니다. 개인적으로 강추하는 책이긴 한데 관점만 약간 다를뿐 입니다. 윈도우 프로젝트 필수 프로젝트가 일반적인 부분을 얘기했다면 이 책은 이클립스에 관련하여 풀어가고 있습니다. 두 책에 공통된 유틸리티들이 있어서 겹치는 부분도 있기는 하지만 이클립스를 쓰면 2가지 다 충분히 도움이 될만하다고 생각합니다.

이 책의 좋은 점은 이클립스로 자바 프로젝트를 진행할 때 필요한(요즘 많이 쓰는) 유틸리티를 개발 한 사이클을 모두 설명해 주고 있다는 것입니다. 개발을 시작하면서 CVS나 Subversion같은 SCM[Source Configration Management]을 이용해서 소스코드를 형상관리하고 ANT를 통해서 번거로운 빌드 및 배포작업을 자동화 하고 JUnit을 이용해서 단위테스트로 소스의 안정성을 높이고 Trac으로 Wiki에 문서정리를 하면서 이슈관리를 통한 원활한 프로젝트를 진행될 수 있도록 하는 이 한 사이클의 이클립스 연동을 모두 다뤄주고 있습니다.

각 부분에 대해서 상당히 자세하게 설명하고 있고 모든 유틸리티들을 이클립스와 어떻게 연동하는지 그리고 하면서 지은이의 노하우까지 나와있어서 처음 이클립스를 사용하면서 여러가지 플러그인(사실 별거아닌것 같으면서도 셋팅할려면 꽤나 까다롭죠.)을 쉽게 사용할 수 있도록 도와주고 있습니다.

그러면서도 이 책이 더 좋게 느껴지는 것은 마지막의 초간단 블로그 만들기 프로젝트입니다. 사실 리스트와 글쓰기 밖에 없는 이 프로젝트를 통해서 앞에서 계속 설명한 각종 유틸리티를 프로젝트를 진행하면서 어떤부분에 어떻게 사용하는 가를 아주 디테일하게 설명해 주고 있습니다. 처음 사용하는 사람이라면 뭔지는 알겠는데 막상 사용하려면 쉽지 않은게 사실인데 이 마지막 장을 통해서 실제 프로젝트에 적용할 수 있도록 상당히 유용하게 가이드 해주고 있습니다.

이클립스를 좀더 잘 쓰고 싶다면 충분히 도움이 될만한 책이라고 생각....

2016년 2월 25일 목요일

[Tool]SVN(Subversion), Trac 백업하기..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

Trac이나 SVN을 사용하다보면 어떤 이유이던지 백업을 할 필요가 있어진다. 여태는 할 필요가 없거나 할 가치가 없거나 아님 사용하지 않거나였지만 이젠 백업이 좀 필요해서... 만약을 위해서이기도 하고 서버이전을 위해서 이기도 하고.....



Subversion 백업

사용자 삽입 이미지

여기서는 Visual SVN을 사용하고 있는데 경로만 좀 다를뿐 상관없을꺼라고 생각한다. 백업은 svnadmin.exe를 이용해서 하고 이 파일은 SVN Server가 설치된 경로의 bin폴더 안에 들어 있다.

svnadmin.exe hotcopy [저장소위치] [백업위치]

위와같이 실행하면 된다. [저장소위치]는 백업하고자 하는 프로젝트의 레파지토리 위치이고 [백업위치]는 백업을 어디다 할 것지이다. 위 이미지의 경우에서 [백업위치]는 C:\traback\까지만 만들어주면 된다. svn이라고 지정된 폴더는 위 명령어를 실행할때 자동으로 생성되며 svn폴더가 이미 생성되어 있으면 충돌나서 백업 실행이 되지 않는다.  백업은 그냥 파일 덤프뜬것처럼 똑같은 형태로 그대로 된다. 복구는 아직 해보지 않았지만 폴더구조가 똑같은 걸로 보아 그냥 프로젝트 만들어서 붙혀넣으면 되지 않을가 싶다.



Trac 백업

사용자 삽입 이미지


Trac백업도 SVN 백업과 거의 동일하다 트랙은 trac-admin.exe를 사용해서 백업하고 Trac을 쓴다는 것은 파이썬을 깔았을 것이므로 이 파일은 파이선 설치경로 아래 Scripts아래에 들어 있다.

trac-admin.exe [프로젝트경로] hotcopy [백업위치]

위처럼 명령어를 사용하면 되고 이면에는 hotcopy 명령어가 중간에 들어 있다. 프로젝트 경로는 Trac에서 백업하고자 하는 프로젝트가 지정되어 있는 경로의 위치이고 백업위치는 SVN과 마찬가지로 최종폴더는 자동생성하므로 미리 생성해 놓지 말아야 한다. SVN과는 다르게 Hotcopy done.라는 메시지가 나타나고 백업이 완료된다. 이것도 마찬가지로 파일을 그대로 덤프떠서 가져와버린다.

복구는 아직 안해봐서.. ㅡ..ㅡ

2016년 2월 23일 화요일

[Tool]Subversion의 Attempted to lock an already-locked dir 에러 발생시..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

이클립스에서 서브버전(Subversion)연동해서 개발하다가 다음과 같은 에러가 발생했다.

사용자 삽입 이미지

org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir이라는 SVNClientException이 발생했다. 그냥 잘 쓰고 있었는데 특정파일이 lock이 걸렸다고 커밋이 안되는 것이었다.  이건 업데이트등의 어떤 액션을 하다가 실패를 해서(정상적인 종료가 안되어서) lock이 걸려버린 것으로 추정한다.

사용자 삽입 이미지

서브버전(이클립스에서는 서브클립스)의 [Team]  - [Cleanup] 메뉴를 실행하고 다면 다시 커밋을 할 수 있다. Cleanup액션은 비정상적으로 SVN의 액션이 종료되었을 때 이것을 정리해 주는 명령어이다. 이렇게 하면 Revert한것처럼 수정된 파일도 커밋하기전의 원래 파일로 돌아온다.

2016년 2월 22일 월요일

[Book] 윈도우 프로젝트 필수 유틸리티..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/


윈도우 프로젝트 필수 유틸리티 - 8점
이재홍 지음/한빛미디어

난 개발환경에 상당히 관심이 많다. 더 좋은 환경, 자동화 되고 쉽고 편하고 빠르고... 등등.... 개발과 환경의 시간의 투자의 비중을 맞추려고 노력하고 있기는 하지만... 물론 툴 맹신주의자가 되지 않으려고 노력하고 있기는 하지만 툴의 이점을 충분히 이용하자고 믿는 주의이다. 초기에 툴의 적응과정에서의 어려움은 있을지 몰라도 그 뒤에는 훨씬 효율적으로 돌릴수 있다고 믿고 있기 때문에.....IDE를 안쓰고 에디트플러스를 특수한 과정이 아닌데서 사용한다면 솔직히 "미련하다"고 밖에 생각되지 않는다.

어쟀든 내가 이책을 본 가장 큰 이유중의 하나는 Trac이다. 몇년전부터 각광받기 시작한 Trac.... 대표적으로는 이 블로그 툴인 텍스트큐브의 개발주체인 TNF에서 사용하고 있다. 이슈트래킹과 위키를 결합한 시스템... 한번 써보려다가 실패하고는 아직 못써보고 있다. 물론 툴의 사용은 사용법 외에도 팀에 도입하려면 여러가지 어려움이 많기는 하지만.... ㅎㅎㅎㅎ

이 책은 윈도우 개발자가 개발환경의 일련화된 자동화 시스템을 구축하기 위한 모든 것을 다루고 있다. 형상관리툴인 Subversion, 자동화 빌드툴인 CruiseControl.NET, 그리고 이슈트래킹 시스템인 Trac에 Powershell까지... 저자가 초반에 언급한 대로 대부분의 자동화 시스템이 리눅스를 위주로 되어 있는데 반해 이책은 철저히 윈도우 위주로 되어 있고 설명도 각 설치화면까지 스크린샷을 떠서 자세하게 설명하고 있다. 내 경험상으로 툴을 익히는 것은 쉽지 않다. 솔직히 툴은 책으로 사기 약간 부담스런 면이 있기도 하고 아주 유명툴 아니면 책도 별로 없고 그중에 괜찮은 책도 적다. 대부분은 틈틈히 웹서핑을 통해서 터득해야 하는데 자료 얻기가 쉽지 않은게 사실이다.

툴의 적응을 위해서 각 툴의 용도와 사용법에 대해서 자세히 설명한 뒤에 각 툴을 어떤식으로 섞어서 전체 자동화 시스템을 구축하는지 설명하고 있다. 사용법에 집중하기는 했지만 중간중간 자주 직면할 수 있는 문제들에 설명을 해주고 있다. 개인적으로 툴은 적응력이라고 생각한다. 사용법이야 솔직히 몇번 다루면 컴맹 아닌이상 다룰수 있다. 그 다음부터는 그 툴에 얼마나 적응이 되어 있고 편하게 쓸수 있냐하는 건데 그걸 넘어서지 못하면 결국은 툴을 버리게 된다. 그런 면에서 다양환 케이스 또는 완성된 시스템에서의 편리함을 강조해 주어 툴 적응에 목표성을 갖게 된 점은 참 좋아보인다.

내가 가장 도움을 받은 부분은 서브버전과 트랙이다. 서브버전을 막상 찾아보면 많은 자료가 없고 또 너무 리눅스의 명령어 위주로만 되어 있어서 적응하기가 쉽지 않다. 단순 사용정도는 할 수 있었지만 충돌이나 여러면에서 해매고 있었던게 사실인데 이 책을 보면서 서브버전에 대해서큰 한번 죽 정리된 느낌이 있다. 개인적으로 이 책의 저자가 초기에 서브버전을 공부할때 열심히 보았던 매뉴얼인 피라시스닷컴의 운영자라는 것을 알고 좀 깜짝 놀랬다. 책의 각 팁을 보면 저자가 경험에서 얻은 많은 지식들이 책에 녹아 있는 것을 느낄 수 있다. 트랙이야 아예 몰랐으니 도움 받은건 당연하고... 트랙 자료는 찾기도 쉽지 않은데... ㅎㅎㅎㅎㅎ 저자인 이재홍님의 페이지에 가면 관련정보를 더 얻을 수 있다.

나는 웹개발자이지만 이책은 전체를 아우르기는 하지만 기본적으로는 윈도우용 개발자를 위해서 설명을 하고 있기 때문에 자바개발자인 나로써 그대로 적용하기는 어렵다. 보면서 내내 아직 써보진 못했지만 내 환경에서는 크루즈컨트롤보다는 Ant가 낫겠다는 생각을 계속 했다. 또한 파워쉘도 내가 언어를 배우는 전체적인 방향성에서는 파워셀보다는 파이썬이 낫겠다는 생각은 했다. 하지만 각 툴의 선택이야 회사에 자기에 맞게 얼마든지 바뀔수 있는 것인데.... 자동화된 개발환경 시스템에 대한 전체 그림을 좀 그리게 된데에도 나에겐 큰 도움이 되었다. (머 서브버전만으로도 만족이다.)