C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 자료실
C++Builder Programming Resources
[360] 프로젝트 소스백업 도우미 1.3 (세번째 업데이트입니다)
김태선 [cppbuilder] 11148 읽음    2007-10-27 15:25
프로젝트 소스백업 1.3

[버전정보]

Ver 1.2
    - 백업될 파일명과 같은 것이 이미 존재하면 -1.zip 과 같이 뒤에 숫자를 자동으로 붙여 줌.
      하루에도 여러차례 백업하는 사람을 위한 서비스입니다.
ver 1.3
    - 백업 동작시 압축처리 화면이 모달모드였는데 탐색기로 다른 작업이나 또 다른 백업을 즉시
      할 수 있도록 화면을 모달리스로 처리하여, 복수 동작이 가능하도록 했습니다.


[ 왜 만들었는가 ]

이 프로그램은 프로그래머가 프로그램을 개발할때 매일하는 소스 백업을 쉽게 하기 위해 만들어

졌습니다. 특별히 소스 백업을 위한 프로그램을 사용하지 않는 이상은 프로그래머는 해당 프로젝트

폴더를 압축프로그램으로 압축해서 백업하는 방법을 사용합니다. 이는 매우 단순하고 간편한

방법이지만 또한 가장 확실한 프로젝트 백업 방법이기도 합니다. 그냥 프로젝트가 압축된 zip

파일만 다른 드라이브와 USB 메모리 또는 다른 외장 하드 등에 복사해 놓으면 안심이 되는 백업

조치이기 때문입니다. 보통은 자기 하드에 일자별로 1부와 다른 외장 저장장치에 1부를 저장하여

2중 백업하는 것이 가장 안전합니다.

하지만 여기에는 약간 귀잫은 것이 있는데 백업할 필요가 없는 파일까지 함께 압축이 된다는

것입니다. 하지만 그것을 일일이 빼기는 더더욱 귀잖은 일입니다. 요즘은 하드디스크 용량이

크기 때문에 그냥 무시하고 저장하지만, 이것도 매일 쌓이면 매우 큰 용량이 되고 USB 같은

작은 용량의 저장장치에 백업을 하는 경우는 더더욱 큰 용량의 압축된 zip 파일은 낭비의 요인이

됩니다. 그래서 프로젝트에서 필요 없는 것은 빼고 압축하는 기능을 하는 프로그램을 만든 것이며,

이 작업은 윈도우 탐색기 기능의 일부로 들어가는 것이 가장 사용하기 편함이 필자의 겸험에서

확인한 것이기 때문에 탐색기 오른쪽 버턴 누르면 나오는 컨텍스트 메뉴로 들어가게 한 것입니다.


[ 어떻게 사용하는가 ]

이 프로그램은 윈도우 탐색기의 오른쪽 버턴을 누르면 나오는 컨텍스트 메뉴(Context Menu)에

프로젝트 소스 압축 메뉴로 나타납니다. 하나는 '프로젝트 압축 설정' 이고 또 하나의 실제

압축 메뉴는 하나의 폴더 또는 여러개의 폴더를 선택한 후 오른쪽 버턴을 누르는 경우 컨텍스트

메뉴에 나타나게 됩니다. 이때 하나의 폴더를 선택한 경우는 '해당폴더명 + 오늘날짜.zip' 과

같은 식으로 파일명이 나타나고 여러개의 폴더를 선택한 경우는 '상위폴더명 + 오늘날짜.zip'과

같은 식으로 파일명이 나타납니다. 이는 프로젝트 백업시 일자별로 파일명을 붙이는 수고를 덜기

위한 것입니다. 만일 이미 같은 파일명의 압축된 zip 파일이 있는 경우는, 오늘 날짜 뒤에

-1.zip과 새로운 번호를 계속 붙여 주게 됩니다. 그러므로 최종 백업본을 쉽게 구별할 수 있습니다.

이때 백업되어 압축파일이 저장되는 위치는 '프로젝트 백업 설정->옵션'에서 지정한 백업 폴더에

만들어지게 됩니다. 만일 백업 폴더를 특별히 지정하지 않으면 백업하는 폴더나 그 상위 폴더에

압축 파일이 만들어지게 됩니다.

zip 파일로 압축 백업될 때  옵션에서 지정한 압축 제외 파일은 압축 대상에서 제외하게 됩니다.


[ 설정 ]

압축에서 제외할 파일의 종류를 선택하는 것입니다. 체크된 것은 압축 백업에서 제외됩니다.

옵션탭에서 zip 파일 저장 폴더를 지정할 수 있습니다.

프로젝트가 있는 드라이브와 다른 드라이브에 백업 폴더를 하나 만들어 그것을 지정하는 것이

좋습니다. 가령 D:\Project\SoruceBackup 폴더에 개발하면 E:\Backup 같은 식이 좋지 않을까요.

설정화면에는 각 개발 언어별로 선택을 할수 있게 되어 있는데, 사실 언어와 관계없이 체크된

것은 일괄 적용됩니다. 실제 3가지 언어를 섞어서 개발해보면 언어별 설정이 그다지 의미 없다는

사실을 알게 됩니다. 이는 언어별로 쓸모 없는 파일이 거의 겹치지 않는 까닭입니다.

이렇게 언어별로 구분한 것은 대중적으로 가장 많이 사용하는 개발툴을 개발자가 편리하게

선택할 수 있도록 편의를 위한 것이지 해당 개발 언어만이 해당하는 것은 아닙니다.

