선물 받고 싶은 물건을 말하기 전에 먼저 키보드에 대해서 말하고 싶습니다.

지금 키보드 중 미니 키보드로 바꿔서 사용중입니다. 세진 USB 미니 키보드 인데, 현재 USB 연장선을 이용해서 쓰고 있죠.
다른 USB 장비로 할때는 잠시 삼성 PS/2 키보드를 사용했다가, 끊임없이 USB 키보드를 연결해서 쓰고 있죠.
까만 색에 작으만한 적절한 키보드인지라 나름대로 좋은 느낌으로 쓰고 있었습니다.

그런데.... 키스트록이 좀 작은 것 같습니다. 키 스트록이란 키를 눌렀을때의 깊이를 말하는 건데,
꼭 IBM 노트북을 쓰는 기분이라고 할까요? 물론 이것도 그다지 나쁜 것은 아니지만 그래도 좀 느낌이...

그러다 지금 새로운 키보드를 봤습니다.
http://www.funshop.co.kr/vs/detail.aspx?no=0050856006

저 제품인데.. 상당히 매력적입니다.
타이틀은 FUJITSU Happy Hacking Keyboard Professinal 입니다.
물론 이것의 저가형 모델인 Lite가 있지만, 그건 가격만 비싼 모양만 비슷하게 만든 제품이라는것이
다른 이들의 평가더군요.

아직 키를 눌러보지 않아 어떤것인지 잘 모르겠지만, 많은 사람들이 그 키보드를 이용하고
많은 이야기를 하며 격찬을 아끼지 않는 것에 상당한 관심이 끌립니다.
단순히 우리나라에 국한된 것이면 모르겠지만, 외국에서도 이미 자자한 평가가 있더군요.

아마도 제 상상속의 키보드가 바로 이것이 아니였는지요?

그러나 너무 엄청난 가격에 놀랄 수 밖에 없지만... 나중에 여유가 된다면 그것을 구입하고 싶습니다.
혹시 누군가 저에게 선물을, 그것도 무척이나 비싼 물건을 선물 해주신다면 아마도 이것을 받고 싶군요.
하하하
728x90
가끔 사이트들을 돌아다니다 보면, 어느사이에 각종 음악에 관련된 내용이 게눈 감추듯
사라졌습니다. 처음에는 왜 그렇게 사라졌을까 의문도 들고, 그 덕에 새로운 음악을 접하는
것이 무척이나 어려워져 버렸죠.

그러던중 리얼팀이라는 아카펠라 그룹의 이 노래를 듣게 되었고, 문득 내 홈페이지 안에도
이 음악을 넣고 싶다는 생각이 들었습니다. 그래서 넣었습니다.

그 후, 친구의 홈페이지에 저작권 법에 관련된 블로그를 띄웠더군요.
홈페이지같은데에 음악을 띄우면 안된다고.... 바로 저작권 법 때문이라고 하더군요.
처음 전 갸우뚱 했습니다. 왜 안될까? 무엇이 걸리는 문제인가.
전에는 들리지 않았던 뉴스가 갑자기 이 저작권법에 대한 내용이 들리더군요.
애국가도 걸린다는....
순간 얼마나 황당하고 우스웠는지. 너무 극단적인 판단은 아닌지 궁금하더군요.

단지, 지나친 배포를 통해 음반시장을 추스리기 위해서 공개적인 곳에서 무단으로 배포하는 것을
막는 것일뿐인데...

저는 그렇게 생각했고, 지금도 그렇게 생각하고 있습니다.
그래서.. 전 아직도 뻔뻔하게.. 저 음악 틀어놓고 있습니다.

뭐... 잘못된 생각이면 누군가 태클을 걸든가.. 공공단체등에서 경고가 오겠죠.
728x90
Visual SourceSafe 6.0 #2

4. Check Out / Check In

소스등록을 완료 했으면 이제 준비작업은 다 끝난 겁니다. 지금까지 걸어온 길은 이제 소스의 버전관리를 위한 준비과정이었습니다.
여기까지 셋팅이 완료되면 이제 진짜 버전관리에 들어가는 것입니다.

맨 처음에 언급한 버전관리라는 부분을 읽고 기억하시는 분도 계시리라 믿지만
혹시나 하는 노파심에 다시 버전관리에 정의를 다시 알려드리겠습니다.
 

버전 관리의 핵은 변화된 시점을 정확히 체크해주는 것입니다. 물론 VSS가 어느 정도의 자동화를 해준다고 하지만, 실제 변화된 시점을
알려주는 것은 바로 개발자의 몫입니다. 물론 이렇게 간단하게 끊어 버리면 많은 분들이 의문을 가질 수 있습니다.
무엇을 끊고 무엇이 변화된 시점인지... 전혀 감이 안 잡힌다는 문제죠.
일단 제가 가진 소스를 가지고 어떻게 표현을 하는지 한번 언급을 하도록 하겠습니다.

