그동안 분산형 버전관리시스템인 git를 테스트중이었으나 서버를 svn에서 git로 바꾸기에는 다소 무리가 있었다. 
그래서 로컬에서는 git를 사용하고 git-svn을 통해 svn서버와 연동하는 방식을 사용했다.
하지만 이 방식은 상당히 불편해 서버상에서 자동으로 sync가 되는 subgit에 대해서 테스트하고 있는 중이다.
subgit를 설치하고 대부분 동작이 잘 되었는데 로컬레파지토리에 커밋을 하나 한 다음 svn상에 또다른 커밋이 생겼을 경우 git push는 에러가 난다.
이때 git pull을 하게 되면 merge 방식으로 작동되면서 로컬에 merge커밋을 하게 되는데 이걸 커밋하면 svn서버에 shelves 라는 브랜치로 임시저장이 되는 것 같다.
  (이에 대해서 개발담당자한테 트윗을 날려봤는데 현재까지 관련된 문서는 없고 subgit 1.0이 릴리즈될 때 문서를 공개한다고 한다. http://t.co/l6rFEAhP)
이방식이 어떻게 작동되는지 잘 몰라 난감했는데 git로 pull을 할때 다음과 같이 rebase옵션을 주고 pull한 다음 push하면 정상적으로 svn서버와 sync가 되는 것을 확인했다.

git pull --rebase 원격저장소명

  





저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

이클립스를 3.6버전인 Helios로 업그레이드 하고나서부터 다음과 같이 자바스크립트 validation할때 NullPointerException이 발생하곤 했다.


아마도 헬리오스의 버그같은데 아직 완전한 해결방법은 없고 다음과 같이 javascript validator를 프로젝트의 builder에서 제외시켜서 오류를 막을 수 있는 것 같다.

프로젝트 우클릭->Properties->Builder->Javascript Validator uncheck



이렇게 하면 일단 NullPointerException은 뜨지 않는데 다른 부작용이 있을지도 모르겠다. 위에서 JavaScript Validator를 uncheck하면 side effect가 발생할 수도 있다고 알림창이 나온다.

참조사이트 - http://bit.ly/aqJ9Fg
저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

그동안 번역서만 마구 읽어대곤 했는데 번역서를 읽다보면 갑자기 머리가 띵해지는 경우가 많다. 반면에 이 책은 여름으로 가는 문이라는 블로그를 운영하시는 채수원님이 작가이고 실무경험에서 우러나오는 여러 알찬 정보들이 많다.

TDD는 예전부터 관심이 많았었고 켄트벡의 테스트주도개발책과 동영상 등을 접했으나 역시나 TDD는 어렵다는 생각이 든다. ㅠㅠ 특히 필자처럼 허접내공으로 무턱대고 달려드면 오히려 개발기간만 늘어나는 역효과를 가져올수도 있다.

그렇지만 배우기 어렵고 까다로운 TDD일지라도 일단 익숙해지면 그 무엇보다도 코드의 품질을 향상시킬수 있다. 게다가 개발의 단계가 테스트-코딩-리팩토링의 반복으로 단순화되면서 개발의 리듬감을 찾을 수 있게 된다.
필자도 지금까지 계속 나름대로 연습을 해오고 있지만 아직까지도 익숙하지 않다. 특히나 일정의 압박이 몰려오는 프로젝트후반부의 운영이 많이 힘든 것 같다.

일단 이 책을 다 읽는 데 그렇게 오랜시간이 걸리지는 않았다. 유닛테스트나 TDD에 관심이 있는 개발자라면 비교적 빠른시간에 지루하지 않게 볼 수 있는 내용이다.
또한 초보자가 접근하기에도 괜찮아보인다. 이 책의 시작부분에는 junit의 IDE 설정방법이라던지 초보자들도 참조할만한 내용이 많다. 시작부분은 켄트벡의 TDD책과 마찬가지로 간단한 은행계좌예제를 TDD방식으로 해결해나가는 방법으로 시작하고 있다. 중간부분에 Hamcrest와 Mock프레임워크를 이용하는 부분이 나오고 데이터베이스연동테스트를 수행하는 DBUnit에 관한 내용도 나온다. 마지막으로는 자동판매기 잔돈 계산 모듈을 TDD로 해결해 나간다.
중간중간에 주석과 저자한마디가 나오는데 내용의 흐름을 막거나 하진 않고 9장의 FAQ도 평소 궁금했던 점들에 관한 내용이 많아 만족스러웠다.

이책의 마지막 예제부분에 다음과 같은 내용이 나온다.
만일 개발할 부분에 대한 이해가 명확하지가 않다면, 개발 시작하기 전에 간단한 사용자 시나리오를 작성해 보는 것도 좋은 방법이다.
애자일방식으로 개발한다는게 설계와 시나리오도 없이 무턱대고 IDE 새파일로 달려드는건 아니라고 생각한다. 문서나 스펙협의에 들어가는 노력과 비중을 줄이고 빠른 피드백과 리팩토링을 선호하는 방식일 것이다.
그렇기때문에 TDD방식으로 개발을 진행할때도 어느정도의 설계와 시나리오를 가지고 접근하는게 더 좋다라는게 필자의 의견이고 100% 동감한다.

TDD는 어찌보면 외국어를 학습하는 것과 비슷하다는 생각이 든다. 이미 하나의 언어에 익숙해지도록 성장한 후에 다른 외국어를 배우려면 많은 노력이 필요하다. TDD도 마찬가지로 Top-down 방식과 납품일 위주의 개발스타일방식에서 전환하기엔 쉽지 않다. 아예 프로그래밍을 시작할때 TDD방식으로 시작하는게 가장 좋을 것이다. 하지만 대부분은 이미 다른 개발방식에 익숙해져있는 상황일 테니 이런 경우엔 계속 끊임없는 연습만이 해결방법일 듯 하다.

그런면에서 이 책은 TDD에 관한 많은 내용이 들어가 있고 또한 노하우가 담겨있다. 개발을 어느정도 해 왔던 경력자나 이제 개발을 시작하는 초보자 모두에게 권하고 싶은 책이다.


사진출처 : 강컴


저자블로그 : http://blog.doortts.com/
책주문 : http://kangcom.com/sub/view.asp?sku=201006080010


저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

티스토리 툴바