생각하기_Thinking

개발 인프라에 관한 이야기

NineTIN 2014. 6. 17. 18:23

메모장으로 코딩한다거나

엑셀로도 멋진 그림을 그린다거나

펜 하나로 입체그림 작품을 완성하는 등의

도구의 제약에서 벗어나 대단한 작품을 만들어 내는 사람이 있다.

이런 굇수같은 분들을 제외하고 필자와 이 글을 읽는 대부분의 사람은

좀 더 효율적이며 편안하고 도움을 줄 수 있는 도구를 활용하려고 한다.

개발자 입장에서 이런 도구의 종류를 크게 보면


1.에디터 – 예: Eclipse, Xcode, Visual Studio

2.버전 관리 시스템 - 예: CVS, SVN, GIT

3.이슈 또는 버그 관리 시스템 - 예: Jira, Track, Redmine

4.빌드 시스템 - 예: Jenkins[Hudson], Build Script


등으로 나눌 수가 있는데 

혼자 개발을 할 때는 무엇을 사용하던지 큰 문제가 되지 않는다.

자신의 기억을 믿거나 시간이 많거나 귀찮다면 아무것도 안 쓰고 개발해도 된다.

단지 작은 문제가 생기거나 조금 귀찮거나 번거로울 뿐...

그 이유는 개발의 과정부터 결과까지 모두 한 명이 책임지며

개발한 것에 대해서 추가하거나 설명해야 할 대상이 자신이기 때문이다.

무슨 말이냐면 어떤 프로세스를 활용하든 개발의 시작과 끝이 자신이라는 이야기다.

그렇다고 이렇게 이야기를 끝내면 허무맹랑하므로 몇 가지 이야기를 첨가해보자.


나는 2012년도까지는 에디터 외의 도구를 사용할 줄 몰랐다.

Eclipse가 메인 에디터였고 회사에서는 개발결과물만을 원했기 때문에

개발 중에는 큰 문제가 없었지만 자잘하고 짜증이 나는 문제들이 생겨났다.

예를 들면 Hotfix나 새로운 기능을 추가해야 한다면 프로그램이 뒤섞이지 않게

폴더를 복사해서 작업했고 문제가 생기면 원본 폴더를 가져다가 재작업했었다.

하다 보니 조금 진화해서 폴더명을 작업 날짜로 분리해서 관리도 해봤다

그래도 어떻게든 문제는 해결하고 뭔가는 만들어 갔다...잠시 눈물 좀 닦고...ㅠ_ㅠ

위와 같은 임시 해결책으로는 파일복구나 이중작업등의 문제는 많이 해결되었지만

그 외의 문제에 대해서는 아직 해결책이 없었고 코드관리에도 문제점이 많았다.

이렇게 임시방편으로 해결하기보다는 좀 더 진화된(?) 방법을 사용하고자

Git이라는 녀석을 알게 되었고 지금은 Git으로 프로젝트를 관리 중이다.

결론을 내리자면 홀로 개발해도 버전 관리 시스템은 필수적으로 사용하는 게 좋다는 결론이다.

이유는? 개발 중, 배포, 수정, 기능추가 등의 프로젝트 상태에 따라 소스내용을 다르게 관리할 수 있고

어느 상태로든지 빠르게 접근할 수 있으며 각 상태를 다른 상태와 통합하는 게 대부분 가능하다.