소스의 변화라는 것은 단순 주석 변경이나, 엔터키 입력, Space 키 입력을 의미하는 것이 아닙니다.
일 예를 들기위해 제 나름대로의 기준은 클래스 추가, 변경, 삭제 입니다.
물론 정책별로 들립니다. 실행되는 모듈을 기준으로 잡을 수도 있고, 기능의 세세한 부분의 변경도 될 수 있겠지만,
저의 기준은 클래스를 두고 봅니다. 그래서 클래스의 추가가 발생하거나, 클래스 내부가 변경되거나, 삭제 될 때
소스의 버전 업 단계를 둡니다.

하나의 가상의 이야기를 적어 보겠습니다.

제가 이 VSS를 설명하기 위해 제 나름대로의 프로젝트인 naoko를 예로 들겠습니다.
하지만 아직 이 naoko는 현재 Dialog-base MFC Application 형태로 Wizard를 사용하여 자동 생성해놓은 상태입니다. (笑)
일단 설명을 위해 작성한것에 불과하니깐요.
그럼 본격적인 설명으로 들어가죠.
일단 모듈을 하나 추가하고 싶습니다. 자동으로 만들어진 클래스 3개 중에 Dialog 부분에서 LButtonDown 시에 확인창을 띄우는 기능을 추가하고 싶어졌습니다.
일단 제 소스형태를 보여드리죠.

  

보시면 알겠지만 뭐 들어 있는 건 거의 없습니다. Dialog-base로 Wizard로 만들어 놓고, 설계만 하고 코딩은 전혀 안 한 상태죠.

모듈 추가이므로 이 부분을 VSS에게 알려야 합니다. 즉 CNaokoDlg 에 LButtonDown을 추가한다는 사실을 VSS에게 알려줘야
하는 것입니다. 게다가, 이 소스는 바로 앞장에서 말씀 드렸듯이 모든 Source에 Read-only가 되어있다는 사실입니다.
어차피 소스의 수정은 안 된다는 의미입니다.

일단 VSS를 띄우고 해당하는 소스부분을 선택합니다. 지금 수정할 Class가 CNaokoDlg 이므로 naokodlg.h 와 naokodlg.cpp를
수정하게 될 것입니다. 이 부분을 VSS 상에서 선택 처리 해야 합니다.


보시면 아시겠지만 왼쪽 트리에서는 naoko를 선택하고 오른쪽 소스 리스트에서는 해당하는 소스 파일이름을 멀티 셀렉트했음을 알 수 있습니다.
일단 이렇게 선택하시고 메뉴의 SourceSafe -> Check Out을 선택합니다.
즉 소스의 수정의 시작을 의미합니다. 이렇게 선택하면 아래와 같은 대화창이 뜹니다.


여기서 보면 각종 여러 가지 옵션들이 있는데, 이 부분은 나중의 연구부분으로 두고 일단은 간단하게 넘어가도록 하죠.
Comment에 무언가를 쓰게 되어 있고, To에는 현재 프로젝트의 소스파일 위치를 알려주고 있죠.
거기에 Don't get local copy 와 Only show this dialog when the Shift key is down 의 체크가 있고,
Advanced 라고 해서 무언가 더 펼쳐 질것 같고요.
체크와 Advanced 쪽은 넘어가죠.
현재 중요한 것은 Comment 정도니깐요.

Comment에 현재 왜 이 소스를 Check-out 하는 지를 적어 줍니다. 물론 Check-out에서 굳이 내용을 적을 필요는 없습니다.
VSS 로그 상에서는 그 부분은 기재하지 않거든요. 그럼 왜 적어 줄까요?
혼자 작업하는 경우에는 거의 쓰이는 경우가 없지만 단체로 작업할 때는 쓰입니다.
즉 A라는 사람이 해당 Source를 Check-out 해버리면 다른 사람들은 VSS상에서 Check-out을 승인 받지 못합니다.
즉 소스를 전혀 수정하지 못하게 되죠. 이 때 Check-out 승인을 받지 않은 사람은 왜 승인을 못 받는지에 대해서
간단한 메시지를 이 Comment를 통해 받게 되죠.

즉 혼자 짤 경우에는 Comment를 비워놓고 OK 하셔도 됩니다. 하지만 팀 플레이 하게 되는 경우가 발생할 수 있으며
좋은 버릇은 처음 부터 들여 놓는 것이 좋으니깐, 가급적 써주세요. 번.거.롭.더.라.도. 말이죠.
원래 버전관리는 무척 번거로운 작업입니다.


