2007년 08월 17일
개발자 생명연장의 꿈 - 버젼관리, 빌드툴
요즘 인수인계 받은 업무로 인해 스트레스가 가중되고 일의 진척이 잘 안되니
업무 보고 하기도 싫어지고 집에만 가고 싶어집니다.
오래살아 보겠다고 담배도 끊었지만 서비스 오픈 또는 업데이트를 진행하는 시점이 되면
담배가 절실해지네요.
서비스 오픈 시점이나 업데이트 시점이 다가오면 개발자들에게 닥쳐오는
주변의 압박과 월드오브워크래프트의 도적처럼 갑작스레 튀어나와
개발자의 뒤통수를 후리는 버그로 인해
생명 단축이 되는 걸 막기 위해 아래와 같은 것은 필수라고 생각됩니다.
평시에는 쓸데없는 행동으로 오해받고 귀차니즘 신봉자에게 비난을 받을 수 있지만
전시 상황이 되면 구세주가 따로 없음을 느끼고 있습니다.
1. 버젼관리
이것은 정말 개발자의 목숨줄과 같은거라 생각됩니다. 국영수처럼 필수입니다.
자신의 개발 히스토리가 각 파일별로 가능하며 원하는 히스토리로 복귀가 가능합니다. 백투더퓨쳐처럼 말이죠.
종류로는 cvs와 svn이 있으며 svn이 요즘 많이 쓰이고 있습니다. svn은 이클립스의 플러그인으로 존재해
편리합니다.
아직도 압축해서 생각나면 그때그때 모아두신다면 꼭 버젼관리로 바꾸시길 바랍니다.
2. 빌드툴(한방에 빌드 및 배포)
서비스를 개발하고 배포까지의 시간이 많이 걸린다면 전시에는 죽을 맛입니다.
버튼 하나로 컴파일 및 압축 그리고 배포까지 된다면 정말 바쁜시점에 여러분을 살려줄 것 입니다.
제가 사용하는 것은 ANT입니다. 다른 것도 있지만 충분하다고 생각해서 계속 사용중입니다.
소스컴파일, 압축, 외부명령어 실행, FTP, SSH관련...기타 등등 상당히 많은 기능을 제공합니다.
여러분도 한방에 빌드 및 배포의 짜릿함을 느껴보시기 바랍니다.
단, XML로 ANT 파일을 작성해야하는게 좀 벽으로 느껴지실 수 있습니다.
하지만 보상은 충분합니다.
3. 위의 두가지 실천으로 언제 어디서나 개발/배포가 가능
전시에 언제 어디서 튀어나올지 모르는 버그, 고객의 항의, 사업/영업팀의 긴급연락을 받게되는
개발자라면 절실하게 필요한 사항입니다.
개발자 A씨는 잠실에 살지만 긴급한 버그가 발생해서 수정해야하는데 방화벽이나 기타 사항때문에
집에서 수정하지 못해 새벽에 고이 잠들어있는 가족를 두고
회사로 들어가야만 했다는 그런 슬픈사연이 더이상 발생되지 않을 것입니다.
어떻게 가능할까요? 바로 버젼관리와 빌드툴이 있다면 가능합니다.
개발자 A씨의 컴퓨터에는 인터넷만 연결되어있으면 됩니다.
A씨는 무료 IDE인 이클립스를 다운받습니다. 그리고 버젼관리서버에서 최신버젼의 소스와 라이브러리를
다운받았습니다. 버젼관리서버에 같이 넣어두었던 빌드툴(ANT)을 이용해서 빌드 및 배포를 진행합니다.
요즘 느끼는 점이 있어 한번 적어보았습니다.
업무 보고 하기도 싫어지고 집에만 가고 싶어집니다.
오래살아 보겠다고 담배도 끊었지만 서비스 오픈 또는 업데이트를 진행하는 시점이 되면
담배가 절실해지네요.
서비스 오픈 시점이나 업데이트 시점이 다가오면 개발자들에게 닥쳐오는
주변의 압박과 월드오브워크래프트의 도적처럼 갑작스레 튀어나와
개발자의 뒤통수를 후리는 버그로 인해
생명 단축이 되는 걸 막기 위해 아래와 같은 것은 필수라고 생각됩니다.
평시에는 쓸데없는 행동으로 오해받고 귀차니즘 신봉자에게 비난을 받을 수 있지만
전시 상황이 되면 구세주가 따로 없음을 느끼고 있습니다.
1. 버젼관리
이것은 정말 개발자의 목숨줄과 같은거라 생각됩니다. 국영수처럼 필수입니다.
자신의 개발 히스토리가 각 파일별로 가능하며 원하는 히스토리로 복귀가 가능합니다. 백투더퓨쳐처럼 말이죠.
종류로는 cvs와 svn이 있으며 svn이 요즘 많이 쓰이고 있습니다. svn은 이클립스의 플러그인으로 존재해
편리합니다.
아직도 압축해서 생각나면 그때그때 모아두신다면 꼭 버젼관리로 바꾸시길 바랍니다.
2. 빌드툴(한방에 빌드 및 배포)
서비스를 개발하고 배포까지의 시간이 많이 걸린다면 전시에는 죽을 맛입니다.
버튼 하나로 컴파일 및 압축 그리고 배포까지 된다면 정말 바쁜시점에 여러분을 살려줄 것 입니다.
제가 사용하는 것은 ANT입니다. 다른 것도 있지만 충분하다고 생각해서 계속 사용중입니다.
소스컴파일, 압축, 외부명령어 실행, FTP, SSH관련...기타 등등 상당히 많은 기능을 제공합니다.
여러분도 한방에 빌드 및 배포의 짜릿함을 느껴보시기 바랍니다.
단, XML로 ANT 파일을 작성해야하는게 좀 벽으로 느껴지실 수 있습니다.
하지만 보상은 충분합니다.
3. 위의 두가지 실천으로 언제 어디서나 개발/배포가 가능
전시에 언제 어디서 튀어나올지 모르는 버그, 고객의 항의, 사업/영업팀의 긴급연락을 받게되는
개발자라면 절실하게 필요한 사항입니다.
개발자 A씨는 잠실에 살지만 긴급한 버그가 발생해서 수정해야하는데 방화벽이나 기타 사항때문에
집에서 수정하지 못해 새벽에 고이 잠들어있는 가족를 두고
회사로 들어가야만 했다는 그런 슬픈사연이 더이상 발생되지 않을 것입니다.
어떻게 가능할까요? 바로 버젼관리와 빌드툴이 있다면 가능합니다.
개발자 A씨의 컴퓨터에는 인터넷만 연결되어있으면 됩니다.
A씨는 무료 IDE인 이클립스를 다운받습니다. 그리고 버젼관리서버에서 최신버젼의 소스와 라이브러리를
다운받았습니다. 버젼관리서버에 같이 넣어두었던 빌드툴(ANT)을 이용해서 빌드 및 배포를 진행합니다.
평소에는 필요성을 못느끼는 백업처럼
버젼관리나 빌드툴, 통합IDE가 불필요해보일 수 있습니다.
하지만 개발자의 환경이 더 나아지고 편리해져서 생명이 단축되는 상황(?)이 적어진다면
도입해볼만하고 그 효과는 만족스러우실 것 입니다.
요즘 느끼는 점이 있어 한번 적어보았습니다.
SVN(subverion) : 버젼관리
ANT : 빌드 툴
이클립스 : 통합 개발 툴
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
# by | 2007/08/17 11:31 | 소프트웨어 공학 | 트랙백 | 덧글(4)








☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
또한, 나중에 복구할때 수많은 커밋된 히스토리중에서 어떻게 찾아서 복구하시는지요?
(설마 언제쯤에 커밋한거야.. 이런걸 일일히 다 기억하시는건 아닐텐데요.. 언제즈음 이라고 막연한 기억에 의지해서 찾아서 복구하지는 않을거 같아서요..)
그러나 주변을 보면 점점 늘어가고 있다는 것을 느낍니다. 개인 스스로부터 시작하여 전파하는 방식을 사용하는게 좋을 듯 싶습니다. 확 도입하자고 하면 대부분 거부감을 느끼더군요.