즉 개발툴과 관계없이 체크된 것은 모두 백업에서 빠지게 됩니다. 그러므로 설정에 없는 자바

프로젝트나 C#, .NET 프로젝트 등에서 아무런 문제 없이 사용할 수 있는 것입니다.

심지어는 html 작업에서 소스 백업에도 유용하게 사용할 수 있습니다.



디폴트로는 가장 흔하게 개발하는 방식에서의 백업할 필요가 없는 파일을 지정한 것이므로,

프로젝트에 따라서 혹 제외시키면 안되는 파일도 있을 것이니 약간의 유념만 해주면 됩니다.

사실상 가장 용량을 많이 차지하는 몇개의 파일만 제외시키면, 소스 백업시 거둘 수 있는 용량

절감의 효과는 대부분 충분합니다. 이 프로그램을 효과적으로 사용하기 위해서는 디렉토리 배치와

디렉토리 명칭 지정를 생각해 볼 필요가 있습니다.


[ 팁 ]

이 프로그램으로 압축된 프로젝트 파일은 쓸모없는 파일이 제거되므로, 인터넷에도 올리기 적합하게

최소화 되는 장점이 있습니다.  VC같은 경우 pch 파일이 보통 10M대 그 외 쓸모없는 파일만

거의 20M에 육박해도 그것을 그냥 압축해서 올리는 경우가 많습니다. 이는 올리는 사람에게도

받는 사람에게도 모두 불필요하고 부담을 주는 일이며 인터넷과 디스크 공간의 낭비입니다.

올릴때 이 프로그램으로 압축해서 올리면 간편하고 좋습니다.


[ 프로그램 제거시 주의사항 ]

이 프로그램은 윈도우 탐색기의 일부로서 동작하기 때문에 프로그램 제거시 메인 DLL 파일이 삭제되지

않을 수 있습니다. 이는 리부팅을 하거나 explorer.exe 프로세스를 죽이고 다시 실행해야 완전히

제거할 수 있게 됩니다. 그러므로 삭제후 곧바로 다시 설치시 SourceBackup.dll을 쓸수 없다고 에러가

나올 것입니다. 이는 간단히 무시하시거나 리부팅후 다시 설치하시면 됩니다.



[ 라이센스 정보 ]

이 프로그램은 freeware로 누구나 복사해서 사용할 수 있습니다.

판매와 같은 상용은 금지하지만 회사 등 어느 곳에서나 자유롭게 사용해도 됩니다.

이 프로그램은 명확한 구현과 신뢰할 수 있는 zip 컴퍼넌트을 사용하기 때문에, 사용 도중에 문제가

생길 가능성은 극히 없으나, 혹 사용중 생기는 어떠한 문제에 대해서도 제작자는 책임을 지지 않습니다.




제작자 : (C) 김태성 (jsdkts@korea.com), All rights reserved.

- 건의사항은 메일로 보내주시기 바랍니다. 하지만 바빠서 답변을 하지 못할 수 있으니
  양해 바랍니다.

- 옵션에 보면 언어별로 같은 항목도 있는데 이는 어느 한 곳만 체크되어도 압축시 제외 시키게 됩니다.
외랑 [jaehuns]   2007-10-27 21:44 X
유용한 툴이군요.
감사하게 쓰겠습니다. 꾸벅..
사실 GExpert의 백업기능이 있긴 하지만 탐색기상에서 백업을 더 많이 하게 되는지라 게다가 VC에서도 백업을 하는 경우도 되니까.. 좋네요..
외랑 [jaehuns]   2007-10-27 23:33 X
Root 디렉토리에서는 동작하지 않는가요? 22byte 크기의 빈 압축파일만 생깁니다.
김태선 [cppbuilder]   2007-10-28 00:01 X
어느 root 디렉토리를 말씀하시는 건가요?
드라이브 자체는 압축을 지원하지 않습니다.
하지만 root 밑의 폴더는 한개든 여러개든 압축에 문제는 없습니다.
안되는 상황을 구체적으로 알려주시면 고맙겠습니다.
외랑 [jaehuns]   2007-10-28 16:48 X
안녕하세요 김태선님
예를 들어 C:\ (root) 밑에 Project1 이라는 폴더가 있는데, 현재 디렉토리가 c:\일 때 Project1 폴더를 선택하고 우측클릭해서 팝업메뉴로 현폴더에 Project1날짜.zip 파일로...
선택하면 root에 22byte짜리 빈 형태의 압축화일이 생긴다는 얘기입니다.
root 한단계 아래의 폴더는 이렇고, 폴더를 옮겨서 그 이하(c:\backup\project1)구조로 만들어서 똑같이 하면 잘 됩니다. 제가 이상하게 쓰고 있는 건 아닐테지요??
감사합니다.
김태선 [cppbuilder]   2007-10-28 21:37 X
버그 수정되었습니다. 수정한 버전을 올렸으니
이전 버전은 언인스톨하시고, 새 버전을 설치하시면 됩니다.

저는 C: 에는 시스템 외는 두지 않고 D: 쪽에서 개발하여,
c:\project1 과 같은 경우는 테스트를 못해봤는데, 살펴보니 간단한 문제였습니다.

외랑님. 문제를 체크해주셔서 감사합니다.
외랑 [jaehuns]   2007-10-29 08:55 X
감사합니다. 유용하게 잘 쓰겠습니다.

+ -

관련 글 리스트
360 프로젝트 소스백업 도우미 1.3 (세번째 업데이트입니다) 김태선 11148 2007/10/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.