Check-out 하시면 드디어 무언가 변화된 모습을 보실 수 있습니다. naokoDlg.cpp와 naokoDlg.h 아이콘에 check 표시가
되어 있죠. 바로 Check-out의 시작입니다. 즉 이 소스는 User에 적힌 ID로 접근한 사람만이 변경을 할 수 있다는 의미입니다.
Check Out Folder의 의미는 해당 ID로 접근한 사람의 로컬 PC내의 Working Folder를 보여줍니다.
사람마다 소스를 넣는 위치는 다 틀리므로 어디에 있는지 알려주는 것이죠 ^^


자, 이제 LButtonDown의 모듈을 넣습니다.


아주 웃기는 내용이지만 일단 모듈 추가를 한 것이죠. 일단 해당 소스를 컴파일 해서 실험을 합니다.
컴파일은 제대로 되는지 정상적으로 작동하는지. 이 부분의 기준은 개인적으로 가지고 있는 점검표를 가지고 점검을 해보세요.
꼭 점검을 제대로 하시는 것이 좋죠. VSS에 등재하기 전에 꼭 이런 테스트를 가지도록 하세요.
번거로운 작업이지만 나중을 위해서는 꼭 해두는 것이 좋습니다.

그리고 난 뒤에 변경된 소스를 저장하세요. 가급적 Files -> Save All을 통해 저장을 해두시기 바랍니다. 단순히 소스상의
변경된 내용이야 소스파일을 선택해서 저장하면 되지만, 파일을 추가하거나 삭제한 경우 *.dsp 파일이 변경이 되는데
대부분 이 파일을 저장하는 것을 잊어 먹는 경우가 많습니다. Save All 하시면 이 파일도 저장이 되므로 꼭 전체 저장을 해주시기
바랍니다.

자 대망의 Check-in.
체크인전 중요한 점을 잊지 않으셔야 될것 같습니다.
물론 추후 Versionning 이라는 주제로 다시 언급하겠지만, 여기서 간단하게 언급을 하자면, Check-in 전에 반드시 정상적으로 실행되는 모듈이여야 합니다.
Check-in 하게되면 VSS 상에 등록이 되는데, 원래대로 돌아가는데 컴파일 오류나 버그가 있으면 굉장히 곤란한 상황에 빠집니다. 반드시 컴파일 하고, 자신만의 테스트 후에 등록하세요


이제 VSS 상에 변경된 내용을 적용을 해야 합니다. 아직까진 자신의 PC내의 소스만 변경된 것이지 VSS 상에서는 저장이 된 것이 아닙니다. 즉, 이젠 변경된 내용을 VSS에 올리는 작업을 해야 합니다. 바로 전에도 언급했듯이 반드시 전체 저장을 해주시기 바랍니다.
오로지 로컬상에 저장된 파일을 올리지, VC에 떠 있는 파일을 올리는 것이 아닙니다 !!!!



check-in 메뉴가 이전과는 다르게 활성화 되어 있죠?
Check-out이 된 상태의 소스만 저렇게 활성화가 됩니다.
일단 저 두 개의 파일을  Check-in 해줍니다.


Check-out과는 다르게 Comment의 크기가 압도적이죠? Check-in이 되는 순간 VSS상에 기록이 완전히 되버리기 때문입니다.
가급적 상세하게 적어주세요. 물론 빈 채로 두어도 되지만, 자신이 왜 현재 소스를 Check-in 했는지의 여부를 나중에 알 수 있게 되기 때문입니다.
나중에 문득 왜 이렇게 수정이 되었는지를 알 수 있게 되는 중요한 단서가 될 수 있기 때문이죠.

여기서 잠깐! Check-out 이라는 단어의 의미를 먼저 아시면 헷갈릴 위험이 적죠. 지금 check-out을 사전에서 찾아보시면 "기계의 점검"을 의미합니다.
즉 여기서는 소스의 점검이 되겠죠. check-in은 점검 완료의 등재를 의미하게 되죠. 이 부분을 헷갈리지 마세요.
Check Out으로 시작해서 Check In으로 끝난다는 사실을 기억하시면 됩니다.
728x90
Visual Source Safe 6.0 #1

이제 준비 작업 중 2/3는 끝났습니다. 이제 이용하기 위한 준비를 하도록 하죠.

VSS를 이용하는 방법은 크게 2가지가 있습니다.

1. Microsoft Visual SourceSafe 6.0를 띄워서 하는 경우
2. Visual C++ 에서 직접 하는 경우

1번째 방법은 Visual Source Safe 클라이언트를 직접 띄워 하는 방법입니다. DB에 저장된 내용을 한눈에 볼 수 있고
소스 관리는 한눈에 보면서 합니다. 게다가 버전관리에 관련된 다양한 기능을 다 쓸 수 있습니다. 게다가 소스 위치만
잘 정해 주시면 VC말고도 다른 언어 소스도 버전관리도 할 수 있습니다.  
VC의 자동화 기능을 쓰다가 쓰면 아주, 아주, 불편해 보일 지도 모릅니다.
게다가 소스 창과 이 창을 계속 왔다 갔다 하다 보면 어느새 손이 Alt + Tab을 하염없이 누르고 있는 자신을 바라보게 됩니다 -_-;;;;

2번째 방법은 어차피 VC에서 지원하는 방법인지라 그냥 하시면 됩니다. 거의 완벽에 가까운 자동화죠.
개인적으로는 권장합니다. 편하거든요. 그냥 VC 하면서 자동적으로 버전 관리도 해주고 그냥 그냥 씁니다.
Source 편집 시에 자동으로 Check Out을 해주고 자동으로 VSS 의 DB에 연결해줍니다.
Check In이 되어 있는 경우에 자동적으로 편집도 안되게 해줍니다.

하지만,  여전히 버그는 있는지라 완전 맹신하면 크게 뒤통수 한번 맞습니다. VSS 기능을 뛰어넘는 기묘한 작업
(VSS 설정 파일 손대기 및 소스 위치의 변경 등등)을 하게 되면  갑자기 Check In/Out이 지원 안되거나
이상한 폴더에 소스를 복사해 놓고 멋대로 작동하는 경우가 발생합니다.
자동화에도 한계가 있음을 다시 한번 확인할 수 있다고나 할까요?
- VS 2003 에서는 제대로 되겠죠? 잘 모르겠습니다. 여전히 VC 6.0 Sp5를 쓰는 입장이라 ... -

일단 1번째 방법을 먼저 설명하겠습니다. 그  VSS 6.0 Client  이 Tool 이용하는 법을 어느 정도 익숙해지면 VC에서는 손쉽게 적용이 가능합니다.
게다가 기능도 무지 많아서, 추려서 자주 쓰는 기능들을 언급하도록 하겠습니다.

1.로그인

Visual Source Safe 6.0 을 실행 시키면 제일 먼저 아래와 같은 화면이 뜹니다.


자신이 쓰는 DB 이름이면 그냥 ID와 Password를 넣으시면 됩니다. 만일 아닐 경우
(예를 들면 COMMON 이거나 전혀 다른 DB 이름인 경우) Browse를 눌러 아래와 같은 창이 뜨면 해당하는 DB를 선택해 주시기 바랍니다.
역시 리스트에 없으면 창에서 Browse를 선택해서 해당 DB위치를 잡아주셔서 등록해 주시기 바랍니다.


뭐 이 부분은 앞에서 VS Admin 부분을 통해 알려드렸으니깐 하실 수 있겠죠? VSS에 로그인을 하시면 됩니다.

 

2. VSS Main Window



로그인을 하면 위와 같은 화면이 뜹니다. 일단 간단하게 번호를 매겨서 위치를 설명해 드리겠습니다.

1번 위치 : DB에 저장된 프로젝트 폴더 리스트 입니다. Explore의 폴더 보기와 동일한 트리구조 입니다.
2번 위치 : 선택된 폴더에 있는 파일 리스트 입니다. 1번위치에 해당하는 폴더를 선택하면 그 안의 파일들을 보여 줍니다.
3번 위치 : 각종 기능들이 작동된 Log를 나열합니다. 각종 기능 결과값을 보여 줍니다.
4번 위치 : 메뉴 입니다. (번호를 매기고도 민망합니다.)
5번 위치 : 툴바 입니다. (역시.. 민망 ... _nollll .... )

DB안에 많은 프로젝트를 담을 수도 있고 하나의 프로젝트를 담을 수 있습니다. 일단 $/ 위치 바로 아래 부분을 보통 프로젝트라고
합니다. 물론 루트에다 해당하는 소스를 걸 수 있지만, 일반적으로 바로 아래 단에 프로젝트 이름을 담은 폴더를 만들어 두곤 합니다.
뭐 정책은 자신의 기준에 맞추어 세워 두시면 됩니다.

그리고 원래는 해당하는 부분에서 마우스 R-Click 하면 해당 메뉴들이 쏟아져 나오는데, 이것까지 연동하여 캡춰하기가 그러니깐,
가급적 설명은 메인 메뉴와 툴바를 이용하여 처리하도록 하겠습니다. 마우스 R-Click 메뉴 부분은 알아서 비교 연구를..(죄송 ;;;; )

 

3. 프로젝트 생성과 소스 등록

대충 설명하고 갑자기 실제 기능적인 설명에 어이 없을지는 모르겠지만, 제가 이 VSS에 대해서 이론적인 바탕이 거의 전무합니다.
오로지 사용하닥 깨달아서 나온 경험을 근간하기 때문이죠. 그러므로 실제 설명도 제가 사용해 보았던 방법을 근간으로 말씀드립니다.

여기서는 Folder가 하나의 프로젝트로 생각한답니다. 프로젝트라고 적혀 있어도 그냥 폴더라고 생각해 주시기 바랍니다.

  

먼저 1번 폴더 리스트에서 루트를 선택하시고, Files -> Create Project 를 골라주시기 바랍니다.
그러면 오른쪽과 같은 다이얼로그가 뜨는데, 위 창에 이름을 아래 창에 해당 프로젝트 설명을 넣어 주시기 바랍니다.
물론 Project 이름은 가급적 영어로 써주세요.
한글로 써 본적이 한번도 없어서 잘 모르겠지만, 왠지 위험. 그래서 가급적 영어로 써주세요.

그러면 아래와 같이 등록이 됩니다.



프로젝트 폴더 리스트가 보이는데 거기서 naoko가 등록된 것을 볼 수 있습니다. naoko를 선택하시면
역시 아무것도 등록하지 않았기 때문에 보이는 건 저것 밖에 없지만.. 이제 실제 프로젝트로 사용할 내용을 등록해야 합니다.


등록할 때 쓰는 메뉴는 File -> Add Files ... 입니다. 잠깐 여기서  Add Files 하는 것은 다 좋은데 먼저 파일을
add 할 폴더를 왼쪽 프로젝트 트리 창에서 선택을 해주세요.
루트에 체크된 상태에서 Add 해봐야, 루트에 Add 될 뿐입니다.  꼭 해당하는 위치에서 Add 하세요.
혹시 잘못 Add 했으면 꼭 Add 된 파일을 지우세요.
여기서 Add 된 것은 DB에 기록되는 것 뿐이니깐, 지워도 원래 위치에 있는 파일은 안 지워 집니다.
Add Files를 하시면 아래와 같은 다이얼로그가 뜹니다.


해당 소스가 있는 위치를 잡으세요. 그리고 난 뒤에 List files of type에서 VC 부분을 선택하세요. 모든 파일을 add 할 수 있겠지만, 쓸데 없는 DB 낭비일 뿐이죠.
그러므로 꼭 해당하는 파일만 Add 하시길. 일단 VC로 필터링 된 파일은 다 Add 해도 됩니다.

Add 하면 아래와 같은 대화 창이 뜹니다.


각 파일을 등록할 때 지금 등록된 파일에 대한 설명을 넣으시면 됩니다. 물론 귀찮으신 분은 Apply same comment for all 을 체크하시고 대충 쓰시고 OK 하시면 됩니다.
그러면 지금 Add 파일 모두 로그상으로는 지금 적은 Comment로 등록됩니다. 귀찮더라도, 친절하게 Comment를 넣으시면 나중에 History를 보면서 도움은 많이 됩니다.

첫 Add를 할 때, Set working Folder를 지금 Add한 파일 위치에 넣겠냐고 묻는 대화창이 뜨는데,
그건 그냥 OK 하세요. Working Folder 부분에 대해서는 나중에 설명 드리죠. 일단 이렇게 Add를 했죠.
그러면 아래와 같이 뜹니다.


하지만 다 한 것이 아니랍니다.
보통 Wizard를 통해 VC프로젝트를 만들면 res라는 폴더가 자동으로 생깁니다. 이것도 넣어 주셔야겠죠. 애석하게도 Add File 안에는 Recursive(재귀호출) 방법으로
하위 폴더 까지 Add를 못해주기 때문에 번거롭더라도 프로젝트를 이하에 생성해 주어야 합니다. 마찬가지로 트리에서 해당하는 프로젝트를 선택하시고
위에서 언급한 프로젝트 생성과 동일한 방법으로 res를 생성해 주시기 바랍니다. 그러면 아래와 같은 화면으로 뜹니다.


위에서 마찬가지로 해당하는 소스를 더해서 처리하면 아래와 같이 됩니다.


이런 식으로 소스를 등록해 주시면 됩니다.


------------------ 수정 2005/02/25 ---------------------------------------------------
Add 하는 방법에 대해서 추가적으로 말씀 드릴 것이 있습니다.
위의 방법은 File 한개 한개를 등록하는 방법으로, 만일 프로젝트가 여러개의 폴더일때는..
정말이지 노가다에 가까운 작업을 하게 됩니다.
저도 한동안 VSS를 안하다 보니, 갑자기 빠트리게 되었습니다. -_-;;;;;
요근래 프로그래밍을 하다고 보니, 그 방법을 알게 되었습니다.

앞에서는 Project를 Add 할 때, 위에서는 Add 할 위치를 Create Project를 이용하여 생성했습니다.
하지만, 이번에 하는 방법에서는 그럴 필요가 없습니다. 폴더 채로 등록하는 것이니깐요.

현재 프로젝트 폴더가 어딘지 그 위치를 보세요. 위치상으로는 1번 창에 나오는 부분인데, 지금 커서가
등록할 위치에 해당하는지를 확인하는 것입니다.

그리고 등록을 할 폴더를 Add 하는 작업입니다. Add는 물론 위에서 처럼 File -> Add Files ... 를 통해
시작합니다. 그러면 다음과 같은 화면이 뜹니다.


여기서 이전에는 소스를 선택했다면, 이번에는 폴더를 선택하는 것입니다.
예제 화면을 기준으로 하면 오른쪽에 보이시는 NAOKO라는 폴더를 선택하시면 됩니다.
왼쪽의 소스부분말고, 오른쪽의 폴더를 선택하는 것입니다.
물론 맨 아래에 있는 파일 종류를 선택해 주시기 바랍니다. 그러지 않으면 잡스런 파일이 다 Add되니깐..
가급적 파일 종류를 선택해 주세요. 물론 지금은 VC용이니깐, 당연히 VC용을 선택하시면 됩니다.
그리고 OK 하세요.
그러면 파일 등록할 때와는 약간 다른 화면이 뜹니다.

저 창의 아래부분을 보시면 색다른 체크가 있습니다.
바로 RECURSIVE. 이것이 바로 이하 폴더까지 전부 긁어 주는 훌륭한 기능을 하는 체크 버튼 입니다.
이 체크 버튼을 체크 해주시고 OK 해주세요.

그러면 이전에 파일만 등록하는 것과는 다르게, 이하 폴더의 내용까지 전부 Add 하게 됩니다.

--------------------------------------------------------------------------------


자, 등록된 파일을 확인해보도록 하겠습니다. 현재 VSS 등록된 파일들을 열어보시면 신기한 광경을 구경할 수 있습니다.


현재 VSS에 등록된 파일들이 전부 Read-only가 되었다는 사실입니다. 즉 아무렇게나 편집되지 않도록 Read-only를 자동으로
걸어주는 것입니다. 요즘은 Read-only에 대해서 그다지 특별한 안전장치는 아닙니다. 간단하게 Read-only를 풀수는 있죠.
하지만, 중요한 것은 Read-only가 걸린 파일은 꼭 VSS를 거쳐 달라는 의미라는 것입니다.
즉 소스 편집을 한다고 무조건 Read-only를 멋대로 풀고 소스 작업을 하는 것이 아니라, 꼭 VSS 를 통해서 작업을 해달라는 것입니다.
이점을 꼭 기억하세요!!!!!
728x90
어제 창우와 정오와 함께 영화를 보았습니다.
이런 저런 영화에 대한 논평에, 무엇을 볼까의 고민이 있었지만, 그냥 단순 무식이 좋겠다는 의견에
콘스탄틴으로 그냥 밀구 나가 버렸습니다. 뭐 고민하는 영화나 감동하는 영화를 뒤로 한채 말입니다.
이번에는 시간대를 밤으로 옮겼습니다.
물론 이 제의를 한 정오군이 본가측 식구 공수하는 바람에 늦게 올지 모르기 때문에
결국 밤에 보기로 한것입니다.
창우군과 먼저 만나 극장을 갔는데, 그냥 둘이서 대충 결정하고 시간도 가장 가까운 12:30분 표를 사버렸습니다
애석하게도 정오군과 상의를 하구 싶어도 워낙 전화가 안되니...

뭐 그냥 그냥 결정해 버리고 일단 기다렸습니다.
그런데 왠걸... 정오군이 너무도 늦게 와버리는 것입니다.
그래서 결국 앞부분의 아주 조금은 날려 먹고 보았습니다.
그래도.. 역시 별 내용이 없는 아주 단순한 퇴마사 이야기인지라...이해하는데 아무런 방해는 안되는 군요 ^^:

뭐 그냥 그럭저럭 봤습니다. 금연하라는 기묘한 메시지를 깊게 파놔서 좀 마음엔 안들었지만..
감탄도 후회도 안한 아주 그저 그런 영화였습니다.

끝나니 새벽 2:30 뭐 할거 없어... 그냥 찟어졌죠...

하하하... 나중에는 좀 남는걸 봐야 할것 같습니다.

728x90
이 Visual Source Safe(이하 VSS)는  Visual C++(이하 VC) 또는 Visual Studio(이하 VS)를

디폴트로 설치할 때 늘 같이 설치되는 Application 입니다.

이 프로그램의 역할을 잘 알지 못하는 사람이 대부분 이여서 설치되어 있어도 그냥 방치하거나

VS을 설치할 때 Custom을 선택해서 설치 옵션에서 빼버리기도 합니다. 하지만 조금만 내용을 아시게 되면 이 프로그램을 꼭 설치할

수 있게 됩니다. 일단 VSS를 설명하기 전 소스 버전 관리라는 것을 먼저 알려드려야 할 것 같습니다.

 

1. 소스 버전 관리 (Source Version Management)

하나의 Application을 만들 때 많은 개발자가 함께 개발을 하게 됩니다. 다양한 사람들이 다양한 생각을 가지고 소스를

다루게 되죠. 이 때 소스의 많은 부분이 붙었다가 떼어졌다가 하게 됩니다. 일부분이 수정되어 지기도 하고 일부분이 추가 되기도

하죠. 물론 회사 나름대로의 정책을 세워 만들어 나가 정리할 수 있겠지만, 악의가 전혀 없는 한 개발자의 실수로 만든

프로그램이 실행도 안되게 만들 수 있겠죠. 이런 것이 누적되었으면 누가 어디를 수정했는지 알 수 없게 되고,

그 실수한 사람이 원래대로 돌릴 수 없는 불상사가 벌어지게 됩니다.

이런 문제를 발생하지 않게 하기 위해 하는 방법이 버전 관리입니다.

즉 소스에 변화가 발생된 시점을 나누어 해당 소스를 저장해 놓는 것이죠. 그래서 변화된 것이 이상이 없는지 확인한 후

버전 대로 Release를 하게 되는 것입니다. 만일 문제가 생겼으면 이전 버전을 다시 돌려놔서 문제가 발생한 부분을 적절하게

고치고 문제가 발생시킨 개발자에게 응징(?)을 날리죠 ^^;;;;;

여러 가지 Application 의 About를 보시면 (V.11.516.589) 이런 것을 보실 수 있을 텐데 이게 바로 Release 버전을 말합니다.

즉 소스에서 버전을 매기고 만든 결과 입니다. 물론 해당 회사의 버전 정책에 따라 틀리겠지만 일반적으로 다음을 말합니다.

11번의 큰 틀의 변경과 516번의 주요 모둘 변경, 그리고 516번째에서 589의 작은 변경을 한 것이죠.

 

대충 이 정도로 하도록 하죠. 버전을 나누는 방법은 상당히 전문적인 내용이 될 수 있습니다.

특히 그룹단위 프로그래머 팀에서야 엄청난 정책이 난무하게 되죠.

하지만 여기는 제목을 보시면 아시겠지만, 혼자 짜는 Application 을 위한 VSS 입니다 ^^;

그러므로 이 기준은 자신이 알기 편하게 나누시기 바랍니다 단순 소스 변화에서도 넣으셔도 좋고, 굵직한 모듈을

붙이고 떼셔도 무방합니다.

 

2. About VSS

일단 버전 관리라는 것을 대략적으로 대충은 아셨으리라 봅니다.

그럼 이 VSS란 무엇일까요? 바로 그 버전 관리를 편하게 도와주는 툴입니다.자동으로 버전을 매겨주고

그 정보를 자동으로 보관해줍니다.게다가, MS에서 만든 것이라서 MS에서 만들어진 개발 툴 모두를 지원합니다.

하지만 워낙 가볍게 만들다 보니 큰 단위의 프로젝트에서 보다는 중,소 규모의 팀 단위 작업에 보통 이용됩니다.

(MS에 다니시는 분들은 다른 툴을 쓰시는 지... 아니면 여러 개의 VSS를 연결해서 쓰시는 지는 잘 모르겠습니다 ^^;;)

워낙 VC 나 VB같은 MS 제품은 VSS에 연계가 잘돼서 상당히 편하게 작업할 수 있게 됩니다.

보통 설치되면 프로그램 메뉴 안에 "Microsoft Visual SourceSafe" 안에 있게 됩니다.  

 

3. 그럼 VSS이 왜 필요할까요?

버전 관리에 여러 사람이 붙어서 개발할 때는 쓸모가 있겠지만,

과연 홀로 프로그래밍하는 사람에게 이 버전 관리 도구가 필요할까요? 라는 반문이 올지 모르겠습니다.

물론 1000 라인 이하의 Source나 2~3개의 Class로 충분히 Application을 만든다면 별 필요는 없을 것입니다.

되려 번거럽기만 하겠죠. 단순히 Source내에 주석만으로 충분히 Version 관리를 수행할 수 있기 때문이죠.

그러나 그 이상의 규모의 Application을 짠다고 한다면, 이야기가 틀려지게 됩니다.

 

VC로 제작하다 보면 Wizard로 소스가 자동으로 생성되고 거기에 자신의 소스를 붙이기 시작합니다. 그러다

이런 저런 생각이 치밀어 올라 CodeProejct 나 CodeGuru 같은 데서 이런저런 소스를 퍼와서 적용하기 시작합니다

그렇게 이곳 저곳을 고치고 난 뒤 다른 곳에서 빌려온 소스를 추가 했습니다.

경험이 있으신 분은 아시겠지만, 처음에는 잘 되다가 어느 순간부터 생각 치도 못한 오류가 발생하기도 합니다.

다행이 늘 소스를 백업을 했다면 다행이지만, 그렇지 않다면 슬슬 문제가 돌출하기 시작합니다.

어디를 고치고 어디를 삭제하고 어디를 추가했는지 모르기 때문에, 전부 실행하면서 Trace를 하게 되고

그 문제점을 찾기에 여념이 없게 됩니다.

그러면서 혼자 "아.... 백업을 충실하게 할걸...." 이라고 한숨을 쉬며 후회를 합니다.

 

이럴때 버전관리를 하고 VSS를 이용하면 손쉽게 위의 문제를 벗어날 수 있게 됩니다. 버전을 되돌려 가면서 어디서 부터는 제대로 돌아갔다는

것을 알기 시작하면 손쉽게 처리 되기 시작합니다. 그리고 그 당시로 소스를 되돌려 찬찬히 다시 작업을 할 수 있겠죠.

지금 부터 홀로 프로그램을 짜시는 분들을 위해 VSS를 설명하기로 하겠습니다.

 

아, 먼저 이 강좌를 실천하려면 VSS가 필요하므로 만일 VSS가 설치되지 않았다면 Visual C++ / Visual Studio 시디로

프로그램 추가/삭제 를 통해 VSS를 설치해 주시기 바랍니다.

VSS를 설치했으면 다음과 같은 메뉴를 보실 수 있습니다.



Analyze & Fix VSS DB, Analyze VSS DB, Microsoft Visual SourceSafe 6.0, Visual SourceSafe 6.0 Admin

이렇게 메뉴가 있을 겁니다. 여기서 실제로 자주 사용하는 것은 두가지 입니다.

Microsoft Visual SourceSafe 6.0 / Visual SourceSafe 6.0 Admin

위의 프로그램을 중심으로 설명해 드리도록 하겠습니다.
728x90
예정에 Devpia라는 사이트에 아주 날림에 가깝게 만든 강좌가 있습니다.
MS Visual SourceSafe 6.0에 대한 강좌였는데...
제목이 혼자짜는 Application을 위한 Visual SourceSafe 였던가 합니다.
그런데, Devpia에서 게시판을 몇번 갈아 엎더니 어느새 제 글이 이상하게 변질 되어 있더군요.
일단 수정이 전혀 안되요. 게다가, 이미지도 어디론지 사라져 버렸고.

한동안 Devpia에 방문하지 않다가, 어쩌다가, 정말 어쩌다가 한번씩,
이 강좌에 대해 문의하는 분들 때문에 알게 된거죠.

조금 마음이 상하기도 하고...짜증나기도 하고...
그래서 이번에 싹 뜯어 고치고 있는 중입니다.
가급적이면 이젠 제 홈페이지에 등재를 해버릴려구요.. 그리고 Devpia엔 링크만...

자료를 날려먹는것도 한계가 있으니깐요.
하여간 천천히 준비해 나가고 있는 중입니다.
728x90
뉴스나 일기예보 따윈 보지 않으니 잘 모르겠지만...
정말 춥더군요.
어제 부터 내려간 기온은 계속 내려가는 것 같습니다.
살이 에이는 느낌을 가지는 것이 오랜만인 느낌입니다.
얼굴에 닿는 바람의 느낌은 날카롭기 그지 없고 답답하게 만든다고나 할까요?
하여간, 쉽게 밖에 돌아다닐 엄두는 나지 않습니다.

게다가, 집도 만만치 않게 춥습니다. 방한 대비라고는 눈꼽만치도 안되어 있어 단지 바람막이 정도라고나
할까요? 그냥 바람만 막는데에 큰 의의를 둔...
그래서 방안에 있어도 손, 발, 그리고 팔뚝은 정말 춥습니다. 휭휭 거리죠.
원래 서늘한 것을 좋아하지만, 이렇게 추운것은 짜증나죠.
실내 온도 12도가 가장 적당한데, 그 이하인듯 싶습니다.

뭐, 홈리스 보다는 상황이 좋지만 ...
어쨌던 날이 어서 풀리길 비는 수 밖에 없겠군요...

아... 춥다.
728x90

+ Recent posts

728x90