- Previously on TFS Thriller Ssoul.

쏘울의 컬렉션을 연결하는 데 성공한 보람과 세식. 덤앤 더머, 반짝반짝 모래알 같은 그들도 뭉치니 미션을 해결할만한 지혜는 나오는 듯 하다. 초보자를 고려한듯 친절하게 아주 천천히 조금씩 교모해지는 쏘울의 미션. 그들은 집에 갈 수 있을까?


- 신의 한 수.

자 이제 쏘울이 또 뭐라고 하는지 들어볼까?”

왠지 집에 가라고 할 거 같아서 두근두근 거리는데?”

퍽이나

fu**?”

? mot*** fu**?”

(저자 주 : 발음을 잘 해보시면, 이해 가능한 하급 말장난 패턴입니다. 방송심의위원회의 규정을 준수하기 때문에 별표처리한 것 양해바랍니다.)

폭풍 같은 개드립이 휩쓸고 지나간 자리는 적막만이 감돌았다.

우리 쏘울 이야기나 들어볼까.”

그러지

2번 동영상 파일을 재생했다. 이제 조금씩 익숙해지는 쏘울의 오토튠 목소리.

그래그래그래. 여기까지 잘 온 거 같군. 자네들도 바보는 아닌 거 같애. 자 그럼 이번에는 재밌는 퍼즐을 하나 풀어볼까? 나름 쏘우 패러디인데 퍼즐 하나 없으면 섭하겠지? 자 지금부터 퍼즐을 설명할 테니 잘 들으라고. 과제물 폴더의 Lab2폴더를 열어봐. 그러면 List라는 텍스트파일이 있어 그걸 열어봐.”


어때? 익숙한 C#코드가 보이지? 자 이제, 비주얼 스튜디오로 가서 아까 다운로드한 프로젝트를 열어봐.”


"
그래 내 애정이 담긴 환영 메시지가 보이겠지. 감동의 눈물은 잠시 접어두라고. 자 그럼 저 환영 메시지를 지우고, 아까 내가 준비한 텍스트파일 안의 내용을 거기다 붙여."


좋아 다 되었겠지. 이제 퍼즐을 설명해주지. 두 목록을 하나의 목록으로 합쳐야 하네. 아이디 목록의 첫 번째 항목과 이름 목록의 첫 번째 항목, 그리고 다음은 두 번째 항목끼리 그렇게 말이지. 그리고 합친 목록의 항목을 한 줄에 하나씩 출력하는 거야. 각 항목의 속성들은 쉼표로 구분해서 말이지. , 해서는 안 되는 게 몇 가지 있어. 작성한 코드를 절대로 지워서는 안되네. 한 번의 체크인과 두 번의 변경 내용 취소로 코드 작성을 완료해야 하네. , 백 스페이스 키나 delete키를 눌러서는 안 된다는 거지. 그리고 배열의 인덱스를 사용해도 안 돼. 그리고 마지막으로 Main메서드 안의 코드는 10줄 이내여야 하네. 이 제약사항만 지키면 되는 거지. 그럼 행운을 빌어.”

난생 처음 받아보는 황당한 요구사항에 둘은 잠시 생각에 잠겨 허우적 대고 있었다. 그리고 세식이 먼저 말문을 열었다.

그러니까 집에 안 보내 준다는 거네?”

너 예전에 천국이 너네 집이라고 했었지? 지금 당장 입주할래?”

왜 그러냐능!! 가정이 있는 몸 이해 못하냐능!!”

그래~ 빨리 집에 가야 되니까 이거부터 해결하자고~”

그래! 집에 가야지! 합시다!”

잠깐 생각하는 시간을 갖고, 이번에도 세식이 먼저 입을 열었다.

그럼 일단 지금 상태로 체크인 해두자. 코드 지우지 말라고 했으니까 초기 상태는 저장해놔야 다시 시작을 하지.”

, 좋은 생각이군.”


오케이 체크인은 됐고. 이제 둘을 합쳐야 되는데.”


무의식 중에 for문을 작성하던 보람은 소스라치게 놀랐다.

“꺄악!!! 어머나!!!!!!!!!”

야 인덱스 쓰지 말라 그랬자나~ 왜 그러셩~”

일단 다시 원상 복구 시키자고…”


오케이 다시 돌아왔다.”

이제 변경 취소 한번 남았군.”

두 목록을 합쳐야 하는데 인덱스를 사용하면 안된다라... 그럼 LINQ를 사용하라는 말인 거 같은데.”

“LINQ는 니가 더 잘알잖아. 뭐 좋은 거 없어?”

이게 두 목록을 하나로그리고 각 목록의 항목을 하나로 합치면서뭔가 기억날 듯 말 듯 하네.”

봐바. 여기 각 목록이 나란히 일렬로 있다고 했을 때, 순차적으로 각 목록의 항목이 하나씩 만나서 새로운 항목을 만든다는 거잖아? 이런 거 처리하는 거 없어?”

오호설명을 들으니 Zip이 생각나는데?”

그렇게 코드를 조심조심 심사숙고하며 작성해 나가기 시작했다.

우선 결과로 나오는 타입이 기존에 존재하지 않는 타입이니까 var타입으로 받고, 아이디 목록을 기준으로 이름 항목을 가지고 하나씩 붙이게…”


항목을 합치는 람다식이 첫 번째 목록의 항목과 두 번째 목록의 항목을 받아서 TResult라는 타입의 새 항목을 만드는 거니까…”


이렇게 작성하고, foreach로 출력하면 되겠군.”


~ 작성 끝? 확실한 겨?”

아마그렇지 않을까?”

떨리는 손으로 ctrl+F5를 누르자.


오케이. 떴다!”

…..”

근데 있잖아이거 샘플 데이터를 유심히 보니, 쏘울의 취향을 알 것도 같은데…?”

뭔데?”

일단, 콩과 2는 홍진호를 가리키는 거고, 한승연은 스타 팬들의 1대 아이콘, 아이유는 2대 아이콘 이었단 말이지. , 쏘울은 스타에 매우 열광하는 사람이 아닐까 하는 거고…”

원빈이랑 김두현은?”

글세 원빈은 잘 모르겠고김두현은 수원 블루윙즈 선수이고, 등번호가 4번이었단 말이지. 그러니까 수원 서포터가 아닐까 하는 생각이 드는 군.”

그래서 누군지 알겠엉?”

전혀.”

왜 아는 거 처럼 말해?”

어쩌라고.”

쏘울의 미션을 또 하나 해결한 보람과 세식. 과연 집에는 언제쯤

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
- Previously on TFS Thriller Ssoul.

덤 앤 더머 같이 심각한 상황에서도 농담따먹기 하면 클릭클릭으로 난관을 해쳐가던 보람과 세식. 그들 앞에 쏘울의 두번째 미션이 떨어졌다. 미리 만들어서 분리해놓은 팀 프로젝트 컬렉션이 있으니 그걸 연결하고, 그 안에 저장된 소스를 다운로드 하라는 것.


- 쏘울 컬렉션.


근데 팀 프로젝트 컬렉션이 뭐냐?”

글세 컬렉션이니까, 뭐 이렇게 모아놓은 걸 컬렉션이라고 하잖아? 그러니까 팀 프로젝트를 모아 놓은 걸 말하는 거 아닐까?”

오오미 세식이가 이렇게 똑똑할 줄이야.”

여러분 이게 바로 박세식입니다.”

적절한 패러디로군.”

내가 좀 적절하지. 야 그건 이제 됐고, 빨리 컬렉션 파일이나 찾아보자. 나 빨리 집에 가야 돼.”

보람은 세식의 귀소본능을 뒤로하고 C드라이브의 과제물과 Lab1폴더를 열었다.


"음
. 일단 데이터베이스 파일이네. 일단은 SQL서버에 연결해봐야 겠다."

여기 친절하게 매니지먼트 스튜디오 설치 파일도 같이 넣어놨고만. 웃어야 할지 모르겠다.”

보람과 세식은 우선 매니지먼트 스튜디오를 설치하고, Tfs_ssoul 파일을 데이터베이스에 연결하기 시작했다.


오케이 연결은 끝났고 이제 TFS에서 연결해야 되는데, 어떻게 해야 되는 걸까

여기 TFS 관리 콘솔 인가 하는 거 있네, 관리 작업이니까 여기서 하는 거 아닐까?”


오오미 좋은 생각이군. , 여기 팀 프로젝트 컬렉션 항목이 있네.”

여기 보니까 컬렉션 연결이 있는데? 이거 아닌가?”

눌러 보지 뭐


오 데이터베이스 자동으로 찾아주는데? 역시 로컬에 같이 깔아놓으면 편하구만


준비 검사 통과 좋고

오케이, 연결 완료. 안에 팀 프로젝트가 뭐가 있나 볼까.”


"이름 짓는 거 참 특이하고만
. ssoulTeam이라…"

일단 이거 비주얼 스튜디오에서 여는 게 급선무로군.”

“아! 나 예전에 누가 이거 쓰는 거 봤는데 팀 탐색기 안에서 연결하고 하는 거 같더라.”


"오호 좋은 정보 감사
. 팀 탐색기에.. 팀 프로젝트에 연결이라는 버튼이 있군."


오케이 이렇게 팀 프로젝트 컬렉션 선택하고 연결


와 연결 됐다. 이제 소스 코드만 다운 받으면 되지?”

. 소스 코드는 아마도 소스 제어쪽에서 가능할 거 같은데더블 클릭하면 열리겠지?”


오 열렸다.”

로컬 경로라는 부분이 눈에 확! 들어오는 데.”

나도 확! 들어온다. 눌러봐


오케이 맞는 거 같네. 로컬 경로 어디에 다운하라고는 안 했으니까 그냥 C ssoulTeam 폴더로.”

좋아 좋아. 끝이다.”

. 고생했네 친구.”

뭐 고생은 같이 했지.”

그럼 우리 이제 집에 갈 수 있는 거야?”

그러니까 그건 쏘울 마음이라고.”

과연 두 친구는 이 방을 나가서 집으로 갈 수 있을까.(BGM - 인생 극장 엔딩)

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
- Previously on TFS Thriller Ssoul.

이유도 모른 채 어둡고 축축한 방에 갇혀 쏘울이 내는 미션을 해결해야 하는 보람. 이해할 수 없는 문제는 이해하려고 노력하지 않는 것이 제 맛. 상황을 이해하기 보다 미션 해결을 하려하는 순간, 등 뒤에서 검은 물체가 부시럭 거리는 소리와 함께 움직였다. 과연 그 물체의 정체는.


- 검은 물체의 정체.

소리가 난 곳에서 뭔가 거대한 검은 물체가 일어났다. 옛날에 유행하던 유령의 모습 처럼 사람이 비닐을 뒤집어 쓴 것 같은 모양을 하고 있었으며, 몸뚱이에서 팔 같은 게 튀어나오기도 했다. 그리고 잠깐을 버둥거리더니

아 쫌, 이거 좀 벗겨달라고!!”

보람의 귀에 익숙한 소리가 들려왔다. 반신반의하며 살금살금 다가가서 비닐을 살포시 벗겨주었다.

? 야 너 여기서 뭐하냐

검은 물체는 보람의 친구인 세식이었다.

글세 나도 그게 궁금한데, 당췌 내가 왜 여기 있는 건지.”

일단 보람은 지금까지 자신이 보고 들은 것들을 세식에게 친절하게 알려줬다. 굳게 잠긴 문, 분해되어 있던 컴퓨터, 컴퓨터의 암호, 쏘울, 그리고 TFS.

그래서? 나 집에는 언제 갈 수 있는 건데?”

그걸 내가 알겠냐.”

!!! 와이프한테 또 늦게 들어온다고 혼나겠네~!!”

야 지금 늦게 들어가는 게 문제냐? 상황파악이 안돼? 우리가 이 방에서 나갈 수 있을지 없을지도 모르는 상황이라고

….. 우리가 누구한테 원한 살만한 게 있었나?”

글세. 원한이라. 이 정도의 사건에 휘말릴 만큼 센 원한은 없는 거 같은데.”

그럼 투한은?”

야 너 그냥 다시 비닐 뒤집어쓰고 있어라.”

그렇게 그들은 늘상 하던 무의미한 언어 유희질을 잠깐 나눈 뒤에 다시 축축하고 냄새나는 현실로 돌아왔다.

그래서 지금 쏘울이라는 놈이 여기다가 TFS를 설치하라고 했단말이지?”

그런 셈이지.”

근데 이거 윈도우 7이잖아? 여기에 TFS 설치되던가?”

되던가? 그래도 되니까 해보라고 한 거 아닐꺼나?”

그렇게 이야기 하며 ISO이미지를 마운트 시켰다. 그리고 설치 이미지의 폴더를 살펴봤다.


오 여기에 TFS-x64라고 있네, 여기 한번 들어가봐


역시 설치는 setup이 제 맛이지


야 여기 설치 기능 물어보는데?”

일단 잘 모를 때 설치는 무조건 전부 선택으로 하는 거야.”

그렇게 설치가 진행되고, 성공 메시지가 나타났다.

오오미 설치가 끝났군.”

구성 버튼을 누르자 구성 마법사가 시작되었다
.

야 보람 여기 몇 가지 옵션 있는데? 아마 우리는 기본 일까나?”

설명을 읽어보니 기본 맞는 거 같지?”


이 메시지는 뭐지…?”

글세? 윈도우 버전 한번 확인해봐.”

오호라, 이게 윈7 서팩1 이니까 TFS보다 나중에 나온 버전이라는 말이군? 뭐 문제 있겠어? 다음!”


SQL 서버가 안 깔려있으니 설치까지 해주나 본데?”

예전에 듣기로 TFS가 설치가 쫌 어렵다고 하던데 편해졌나 보군.”
 

통과 통과 좋아.”


완료 완료 좋아

그렇게 그들은 이 상황이 어떤 상황인지도 잊은 채로
, 통과와 완료에 들떠 있었다. 역시 남자는 장난감을 좋아하는 동물인 걸까.


오케이 서버는 끝난 거 같고, 뭐 빌드에 필요한 서비스가 있는 모양이군.”

근데 뭐 지금까지 그냥 클릭클릭하고 넘어왔잖아. 이거도 그럴 거 같은데.”


"클릭
."


"클릭
."


"클릭
."


"통과 통과"


"완료 완료"


그러게 진짜 클릭클릭 하면 통과 통과 완료 완료 고만

그런 이제 우리 집에 갈 수 있는 거야?”

글세그건 쏘울이 어떻게 나오냐에 따라 다르겠지.”

그렇게 보람은 동영상 파일이 있는 폴더를 열고
, 1번 파일을 재생했다. 다시 스피커에선 오토튠 목소리가 흘러나왔다. 그리고 이번엔 배경 음악도 깔려있었다.

안녕하신가 보람씨. 아 이제 세식씨도 일어났으려나? 어때? 배경 음악이 깔리니깐 오토튠에 대한 거부감도 줄어들지? 아까 0번 찍고 나서 모니터링을 해보니까 오토튠이 좀 귀에 거슬리더라구. 그래 이걸 봤다는 건 TFS설치는 성공했다는 거겠지? 물론 성공했겠지. 윈도우 7 TFS 설치는 그냥 클릭만 하면 넘어가는 거니까 말이지. 좋아 이제 또 과제를 주지. C드라이브에 보면, ‘과제물이라는 폴더가 있고 거기에 보면, ‘Lab1’이라는 폴더가 있지. 그 폴더 안에 보면, 내가 ssoul이라는 팀 프로젝트 컬렉션을 분리해 놓은 게 있어. 그걸 지금 설치한 TFS에 연결하고, 그 안에 있는 팀 프로젝트의 소스를 하드 디스크에 다운로드 해. 그게 다음 과제야. 그럼 잘 해결하길 바래.”

영상이 끝나고 세식과 보람은 잠깐 멍한 상태로 버퍼링을 하고 있었다
.

야 그럼 우리 집에 못 가는 거야?”

넌 집에 보물 숨겨놨냐. 왜 자꾸 집 타령이야.”

있지. 우리 아들 내미.”

"아들 내미 보고 싶으면 일단 과제부터 해결할 생각을 하자
. 안 그러면 여기가 우리 집이 될지도 모르니 말이지.”

커헉.”

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

- 본격(이라고 쓰고 막장이라고 읽는다) TFS 스릴러, 쏘울이란?

이 시리즈는 Team Foundation Server 2010을 주제로 연재되는 본격 스릴러입니다. 왜 아티클이 이딴 형식으로 연재되는가하는 생각을 가지신 분들이 있을 것 같습니다-_-. 저 자신도 글을 쓰면서 왜 이렇게 써야 하는지 의문을 가지고 있으니까요. 산을 힘들게 오르는 사람들에게 왜 그렇게 힘들게 산을 오르느냐고 물어보면, '산이 저기 있으니까 오른다'고 대답했다는 이야기가 있습니다. 진짜 인지 우스갯소리인지는 명확하게 알 수 없지만, 제가 이딴 본격 스릴러 형태로 TFS 아티클을 쓰는 것도 비슷한 이유입니다. 평범한 소시민 주제에 평범하게 하는 걸 별로 안 좋아하는 편이기 때문이죠. 이해가 되시나요? 아마 이해가 안 되실 겁니다. 한 철학자에게 '당신은 대체 누구요?'하고 물었더니 '나도 그게 알고 싶소!'라고 답변했던 것 처럼 말이죠. 아마도 이 시리즈가(글쓴이의 수준이) 막장이 될거라는 불안감을 해소하기 위해서 여러분의 정신을 혼미하게 만들고 싶은 마음이 있나 봅니다. 정신이 혼미한 상태에서 읽으면 글의 수준을 가늠하기 힘들기 때문이죠. 어헣.

아무튼, 이 시리즈는 계속해서 스릴러라는 장르를 유지한 채로 진행해볼 생각입니다. 어느날 갑자기 스릴러가 아니라 매뉴얼 형태로 글이 바뀌어 있다면, 저의 도전정신을 높게 평가해서 피식하고 웃어 넘겨 주시기 바랍니다. 허허허허. 이 시리즈의 대상은 TFS 2010을 시작하는 분들 입니다. 그럼. 이제 쏘울이 시작됩니다. 저와 함께 TFS를 만져보시죠 :)



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


축축한 공기가 기분 나쁘게 폐를 드나드는 불쾌한 느낌을 느끼며 그는 눈을 떴다. 그리고 그의 눈 앞에는 뭔가 이상한 장면이 눈앞에 펼쳐지고 있었다. 그는 할 말을 잃은 채로 방안을 둘러봤다. 한 쪽에는 이불 같은 것이 쌓여있고, 문은 철제 문으로 전자장치로 잠겨있는 것 같다. 그리고 창문은 아무 조그맣고, 오랫동안 청소를 안 한듯 먼지가 가득 껴있었다. 그리고 책상이 하나 놓여있다. 이렇게 방안을 둘러보고 나서야 스스로에게 질문을 할 여유가 생겼다.

여긴 어디지?’

생각의 끈을 잡으려 노력하면서 일어나려는데 뒷 목 언저리가 쑤셔왔다.

뭐지…?’

일어나려던 생각을 접고 앉아서 생각을 잡으려 노력했다. 그러자 어제 회사 회식이 있었고, 회식을 마친 뒤에 집에 가기 위해서 택시에 올라탔던 것이 기억났다.

설마납치 같은 건가?’

거기까지 생각이 미치자 일단은 방을 벗어나야 겠다는 결론에 이르렀다. 그리고 시선이 잠겨있는 문에 고정됐다.

저 문을 어떻게 하면 열 수 있을까?’

그렇게 문을 쳐다보며 분석을 시작했다.

쏘우 같은 공포영화에서나 나올법한 전형적인 문이군. 아마도 만지면 전기 충격이 오지 않을까?’

이런 생각을 하다가 문득, 자기 자신이 한심하게 느껴졌다. 그래서 손잡이에 손을 가져가면서 생각했다.

참 내이런 상황에서 잘도 그런 생각을 하는 구어러러호가올ㄴ기ㅏ헉!!!!!!!’

바닥에서 1분정도를 떼굴떼굴 굴렀을까. 정말 전기 충격이 있을 줄은 몰랐기 때문에 그는 무척이나 당황한 모습이었다. 도대체 이 상황은 뭘까. 그리고 정신을 차릴 무렵 방 한 구석에 큰 박스 하나가 보였다. 조심조심 박스로 다가서서는 박스를 열어봤다.

…? 이런 곳에 왜…?’

박스 안에는 컴퓨터 부품과 케이스, 그리고 모니터 및 기타 등등의 부품이 들어있었다. 그는 반사적으로 컴퓨터를 조립하면서 자신의 정체성을 분명히 하고 있었다. 그는 분명 컴퓨터와 매우 익숙한 환경에서 사는 사람이리라.

컴퓨터 조립을 끝내고 나자 그의 표정이 다시 어두워졌다. 사람은 뭔가 몰두할 일이 생기면 근심을 잠시 잊어버리는 법이다. 그래서 사람은 일에 미친 듯이 몰두하기도 하는 것이다. 현실에서 격리된 세상에서 머물기 위해서 말이다. 컴퓨터 조립에 몰두했던 그의 정신이 몰입에서 헤어나오는 순간, 불쾌하고 불확실한 현실과 다시 마주하게 되었다. 하지만, 그는 곧 자신이 몰두할 수 있는 일이 하나 더 있음을 발견했다.

좋아일단 전원을 켜보자고. 혹시 이 컴퓨터 안에 뭔가 있을지도 모르니 말이지.’

그렇게 책상 위로 컴퓨터를 옮기고 전원을 넣었다. 그랬더니 역시나 익숙한 윈도우 마크가 그를 반겼다.

뭐야다 세팅한 컴퓨터를 일부러 다시 분해해서 나뒀단 말인가꼼꼼한 놈이고만..?’

그렇게 윈도우가 부팅되고, 로그인 창이 나타났다. 그리고 순간 그는 멈칫했다. 로그인 창에 나타난 것은 그가 평소에 회사에서 사용하던 아이디였기 때문이다. 잠깐을 머뭇거리던 그는 익숙하게 비밀번호를 입력했고 윈도우는 환영합니다라는 메시지로 그를 반겼다. 그리고 바탕화면이 나타났다. 그의 눈이 조급하게 바탕화면을 훑었다. 그리고 그의 예상대로 바탕화면에는 하나의 폴더가 있었다. 폴더의 이름은 강보람씨 보셩’. 그렇다 이 남자의 이름은 강... 보람은 생각에 잠겼다.

내 회사 아이디와 비밀번호, 그리고 내 이름까지 알고 있다누굴까. 뭐 하자는 걸까.’

폴더를 열자 동영상파일이 여러 개 나타났다. 동영상 파일에는 번호가 붙어있었다. 침을 한번 삼키고, 0번 파일을 열었다. 그리고 스피커에서 왠 오토튠 처리된 목소리가 흘러나왔다.

안녕 보람씨. 당신이 왜 여기에 갇혀있는지 궁금하겠지. 하지만 그건 천천히 이야기 하자구. , 우선 내 소개를 먼저 할까? 내 이름은 쏘울. 이름을 들으면 삘이 딱 오지? 그래 바로 그 쏘우의 모방 범죄를 하고 있는거지. 낄낄낄. 그래 쏘우를 봤으면 이제 자네한테 어떤 일이 닥칠지는 예고편을 안 보여줘도 잘 알 수 있겠지?”

오토튠으로 내는 소리를 무반주로 듣고 있자니 환장할 노릇이었다. 하지만, 보람은 지금 그런 걸 가릴 처지가 아니었다. 당장이라도 멱살잡이 하고 오토튠에서 해방되고 싶지만, 상대는 모니터 안에 있으니 할 수 없는 법.

그래 이제 슬슬 미션이 뭔지 궁금해지겠지. 쏘우에서도 미션이 주어지고 성공하는 사람만 생존했으니 말이지. 자넨 프로그래머니까 좀 프로그래머 다운 미션을 주지. 자 그럼 이제 우리 즐거운 첫 번째 미션을 수행해 볼까? 자네가 지금 영상을 보고 있는 컴퓨터는 Windows 7이 깔려있어. 그리고 폴더에 필요한 파일도 ISO 이미지로 준비가 되어 있지. 우선 여기에 TFS가 동작할 수 있게 설치하는 것으로 첫 번째 미션을 시작해보자고. , 그리고 노파심에서 하는 이야기 인데, 내가 늘 지켜보고 있으니까 말이지 농땡이나 허튼 생각은 하지 말라고. 미션을 잘 수행해주면 그 방에서 나올 수 있게 해줄게.”

영상이 끝나고 보람은 멍한 상태로 모니터를 쳐다보고 있었다.

? TFS? 미션? 쏘울?!?!?!?! 스토리는 막장 드라마 수준이구만그래 일단 방법이 없는 거 같으니 해보자고.”

그렇게 단념하고 폴더에서 ISO이미지를 찾아서 마운트 하려는 순간 등 뒤에서 부스럭 거리는 소리가 났다. 깜작 놀란 나머지 자리에서 팔짝 뛰어서 떼굴떼굴 구르고 소리가 난 쪽을 쳐다보았다. 그리고 소리가 난 곳에서는


- 차회예고

부스럭 거리는 소리에서 나타난 것은 거대한 검은 물체. 과연 그 물체는 무엇일까. 과연 보람은 그 검고 거대한 물체와 쏘울의 미션에서 살아남을 수 있을까?

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

VSS 마이그레이션 전략

Team Foundation Server 2011.01.18 08:30 Posted by POWERUMC

Visual Source Safe 마이그레이션 이전에

많은 분들이 예전에 Visual Source Safe(이하 VSS) 를 사용하시면서, 현재는 이 VSS가 많은 골치거리라고 느끼시는 분들이 많이 계실 겁니다. 사실 소스 제어를 떠나서 VSS는 안정성 면에서 굉장히 불리하죠. 가장 흔하게 겪는 안전성의 문제는 파일 시스템 기반의 소스 제어 데이터베이스가 꼬이는 겁니다. 왜 꼬이는지는 알고 싶지 않지만, 오래 쓰면 쓸수록 꼬입니다.

제가 겪었던 꼬이는 대표적인 문제가 체크인 상태가 다른 사람에겐 체크인 상태가 아니라는 것이죠. 아무리 다른 사람이 최신 버전을 가져와도 그 소스 코드는 예전에 체크인 되었던 소스 코드이고, 불가피하게 강제로 다시 체크인해야 하기도 합니다. 뭐, 여기까지는 정말 가벼운 일상적인 문제이죠? 더 심한 경우는 복구 불능..!

최근 들어서, VSS의 이런 문제 때문에 많이 고생하시는 분들이 다른 소스 제어 제품으로 갈아타려는 준비를 많이 하십니다.

   

왜 VSS에서 이런 문제가 발생하나…?

사실 어쩔 수 없습니다. 지금에야 VSS가 실컷 얻어터질 수 밖에 없지만, 사실 예전에도 뚜렷한 대안이 있었던 것도 아닙니다.

VSS아니면 CVS(Concurrent Versions System) 인데, 이 CVS도 그 기능 자체의 구현이 충실하지 않아 문제점을 얘기하자면 VSS나 크게 별반 다를 것이 없었습니다. 참고로 Wikipedia 의 과거 소스 제어 제품을 보면 다음과 같지요. 즉, 당시에 VSS 보다 더 뛰어난 제품도 찾기 힘들었고, 현대의 이슈인 안정성과 성능, 보안의 요소는 어디를 뒤져봐도 없었습니다. 즉, 당시에는 어떤 제품을 선택하든 똑같은 문제를 겪었을 테니까요.

   

다만, VSS 제품은 VSS 2005 버전까지 오면서 많은 부분에서 보완이 되었지만, 사용자의 요구사항에 매우 소극적으로 대응했던 점에서 아쉬움이 남습니다.

아래는 조만간 나오게 될 백서의 내용 중의 일부이니 참고하세요.

   

 

일반적으로 '형상관리'라는 의미의 소스 제어는 소스 제어(Source Control), 버전 컨트롤(Version Control), 소프트웨어 환경 관리(Software Configuration Management)라고 불립니다. 향후 소스제어는 서버/클라이언트 아키텍처로 변경되면서 개발 조직에서 소스를 공동으로 개발하고 공유할 수 있게 되었습니다.

초기 Microsoft 에서는 소스 제어를 위한 소프트웨어로 Visual SourceSafe(비주얼 소스세이프) 를 내놓게 되었습니다. Visual SourceSafe는 처음 One Tree Software 라고 불리는 회사에서 여러 운영체제를 지원하는 소스 제어 솔루션을 만들었는데, Microsoft 는 이를 1994년에 인수하여 즉시 Visual SourceSafe 3.1 버전을 내놓았습니다. 그 이후로, Visual SourceSafe 4.0, 5.0, 6.0, 2005 버전까지 지속적으로 지원을 하다가, Visual SourceSafe 2005버전을 마지막으로 이 제품의 업데이트는 이루어 지지 않고 있습니다.

Microsoft는 그 이후에 내부적으로 소스 제어 뿐만 아니라 버그 추적/품질 관리/제품 계획에 사용되는 솔루션을 만들었고, 그 이름은 "Product Studio" 라는 제품입니다. 이 제품은 Microsoft 내부적으로 사용하기 위한 제품이었고, 이 제품을 통해 노하우를 발전시켜 비즈니스 프로세스, 개발 등 전반적인 모든 개발 활동을 아우를 수 있는 "Visual Studio Team System, Team Foundation Server" 를 시장에 내놓게 되었습니다.

   

VSS to TFS2010 마이그레이션 전략

일단 아쉽지만 VSS와 같은 제품 군은 TFS(Team Foundation Server)에 100% 마이그레이션이 힘들 수 있습니다. 왜냐하면 VSS는 파일 시스템의 파일 단위 체크인 방식인데, TFS제품은 변경 집합(ChangeSet) 기반의 소스 제어 구조를 가집니다. 변경 집합은 변경이 일어난 묶음의 세트를 얘기하며, 이 변경 집합 덕분에 분기(Branch)/병합(Merge)/이력/관리가 매우 용이합니다. 덕분이 3-ways 방식의 병합이 매우 안정적으로 동작할 수 있고요.

VSS to TFS로 마이그레이션이 100% 보장할 수 없는 예를 들자면, 고객의 데이터베이스 스키마에 "주소"가 없는데, "주소" 컬럼이 생겼다고 주소를 가짜 데이터로 입력할 수 는 없는 노릇입니다. 게임을 예로 들면, 게임 시스템에 새로운 스킬이 생겼다고 종족/레벨/서버를 막론하고 모두가 이 스킬을 습득할 수 없는 것과 마찬가지입니다.

기존의 VSS는 레이블(Labeling) 방식의 이력 관리를 하였기 때문에, 이것을 변경 집합(ChangeSet) 기반으로 바꿀 수는 없습니다. 그래서 100% 마이그레이션이 힘든 한 가지 원인이기도 합니다. 그렇게 때문에 VSS to TFS로 마이그레이션을 결심하였다면, "퀑 대신 닭", "짜장면 대신 짬뽕","아이폰 대신 블랙베리" 라는 심정으로 100%를 기대하시면 오히려 독이 될 수 있답니다.^^

아래는 VSS to TFS 마이그레이션 전략을 메트릭스로 표현해 보았습니다. 물론, 이것 보다 더 많은 고려 사항이 있습니다만, 대략 아래의 정보에 답할 수 있다면 마이그레이션은 가능하다고 말씀 드리고 싶네요.

   

   

Team Foundation Server 및 .NET 플랫폼 기술 문의

언제든지 저희 Visual Studio Korea 공식 팀 블로그에 문의를 주시기 바랍니다. 저희가 모든 것을 가이드해 드릴 수는 없지만, 저희 팀의 다양한 분야의 기술 전문가들이 성의껏 여러분들을 도와드리고 있습니다. 저희 팀은 언제나 새로운 기술에 목말라있고, 먼저 고민하고 뼈저리고 값진 노하우를 경험한 컨설팅/개발/교육 및 강사 출신의 분들과 Microsoft MVP 활동을 하고 계신 많은 분들이 계십니다.

더불어, Microsoft 의 Social Forums 인 http://social.msdn.microsoft.com/Forums/ko-kr/categories/ 에 오시면 많은 전문가들의 생생한 고급 답변을 들을 수 있습니다.


저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

최근 2년 동안 다양한 개발 분야의 기술들이 물망에 오르는 굉장히 뜻 깊은 해였습니다. 2년 전이면 Microsoft 강성재 차장과 함께 처음으로 "Visual Studio 한국 공식 팀"을 창설하면서 http://vsts2010.net 이 탄생한 시기이군요. 2008년 12월에 팀이 창설되고, 2009년 1월 5일이 팀 블로그 2주년이 되는 날이었군요.

바로 저희 "Visual Studio 한국 공식 팀" 블로그에서 한홀 한홀 정성스럽게 작성된 포스트들이 2년 여간의 기술 흐름을 대변해 주고 있으며, 그리고 2011년의 기술도 짐작해 볼 수 있는 짧지만 굵은 변화의 흐름과 함께 여기까지 온 것 같습니다.

우리 팀이 함께 해왔던 핵심 키워드의 태그는 무엇이었을까요?

  • Visual Studio 2010
  • .NET 4.0, .NET Framework 4.0
  • ASP.NET MVC
  • C# 4.0
  • C++0x, C++/CLI
  • Parallel Computing
  • WCF
  • Cloud
  • Application Lifecycle Management

   

그리고 위의 태그들에 대해 더 자세히 살펴보더라도 생소한 기술과 이름, 아키텍처, 환경 등이 2년 동안 격변을 일으키며 변화를 해왔다는 사실입니다.

2011년 이전까지는 여러분들에게 선택권이었던 것들이, 이제는 필수가 되어야 한다고 해도 과언이 아닐 겁니다. 비즈니스 요구사항의 단면을 보면 업무적인 요인, 시대적인 배경 등인데, 이 시대적인 배경에는 트랜드+시장+기술+… 이 있을테고요. 그리고 '우리가 이 시대적인 배경 중 '기술'에 한 배를 타고 흐르고 있는가…?' 에 다시 한번 생각해 볼만 합니다.

예전 2010년 6월 1일 REMIX10 세미나에서 여러분에게 말씀 드린 마지막 문구가 다시금 생각이 나네요.

http://www.techdays.co.kr/2010spring/remix10/session3_1.html

   

여러분의 생존전력은 바로 아래에 해답이 있습니다. 여러분들에게 필요한 것, 그리고 그 가능성이 있다고 판단하시면 2011년 생존을 위하여 달려보는 것은 매우 멋진 2011년 한 해가 될 것입니다.

   

.NET 프레임워크

.NET Framework .NET 의 과거와 현재, 그리고 미래
.NET Framework .NET Framework 4.0 의 특징
.NET Framework .NET Framework 4.0 마이그레이션 이슈
.NET Framework .NET 스마트클라이언트 한계 극복 [1]
.NET Framework .NET 스마트클라이언트 한계 극복 [2]
CLR 1. Hello 世界
CLR 2. CLR! CLR! CLR!
CLR 3. MSCorLib & Metadata
CLR 4. Assembly
CLR 5. Assembly - Strongly named assemblies
CLR 6. Assembly - GAC(Global Assembly Cache)
CLR 7. System.Object
CLR 8. System.Object (2)
CLR 닷넷4.0에서 네이티브코드와 매나지드코드의 동거 part 1.
CLR 닷넷4.0에서 네이티브코드와 매나지드코드의 동거 part 2-1.
CLR 닷넷4.0에서 네이티브코드와 매나지드코드의 동거 part 2-2. 네이티브 랩퍼 만들기
Managed Extensibility Framework [MEF] 1. Managed Extensibility Framework 이란?
Managed Extensibility Framework [MEF] 2. Parts 와 Contracts 선언
Managed Extensibility Framework [MEF] 3. Export 선언
Managed Extensibility Framework [MEF] 4. Import 선언
Managed Extensibility Framework [MEF] 5. Catalog 사용
Managed Extensibility Framework [MEF] 6. Lazy Exports
Managed Extensibility Framework [MEF] 7. Exports and Metadata
Managed Extensibility Framework [MEF] 8. Strongly Typed Metadata
Managed Extensibility Framework [MEF] 9. Recomposition
Managed Extensibility Framework [MEF] 10. Querying the CompositionContainer
Managed Extensibility Framework MEF Preview 6 공개
Managed Extensibility Framework MEF 는 Generic Type 을 지원하지 않는다!
Managed Extensibility Framework MEF 에 Generic Type 을 지원하기 위해서..?
Managed Extensibility Framework MEFGeneric 코드 플랙스에 공개합니다.

   

애자일 개발

Agile Development [Better Code]TDD의 개념이 완벽히 녹아 들어간 VSTS 2010
Agile Development [Better Code]Visual Studio 2010 Code Analysis Enhancements - 1.개요
Agile Development [Better Code]Visual Studio 2010 Code Analysis Enhancements - 2. Rule Sets Feature
Agile Development [Better Code]PEX, Automated Whitebox Testing for .NET - 1. 개요
Agile Development [Better Code]Visualize Code Relationships
Agile Development [Testing] TDD (Test-Driven Development-테스트 주도 개발)
Agile Development [Testing] BDD (Behavior-Driven Development?행위 주도 개발)
Agile Development [Testing] Moq.NET (T/B Driven Development)
Agile Development [Better Code]Visual Studio Code Analysis Enhancements - 3. Data Flow Rules and Phoenix Engine
Agile Development 애자일에 대한 고찰
Agile Development [ALM-Test] 1. 왜 단위 테스트를 해야 하는가?
Agile Development [ALM-Test] 2. 한국적인 애자일 모델의 필요성
Agile Development [협업 1] 협업 도구의 통일성과 협업 인프라 관리
Agile Development [ALM-Test] 3. 테스터에 대한 오해와 진실
Agile Development [ALM-Test] 4. 테스터(SDET) 의 역할
Agile Development [ALM-Test] 5. 테스트 계획
Agile Development [ALM-Test] 6. Load Runner vs Visual Studio 2010 테스팅 비교 분석 - http://willstory.tistory.com/4 제공
Agile Development [ALM-Test] 7. TDD vs 계약기반 테스트
Architect Development Architect Development ?
Architect Development 몽당연필과 함께하는 VSTS 2010 모델링 0/4
Architect Development 몽당연필과 함께 하는 VSTS 2010 모델링 1/4
Architect Development Windows Server AppFabric - Velocity 란?
Architect Development WCF=SOA 에 대한 고찰

   

ASP.NET 4.0

ASP.NET 4.0 [ASP.NET 4.0] 1. Core Service - Extensible Output Caching
ASP.NET 4.0 [ASP.NET 4.0] 2. AJAX - Declarative Client Template Rendering
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - Dynamic Data(1)
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - Dynamic Data(2)
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - Web Designer & Deployment
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - Core Services
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - New Features in the Microsoft Ajax Library
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - Web Forms(1)
ASP.NET 4.0 Razor in WebMatrix
ASP.NET 4.0 Razor in WebMatrix(2) 코드의 재 사용
ASP.NET 4.0 Razor in WebMatrix(3) ? WebMatrix Helper
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - Web Forms(2)
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - Web Forms(3)
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - Web Forms(4)
ASP.NET 4.0 ASP.NET 4 와 Visual Studio 2010 Web Development Beta 2 Overview - Web Forms(5)
ASP.NET MVC M, V 그리고 C의 각방생활(1) - ASP.NET MVC vs ASP.NET WEB FORM
ASP.NET MVC M, V 그리고 C의 각방생활(2) - ASP.NET MVC와 인사나누기
ASP.NET MVC M, V 그리고 C의 각방생활(3) - 초간단 사이트 만들기(1)
ASP.NET MVC M, V 그리고 C의 각방생활(4) - 유효성 검사
ASP.NET MVC M, V 그리고 C의 각방생활(5) - 초간단 사이트 만들기(2)
ASP.NET MVC M, V 그리고 C의 각방생활(6) - 유효성 검사(2)
ASP.NET MVC M, V 그리고 C의 각방생활(7) - 함께 즐겨요~ jQuery
ASP.NET MVC M, V 그리고 C의 각방생활(8) - jQuery와 탭메뉴 그리고 파샬뷰
ASP.NET MVC M, V 그리고 C의 각방생활(9) - jqGrid 사용해보자
ASP.NET MVC M, V 그리고 C의 각방생활(10) - jqGrid를 이용한 paging과 sorting
ASP.NET MVC ASP.NET MVC 3 Preview 1 이 릴리즈 되었습니다.
ASP.NET MVC M, V 그리고 C의 각방생활(11) - jqGrid로 데이터 추가,편집,삭제해보기
ASP.NET MVC M, V 그리고 C의 각방생활(12) - 테스팅 그거, 아무나 하나?
ASP.NET MVC JailBreak From Controllers and Actions
ASP.NET MVC VSTS2010 에서 Razor 코드 하이라이팅 지원하기

   

C# 4.0

C# [C# 4.0] Named and Optional Parameters
C# [C# 4.0] Duck Typing
C# [C# 4.0] New Extension Method "Zip"
C# [C# 4.0] Generic Covariance And Contra Variance
C# Welcome to Dynamic C#(1) - 첫만남.
C# Welcome to Dynamic C#(2) - Wanna be a polyglot.
C# Welcome to Dynamic C#(3) - 마음이 넒어진 C#
C# Welcome to Dynamic C#(4) - 극과극 비교체험.
C# Welcome to Dynamic C#(5) - Return to Dynamic.
C# Welcome to Dynamic C#(6) - Return to Dynamic (2)
C# Welcome to Dynamic C#(7) - 아낌없이 표현해 주는 나무
C# Welcome to Dynamic C#(8) - DLR이 나무를 사랑하는 이유
C# Welcome to dynamic C# 외전(1) - Generate From Usage.
C# Welcome to dynamic C# 외전(2) - Generic Method.
C# Welcome to dynamic C# 외전(3) - 감시하는 자와 감시당하는 자.
C# Welcome to Dynamic C#(9) - Dynamic Returns Again.
C# Welcome to Dynamic C#(10) - Dynamic Returns Again.(2)
C# Welcome to Dynamic C#(11) - The Phantom of The Dynamic
C# Welcome to Dynamic C#(12) - dynamic은 외로운 아이.
C# Welcome to Dynamic C#(13) - 아직도 가야할 길.
C# Welcome to Dynamic C#(14) - 철지난 만우절에 낚여서 파닥파닥.
C# Welcome to Dynamic C#(15) - A/S for dynamic.
C# Welcome to Dynamic C#(16) - dynamic이라도 이건 안되는 거임.
C# Welcome to Dynamic C#(17) - 필요한 말만 하고 삽시다.
C# Welcome to Dynamic C#(18) - 이름을 붙이면서 벌어진 일들.
C# Welcome to Dynamic C#(19) - 위너 고르기.
C# Welcome to Dynamic C#(20) - 어르신과 대화하는 법.
C# Welcome to Dynamic C#(21) - 인덱스의 힘.
C# Welcome to Asynchronous C#(0) - C#의 전설.
C# Parallel Programming [C# 4.0] Parallel Extension - [1] 병렬 처리
C# Parallel Programming [C# 4.0] Parallel Extension - [2] 병렬 처리 아키텍처
C# Parallel Programming [C# 4.0] Parallel Extension - [3] TPL(Task Parallel Library)
C# Parallel Programming Welcome to Parellel world(1) - Here comes a new challenger!
C# Parallel Programming Welcome to Parallel C#(1) - 굿바이, 그리고 안녕~~?
C# Parallel Programming Welcome to Parallel C#(2) - 계속 되는 개념 찾기.
C# Parallel Programming Welcome to Parallel C#(3) - 작업의 기본.
C# Parallel Programming Welcome to Parallel C#(4) - 작업의 기본 Part 2.
C# Parallel Programming Welcome to Parallel C#(5) - 병렬작업에서 예외가 생기면 어케...?
C# Parallel Programming Welcome to Parallel C#(6) - To be continue...
C# Parallel Programming Welcome to Parallel C#(7) - Excuse me.
C# Parallel Programming Welcome to Parallel C#(8) - 취소 쉽게 하기.
C# Parallel Programming Welcome to Parallel C#(9) - 백지장은 맞들지 말엉.
C# Parallel Programming Welcome to Parallel C#(10) - 이보게, 잠깐 뒤를 돌아보지 않겠나.

   

C++/CLI

C++/CLI C++/CLI는 미운 오리새끼 or 백조
C++/CLI .NET에서의 C++/CLI의 의미
C++/CLI [Step 01] 'C++/CLI가 뭐야?'에 답하기 && 가장 많은 프로그래밍 언어로 만드는 프로그램 만들기
C++/CLI [Step 02-1] 클래스(class), 핸들(^), 그리고 구조체(struct)
C++/CLI [Step.02-2] 클래스(class), 핸들(^), 그리고 구조체(struct)
C++/CLI [step.03] 배열
C++/CLI [Step. 04] nullptr, interior_ptr, pin_ptr
C++/CLI [Step. 05] 관리 코드의 array를 비관리 코드에 포인터로 전달
C++/CLI [Step. 06-1] 관리코드의 문자열과 비관리코드의 문자열 변환
C++/CLI [Step. 06-2] 관리코드의 문자열과 비관리코드의 문자열 변환
C++/CLI [Step. 07] 비관리 클래스에서 관리 클래스를 멤버로, 관리 클래스에서 비관리 클래스를 멤버로
C++/CLI [Step. 08] 프로퍼티 ( property )
C++/CLI [Step. 09] 델리게이트 (delegate)
C++/CLI [Step. 10] 이벤트 ( event )
C++/CLI [Step. 11] 열거형( enum )
C++/CLI [Step. 12] for each
C++/CLI [Step. 13] parameter array
C++/CLI [Step. 15] static 생성자, initonly, literal
C++/CLI [Step. 14] 인터페이스 ( interface )
C++/CLI [Step. 16] array 클래스에 non-CLI 오브젝트 사용
C++/CLI [Step. 17] 델리게이트에 비관리 함수를 할당하기 그리고 다음 예고
C++/CLI [Step. 18] 순수 가상 함수
C++/CLI [Step. 19] char* -> 관리코드, 관리코드 -> char*
C++/CLI [Step. 20] 닷넷에서 HalfNetwork를 사용하자 - 1
C++/CLI [Step. 21] 닷넷에서 HalfNetwork를 사용하자 - 2
C++/CLI [Step. 22] 닷넷에서 HalfNetwork를 사용하자 ? 3
C++/CLI [Step. 23] 닷넷에서 HalfNetwork를 사용하자 ? 4
C++/CLI [Step. 24] 닷넷에서 HalfNetwork를 사용하자 ? 5
C++/CLI [Step. 25] 닷넷에서 HalfNetwork를 사용하자 ? 6(마지막)

   

C++0x

C++0x [VC++] 1. 큰 변화가 기대되는 Visual C++( VC++ )
C++0x [VC++] 2. C++0x의 auto
C++0x [VC++] 3. static_assert
C++0x [VC++] 4. 우측 값 참조( RValue Reference ) - 첫 번째
C++0x [VC++] 5. 우측 값 참조( RValue Reference ) ? 두 번째
C++0x [VC++] 6. 우측 값 참조( RValue Reference ) - 세 번째
C++0x [VC++] 7. 우측 값 참조( RValue Reference ) - 네 번째
C++0x [VC++] 8. 우측 값 참조( RValue Reference ) ? 다섯 번째
C++0x [VC++] 9. Lambda ( 람다 ) - 첫 번째
C++0x [VC++] 11. Lambda - 두 번째
C++0x [VC++] 12. Lambda - 세 번째
C++0x [VC++] 13. Lambda - 네 번째
C++0x [VC++] 14. decltype
C++0x 대용량 파일 조작을 위한 C++0x의 변화
C++0x nullptr
C++0x VC++ 10에 구현된 C++0x의 코어 언어 기능들
C++0x C++0x 관련 책 "Visual C++ 10과 C++0x"
C++0x "Visual C++ 10과 C++0x" pdf 파일
C++0x [Plus C++0x] 람다(Lambda) 이야기 (1)
C++0x [Plus C++0x] 람다(Lambda) 이야기 (2)
C++0x [Plus C++0x] 람다(Lambda) 이야기 (3)
C++0x [Plus C++0x] 람다(Lambda) 이야기 (마지막회)
C++0x [STL] 1. What's new in VC++ 2010?
C++0x [STL] 2. unique_ptr (1/2)
C++0x [STL] 3. unique_ptr (2/2)
C++0x [STL] 4. make_shared
C++0x [STL] 5. 에 추가된 새로운 함수들 (1/5)
C++0x [STL] 6. 에 추가된 새로운 함수들 all_of, any_of, none_of (2/5)
C++0x VS2010에서 nullptr의 알려진 버그
C++0x RValue Reference에 의한 STL의 성능향상 테스트
C++0x [STL] 7. 에 추가된 새로운 함수들 copy_if, copy_n, find_if_not (3/5)
VC++ 10 Concurrency Runtime C++ 개발자를 위한 병렬 프로그래밍 동영상 [0]
VC++ 10 Concurrency Runtime C++ 개발자를 위한 병렬 프로그래밍 동영상 [1]
VC++ 10 Concurrency Runtime C++ 개발자를 위한 병렬 프로그래밍 동영상 [2]
VC++ 10 Concurrency Runtime C++ 개발자를 위한 병렬 프로그래밍 동영상 [3]
VC++ 10 Concurrency Runtime C++ 개발자를 위한 병렬 프로그래밍 동영상 [4]
VC++ 10 Concurrency Runtime C++ 개발자를 위한 병렬 프로그래밍 동영상 [5]
VC++ 10 Concurrency Runtime C++ 개발자를 위한 병렬 프로그래밍 동영상 [6/7] 완결!
VC++ 10 Concurrency Runtime PPL task를 이용한 피보나치 수 계산
VC++ 10 Concurrency Runtime 인사 및 Multi Core, Multi Thread...그리고 VC++ 10
VC++ 10 Concurrency Runtime Concurrency Runtime
VC++ 10 Concurrency Runtime Parallel Patterns Library (PPL)
VC++ 10 Concurrency Runtime 양보할 줄 아는 Concurrency Runtime의 event
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - Task
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - 병렬 알고리즘
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - parallel_for 알고리즘
VC++ 10 Concurrency Runtime Asynchronous Agents Library로 Dining Philosophers 문제 해결하기 - 1
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - parallel_for_each 알고리즘
VC++ 10 Concurrency Runtime Asynchronous Agents Library로 Dining Philosophers 문제 해결하기 - 2
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - parallel_invoke
VC++ 10 Concurrency Runtime Asynchronous Agents Library로 Dining Philosophers 문제 해결하기 - 마지막회
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - combinable
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - task group에서의 병렬 작업 취소 - 1
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - task group에서의 병렬 작업 취소 - 2
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - concurrent_vector - 1
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - concurrent_vector - 2
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - concurrent_queue - 1
VC++ 10 Concurrency Runtime Parallel Patterns Library(PPL) - concurrent_queue - 2
VC++ 10 Concurrency Runtime Concurrency Runtime(ConcRT)의 디버그 모드에서 메모리 leak 문제
VC++ 10 Concurrency Runtime Asynchronous Agents Library 소개
VC++ 10 Concurrency Runtime Asynchronous Agents Library - agent. 1 ( 상태 )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? agent. 2 ( 기능 )
VC++ 10 Concurrency Runtime Asynchronous Agents Library - message 전달 함수. 1 ( 전송 )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message 전달 함수. 2 ( 수신 )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message block 1. ( 인터페이스 )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message block 2. ( unbounded_buffer )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message block 3. ( overwrite_buffer & single_assignment )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message block 4. ( call )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message block 5. ( transformer )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message block 6. ( choice )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message block 7. ( join & multitype_join )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message block 8. ( timer )
VC++ 10 Concurrency Runtime Concurrency Runtime ? 동기화 객체 1. ( critical_section & reader_writer_lock )
VC++ 10 Concurrency Runtime Concurrency Runtime ? 동기화 객체 2. ( event )
VC++ 10 Concurrency Runtime Asynchronous Agents Library ? message block 9. ( custom )
VC++ 10 Concurrency Runtime Concurrency Runtime - 만델브로트 프랙탈 ( Mandelbrot Fractal ) 예제
VC++ 10 Concurrency Runtime Concurrency Runtime ? Task Scheduler 1. ( Scheduler )
VC++ 10 Concurrency Runtime Concurrency Runtime ? Task Scheduler 2. ( SchedulerPolicy )
VC++ 10 Concurrency Runtime Concurrency Runtime ? Task Scheduler 3. ( ScheduleGroup )
VC++ 10 Concurrency Runtime Concurrency Runtime ? Task Scheduler 4. ( ScheduleTask )
VC++ 10 Concurrency Runtime Concurrency Runtime ? Task Scheduler 5. ( Context blocking )
Visual C++ 10 About Visual C++ 10
Visual C++ 10 디버깅 모드에서 역어셈블리 코드 보기
Visual C++ 10 Visual C++ 10의 변화
Visual C++ 10 [Upgrade to VC++ 10] _WIN32_WINNT 버전 문제
Visual C++ 10 VS2010 C++ 프로젝트의 디렉토리 설정

   

클라우드 컴퓨팅

Cloud 구름 속의 미래 : Windows® Azure™ Platform [1]
Cloud SQL Azure - CTP1
Cloud SQL Azure 알아보기 (1) - 데이터베이스 개체 생성
Cloud SQL Azure 알아보기(2) ? 데이터베이스 스키마 마이그레이션, 데이터 전송
Cloud 구름 속의 미래 : Windows® Azure™ Platform [2]
Cloud SQL Azure 사용 시 주의점(1) - 방화벽 설정
Cloud SQL Azure 알아보기(3) ?SQL Server 2008 R2 Nov CTP
Cloud SQL Azure 알아보기(4) ? SQL Azure Cloud App
Cloud SQL Azure 알아보기 (5)- SQL Azure 이점과 T-SQL 지원
Cloud [MS@클라우드컨퍼런스] MS 클라우드 기술과 플랫폼
Cloud 클라우드 기반 분산 컴퓨팅을 위한 AppFabric (1) : 아하! App 분산!
Cloud Hello Windows Azure / Windows Azure Platform의 이해
Cloud Hello Windows Azure / Gallery of 'Powered by Windows Azure Platform'
Cloud Hello Windows Azure / Windows Azure 개발 환경의 구축
Cloud Hello Windows Azure / Understanding Windows Azure Development Process
Cloud Hello Windows Azure / Windows Azure Tools for Visual Studio 1.2 출시
Cloud Hello Windows Azure / Windows Azure Platform 최신 소식 업데이트 (종합) [수정]
Cloud Hello Windows Azure / Twitter 스타일 방명록 만들기 #1
Cloud Windows Azure Update: Microsoft Project Code-Named "Houston" CTP 1
Cloud SQL Azure와 Excel 2010의 PowerPivot
Cloud Hello Windows Azure / Twitter 스타일 방명록 만들기 #2
Cloud Windows Azure Update: CloudStorageAccount 클래스 사용 시 주의 사항
Cloud SQL Azure Update: Dynamic Management View
Cloud Hello Windows Azure / Twitter 스타일 방명록 만들기 #3
Cloud Windows Azure Update: myAzureStorage
Cloud SQL Azure 와 SQL Reporting Service
Cloud Windows Azure Update: Windows Azure CDN의 활용
Cloud [작업 중] Windows Azure Update: Adaptive Smooth Streaming with Windows Azure Storage

   

게임 개발

Direct3d Mobile [d3dm 기초] 1. wm6.x 개발환경 세팅
Direct3d Mobile .NET 기반에서 공개소스 게임엔진 포팅하기
DirectX 11 [JumpToDX11-1] 사라진 Direct3D 오브젝트를 찾아서...
DirectX 11 [JumpToDX11-2]DeviceContext...넌 누구냣!!
DirectX 11 [JumpToDX11-3] Feature Level
DirectX 11 [JumpToDX11-4] ID3D11View
DirectX 11 [DX11_#1]D3D Buffer( 1 / 2 )
DirectX 11 [DX11_#2]D3D Buffer( 2 / 2 )
DirectX 11 [DX11_#3]기본적인 설정
DirectX 11 [JumpToDX11-5] 새로운 시대를 여는 DirectX11...
DirectX 11 [JumpToDX11-6] 커맨드(Command)...
DirectX 11 [DX11_#4]텍스트, 버튼 출력
DirectX 11 [JumpToDX11-7] 간편해진 리소스 처리.
DirectX 11 [JumpToDX11-8] Deferred Contexts
DirectX 11 [JumpToDX11-9] Multi-threaded Rendering 을 위한 API.
DirectX 11 [JumpToDX11-10] GPGPU 를 위한 DirectCompute.
DirectX 11 [JumpToDX11-11] DirectCompute 를 위한 한걸음!
DirectX 11 [JumpToDX11-12] DirectCompute 의 절차.
DirectX 11 [JumpToDX11-13] Tessellation 등장.
DirectX 11 [DX11_#5]DirectX11의 활용 사례(1/3)
DirectX 11 [JumpToDX11-14] DirectX9 세대의 테셀레이션( ID3DXPatchMesh 편 )
DirectX 11 [JumpToDX11-15] DirectX9 세대의 테셀레이션( IDirect3DDevice9::DrawXXXPatch편 )
DirectX 11 [알콜코더의 미리 배워보는 DirectX 11 - 입문편] 0. 누구를 위한 연재인가
DirectX 11 [알콜코더의 미리 배워보는 DirectX11-입문편] 1.튜터리얼 01 : 다이렉트 3D 기초 #1
DirectX 11 [알콜코더의 미리 배워보는 DirectX11-입문편] 1.튜터리얼 01 : 다이렉트 3D 기초 #2
DirectX 11 [JumpToDX11-16] DirectX9 세대의 테셀레이션( D3DXTessellateNPatches편 )
DirectX 11 [알콜코더의 미리 배워보는 DX11 ? 입문편] DX11에서 무엇이 추가되었나?
DirectX 11 [JumpToDX11-17] DirectX9 세대의 테셀레이션( ATI 라이브러리편 )
DirectX 11 [발표자료] 예제로 느껴보는 다이렉트X 11의 매력
DirectX 11 [JumpToDX11-18] DirectX11의 테셀레이션 ( 테셀레이션을 위한 하드웨어의 등장편 )
DirectX 11 [알콜코더의 미리 배워보는DX11 입문편] DirectX 11의 특징들
DirectX 11 [알콜코더의 미리배워보는 DX11-입문편] 1. 튜터리얼01 : 디바이스와 스왑체인의 생성

   

F#

F# Welcome to F#(1) - 첫만남.
F# Welcome to F#(2) - 두번째 만남.
F# Welcome to F#(3) - 사소한 탐색전.
F# Welcome to F#(4) - 과거와 배경을 좀 더 알고싶어.
F# Welcome to F#(5) - 아주 조금씩 심화되는 탐색전.
F# Welcome to F#(6) - 비교본능.
F# Welcome to F#(7) - 클리프 행어.
F# Welcome to F#(8) - 은총알과 엄친아.
F# Welcome to F#(9) - 메이져 데뷰.
F# Welcome to F#(10) - 인도음식 카레.....?
F# Welcome to F#(11) - 차별을 권장하는 언어인거임?!?!
F# Welcome to F#(12) - 공동작업 좋치아니항가

   

MFC

MFC [MFC] 리스타트 매니저(Restart Manager) - (1/3) : 기능 소개
MFC [MFC] 리스타트 매니저(Restart Manager) - (2/3) : 사용하기
MFC [MFC] 리스타트 매니저(Restart Manager) - (3/3) : 활용하기
MFC [MFC] 태스크 대화상자(Task Dialog) - (1/3) : 기능 소개
MFC [MFC] 태스크 대화상자(Task Dialog) - (2/3) : 사용하기
MFC [MFC] 태스크 대화상자(Task Dialog) - (3/3) : 활용하기
MFC [MFC] 태스크 대화상자(Task Dialog) - 예제 코드 올립니다.
MFC [MFC/윈도우 7 멀티터치] #2 : 제스처(gesture)를 이용한 구현()
MFC [MFC/윈도우 7 멀티터치] #3 : 제스처(gesture)를 이용한 구현()
MFC [MFC/윈도우 7 멀티터치] #4 : WM_TOUCH 메세지를 이용한 구현()
MFC [MFC/윈도우 7 멀티터치] #5 : WM_TOUCH 메세지를 이용한 구현()
MFC [MFC/윈도우 7 멀티터치] #6 : 예제 코드 올립니다

   

RIA

RIA Expression Blend3 preview - 1.인터페이스
RIA Expression Blend3 preview - 2. Photoshop import
RIA Silverlight 3 & Blend 3 RC 공개!!!
RIA Silverlight 4 Beta 공개
RIA .Net Ria Service + IIS6 + Silverlight 4 Troubleshooting!!
RIA 실버라이트 비하인드 코드에서 바인딩하기.
RIA .Net Ria Service 와 Entities 그리고 Stored Procedure 하다가 생긴일..
RIA 실버라이트 프로그래머가 할 수 있는 최소한의 블랜드 디자이너를 위한 배려

   

SharePoint 2010

SharePoint 2010 Visual Studio 2010 에게 바란다 - SharePoint 14 Development
SharePoint 2010 SharePoint 2010 Overview
SharePoint 2010 SharePoint 2010 개발 환경 구성
SharePoint 2010 SharePoint 2010 개발 환경- Hello World 웹 파트 생성 및 배포하기
SharePoint 2010 SharePoint 2010 Web Part 생성
SharePoint 2010 SharePoint 2010 Visual Web Part
SharePoint 2010 SharePoint 2010 Feature
SharePoint 2010 SharePoint 2010 Event Receiver
SharePoint 2010 SharePoint 2010 데이터 기술
SharePoint 2010 SharePoint 2010 Server Object Model
SharePoint 2010 Visual Studio 2010 출시에 따른 SharePoint Developer Tools
SharePoint 2010 SharePoint 2010 LINQ to SharePoint
SharePoint 2010 Client Object Model - .NET
SharePoint 2010 Client Object Model ? Silverlight (1)
SharePoint 2010 Client Object Model ? Silverlight (2)
SharePoint 2010 Client Object Model - Javascript(1)
SharePoint 2010 Client Object Model - Javascript(2)
SharePoint 2010 Client Object Model ? 정리
SharePoint 2010 SharePoint 2010 개발환경 구축 가이드
SharePoint 2010 REST -.NET
SharePoint 2010 REST ? Silverlight
SharePoint 2010 REST - jQuery
SharePoint 2010 SharePoint 2010 프로젝트 디버깅
SharePoint 2010 SharePoint 2010 Developer Dashboard

   

Team Foundation Server

Team Foundation Server Visual Studio Team System 2010 (CTP10) - 작업 항목 링크
Team Foundation Server TFS 2010 설치 하기
Team Foundation Server TFS 2010 Build Service 설치
Team Foundation Server TFS 2010 설치 과정 중에 TF255040 문제
Team Foundation Server Visual Studio 2010을 활용한 ALM (1-5) - ALM 이란 무엇인가
Team Foundation Server Team Foundation 트러블 슈팅 가이드
Team Foundation Server Visual Studio Team Foundation Server 2010 를 설치해보자
Team Foundation Server Visual Studio Team Foundation Server 2010 설치 전 할일
Team Foundation Server VS TFS 2010 설치편 - 설치전 IIS, .NET 설치
Team Foundation Server VS TFS 2010 설치편 - 설치 시작
Team Foundation Server VS TFS 2010 구성편 - 설치 후 TFS 구성으로 점심 얻어먹기 편
Team Foundation Server VS TFS 2010 사용편 - SourceSafe? 버려~
Team Foundation Server [HowTo] Team Foundation Server 의 로컬 매핑 캐시 제거하기
Team Foundation Server [HowTo] SharePoint 2010 Beta 깨끗하게 제거하기
Team Foundation Server [HowTo] SCVMM 의 Install Virtual Guest Service 작업 중 2941 오류
Team Foundation Server [HowTo] TFS2010 의 Tfs_Analysis 웨어하우스 데이터베이스가 망가졌을 경우
Team Foundation Server [PPT] 테스트와 가상화의 만남 - 테스트 가상화(Lab Management)
Team Foundation Server Team Foundation Server 2010으로 업그레이드, 마이그레이션, 동기화
Team Foundation Server Visual Source Safe 사용자를 위한 TFS2010 시리즈

   

Visual Studio 2010

Visual Studio 2010 Visual Studio Team System 2010 CTP 만료 해결하기
Visual Studio 2010 Visual Studio 2010 의 특징
Visual Studio 2010 Visual Studio 2010 내부 빌드 최신 동영상: C# 4.0 Language + IDE + WPF Shell + Editor
Visual Studio 2010 Visual Studio 2010 & .NET 4.0 참고 자료들
Visual Studio 2010 Visual Studio 2010 Beta 1 설치부터 살펴보기
Visual Studio 2010 멀티 모니터 사용
Visual Studio 2010 Visual Studio 2010 Beta 2 출시
Visual Studio 2010 Visual Studio 2010 Beta 2 설치 미리 보기
Visual Studio 2010 VS 2010 Beta 2 설치 과정에서 Silverlight SDK 문제
Visual Studio 2010 VS2010 베타2의 WPF & Silverlight 디자이너 성능 향상 팁
Visual Studio 2010 VS 2010 기능 소개 01 인텔리 센스 기능의 변화
Visual Studio 2010 Visual Studio 2010과 Blend Preview for .NET 4 통합 문제
Visual Studio 2010 VS 2010 기능 소개 02 - IDE의 기능 추가
Visual Studio 2010 VS 2010 기능 소개 03 - IDE의 변화
Visual Studio 2010 Visual Studio 2010 출시 일정
Visual Studio 2010 VS 2010 기능소개 04 - Visual C#&VB 개발자 IDE Tips & Tricks 첫번째
Visual Studio 2010 VS 2010 기능소개 05 - Visual C#&VB 개발자 IDE Tips & Tricks 두번째
Visual Studio 2010 Visual Studio 2010 RC 공개 임박!
Visual Studio 2010 Visual Studio 2010 RC 공개
Visual Studio 2010 C#에서 IntelliSense가 동작하지 않을 때 문제 해결 방법
Visual Studio 2010 똑똑한 검색을 지원하는 VSTS 2010의 "Navigate To" 검색
Visual Studio 2010 실버라이트4 RC와 블렌드 4 베타 공개
Visual Studio 2010 윈도우폰 7 개발환경 공개
Visual Studio 2010 Visual Studio 2010! 나랑 놀아보자 ? 기본편 (2회) - VS IDE
Visual Studio 2010 Visual Studio 2010! 나랑 놀아보자 ? 기본편 (3회) - Box Selection
Visual Studio 2010 Visual Studio 2010! 나랑 놀아보자 ? 기본편 (4회) - Call Hierarchy
Visual Studio 2010 Visual Studio 2010 출시와 완소 정보 총 정리
Visual Studio 2010 Visual Studio 2010 e-book 무료로 다운로드 하세요
Visual Studio 2010 Visual Studio 2010! 나랑 놀아보자 ? 기본편 (5회) - Navigate To
Visual Studio 2010 Visual Studio 2010 RTM 추가 완소 정보
Visual Studio 2010 Visual Studio 2010! 나랑 놀아보자 ? 기본편 (6회) - Generate from Usage
Visual Studio 2010 VS 2010 기능소개 05 - Visual C#&VB 개발자 IDE Tips & Tricks 두번째
Visual Studio 2010 Visual Studio 2010, 2008, 2005 에서 .NET Framework 1.1 개발하기
Visual Studio 2010 Visual Studio 2010, 2008, 2005 에서 .NET Framework 1.1 개발하기
Visual Studio 2010 Just for fun! / Visual Studio Express Edition
Visual Studio 2010 왜 Visual Studio 2010 이여야 하는가?
Visual Studio 2010 Visual Studio 2010 최신 PDF 자료를 MSDN 에서 다운로드 받으세요
Visual Studio 2010 Just for fun! / DreamSpark는 대학생 여러분을 위한 솔루션입니다.
Visual Studio 2010 VS2008 을 VS2010 에서 동시에 개발하기
Visual Studio 2010 VS2008 과 VS2010 동시에 개발하기 : 테스트 프로젝트가 포함 될 경우
Visual Studio 2010 Introducing Visual Studio LightSwitch! - Enjoy your development
Visual Studio 2010 Visual Studio Hotfix List
Visual Studio 2010 곧 다가올 기술, Microsoft Research [1/2]
Visual Studio 2010 곧 다가올 기술, Microsoft Research [2/2]
Visual Studio 2010 Visual Studio 31 (1) - 시작, 그리고 Intellisense
Visual Studio 2010 Visual Studio 31 (2) - Startpage
Visual Studio 2010 Visual Studio 31 (3) - Temp Project
Visual Studio 2010 Visual Studio 31 (4.1) - Visual Studio 2010 Productivity Power Tools, Part 1
VIsual Studio Extensibility [Blueprints] S+S Blueprints
VIsual Studio Extensibility Visual Studio 2010 SDK 와 Readme
VIsual Studio Extensibility Visual Studio 2010 Extension Manager
VIsual Studio Extensibility [VSIX] 1. What is different from before version?
VIsual Studio Extensibility [VSIX] 2-1. How to start VSIX programming
VIsual Studio Extensibility [VSIX] 2-2. How to start VSIX programming
VIsual Studio Extensibility MousePresentationTracker - MEF 세미나 예제
VIsual Studio Extensibility [VSX] 1. Visual Studio Extensibility,, 그 시작
VIsual Studio Extensibility Visual Studio 2010 확장 모델인 VSIX 버그
VIsual Studio Extensibility VSGesture v2.0 for VS2010 is now available for download

   

우리 블로그 소식

VSTS 2010 팀 블로그 Visual Studio Team System 2010 공식 팀 블로그 맴버소개
VSTS 2010 팀 블로그 Visual Studio Team System 2010 팀 블로그 소개
VSTS 2010 팀 블로그 VSTS 2010 팀 블로그/스터디 맴버를 모집합니다.
VSTS 2010 팀 블로그 VSTS 2010 팀 맴버 지원을 마감합니다
VSTS 2010 팀 블로그 Visual Studio Team System 2010 Beta 1 공개
VSTS 2010 팀 블로그 [MSDN 주간 세미나] 발표자료 / .NET Framework와 Visual Studio : 현재와 미래 1, 2
VSTS 2010 팀 블로그 VSTS 2010 팀 3분기 맴버 모집
VSTS 2010 팀 블로그 VSTS 2010 팀 세미나 동영상 - 6월 10일
VSTS 2010 팀 블로그 VSTS 2010 팀 맴버 추가 모집
VSTS 2010 팀 블로그 VSTS 2010 팀 트위터를 오픈하였습니다.
VSTS 2010 팀 블로그 TECH DAY 2009 행사 오픈!!!
VSTS 2010 팀 블로그 VSTS 2010 공식 블로그 Viva 2010팀 멤버 추가 모집 공고
VSTS 2010 팀 블로그 [세미나] 차세대 응용 프로그램 구축 방법 및 사례 소개 세미나
VSTS 2010 팀 블로그 Visual Studio 2010 팀에서 팀원 모집합니다.
VSTS 2010 팀 블로그 한국 Visual Studio 2010 사용자를 위한 트위터 커뮤니케이션
VSTS 2010 팀 블로그 C++ 개발자와 함께하는 Visual Studio 2010
VSTS 2010 팀 블로그 [무료 세미나] ReMIX 10
VSTS 2010 팀 블로그 6월 1일, 대한민국 웹 컨퍼런스의 지존 ReMIX 10가 개최됩니다!
VSTS 2010 팀 블로그 REMIX10 의 VS2010 팀 후기
VSTS 2010 팀 블로그 6월 1일, REMIX10 세미나 세션 공개
VSTS 2010 팀 블로그 [세미나] Visual Studio Camp #1
VSTS 2010 팀 블로그 [세미나 후기] Visual Studio Camp #1
VSTS 2010 팀 블로그 [세미나 발표 자료] Visual Studio Camp #1
VSTS 2010 팀 블로그 [세미나] Visual Studio Seminar #1 / 2010년 9월 28일
VSTS 2010 팀 블로그 9월 13일에 개최하는 KGC에서 강연을 합니다.
VSTS 2010 팀 블로그 KGC10에서의 VS2010 스터디 팀의 활약 모습
VSTS 2010 팀 블로그 [VSKOREA] Visual Studio 2010 정보가 한 눈에…
VSTS 2010 팀 블로그 [세미나 후기] Visual Studio Seminar #1
VSTS 2010 팀 블로그 [세미나 발표 자료] Visual Studio Seminar #1
VSTS 2010 팀 블로그 [후기] C++ & 게임 개발자를 위한 개발 생산성 및 퍼포먼스 향상 전략 세미나

   

WCF

WCF WCF란 무엇인가?
WCF 기본 WCF 프로그래밍 - 첫 WCF 서비스 만들기
WCF 기본 WCF 프로그래밍 - 첫 WCF 서비스 만들기 2
WCF WCF의 기본 - Service Contract
WCF WCF의 기본 - Data Contract
WCF WCF 서비스의 동시성(Concurrency) - 1
WCF WCF 서비스의 동시성(Concurrency) - 2
WCF WCF - Serialization
WCF WCF Hosting - WAS를 이용한 Hosting
WCF 도메인을 여러개 등록했을때 WCF 서비스를 호스팅 할수 없어요 ㅠㅠ
WCF WCF Hosting(2) - ASP.NET 호환성(Compatibility)
WCF WCF Hosting (3) - Windows Service를 이용한 Hosting
WCF WCF Security (1) - SSL을 이용한 전송계층에서의 보안 설정
WCF WCF Security (2) - 전송 계층에서의 메세지 인증 (사용자 지정 인증)
WCF WCF Troubleshooting (1)
WCF WCF Service Configuration Editor
WCF WCF Troubleshooting (2)


저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

여러분에게 안타까운 소식과 좋은 소식 가지를 전해 드리고자 합니다. 먼저 안타까운 소식을 하나 전해드리도록 하겠습니다.

 

안타까운 소식, Microsoft 내놓은 초기 소스 제어(Source Control) 제품인 VSS(Visual Source Safe) 지원이 중단 되었습니다. 들어가기 앞서, 일반적으로 '형상관리'라는 의미의 소스 제어는 소스 제어(Source Control), 버전 컨트롤(Version Control), 소프트웨어 환경 관리(Software Configuration Management)라고 불립니다. 향후 소스제어는 서버/클라이언트 아키텍처로 변경되면서 개발 조직에서 소스를 공동으로 개발하고 공유할 수 있게 되었습니다.

초기 Microsoft 에서는 소스 제어를 위한 소프트웨어로 Visual SourceSafe(비주얼 소스세이프) 내놓게 되었습니다. Visual SourceSafe 처음 One Tree Software 라고 불리는 회사에서 여러 운영체제를 지원하는 소스 제어 솔루션을 만들었는데, Microsoft 이를 1994년에 인수하여 즉시 Visual SourceSafe 3.1 버전을 내놓았습니다. 이후로, Visual SourceSafe 4.0, 5.0, 6.0, 2005 버전까지 지속적으로 지원을 하다가, Visual SourceSafe 2005버전을 마지막으로 제품의 업데이트는 이루어 지지 않고 있습니다.

 

하지만, Microsoft 이후에 내부적으로 소스 제어 뿐만 아니라 버그 추적/품질 관리/제품 계획에 사용되는 솔루션을 만들었고, 이름은 "Product Studio" 라는 제품입니다. 이 제품은 Microsoft 내부적으로 사용하기 위한 제품이었고, 이 제품을 통해 노하우를 발전시켜 비즈니스 프로세스, 개발 전반적인 모든 개발 활동을 아우를 있는 "Visual Studio Team System, Team Foundation Server" 를 시장에 내놓게 되었습니다.

 

즐거운 소식은, VSS 사용자를 위한 TFS2010 시리즈가 나왔다는 것입니다. 한국 MSDN 페이지에 대문짝만하게 걸려있는 문서가 바로 그것입니다.

 

 

 

 

 

이런 이음매가 없는 것을 연결시키는 하나가 영화에서 "To be continue…" 자막이죠… ^^ 마치 지금과 같은 VSS TFS2010 과의 이음매처럼 말입니다. Microsoft 에서 지원이 중단된 제품은 최대한 빨리 최신 버전으로 옮기는 것이 좋습니다. 유예기간과 지원에도 불구하고 버전을 쓴다는 것은 장애에 대해 이상 Microsoft 지원을 받지 않는다는 것과 마찬가지이고, 어떤 솔루션을 사용하든 이러한 절차는 대부분 통용되기 때문입니다. (물론 장애에 대해 그에 상응하는 비용을 지불하면 지원은 받을 있을 것입니다.)

 

 

그럼 간단히 "VSS사용자를 위한 TFS2010 시리즈" 목차를 살펴볼까요?

 

1. 일단 설치부터 해야 하겠지요?

1.        Visual Studio Team Foundation Server 2010 개요

2.1        Team Foundation Server 소개

2.2        Team Foundation Server 논리적 구조

2.3        Team Foundation Server 물리적 구조

2.        Visual Studio Team Foundation Server 2010 설치

3.1        설치 준비

3.1.1        Visual Studio Team Foundation Server 2010 설치에 필요한 필수 소프트웨어

3.1.2        Visual Studio Team Foundation Server 2010 필요한 최소 하드웨어 구성        

3.2        설치 전 필요 소프트웨어 구성

3.3        인터넷 정보 서비스(IIS 7.X) 설치하기

3.4        .NET Framework 3.5 설치하기

3.5        Visual Studio Team Foundation Server 2010 설치

3.6        Visual Studio Team Foundation Server 2010 Basic(기본) 구성

4.        사용자 계정 관리

4.1        Visual Studio Team Foundation Server 2010 보안

4.2        Visual Studio Team Foundation Server 2010 사용자 이해

4.3        Visual Studio Team Foundation Server 2010 역할

4.4        Visual Studio Team Foundation Server 2010 사용자 권한

4.5        Visual Studio Team Foundation Server 2010 사용자 추가하기        

4.5.1        Visual Studio Team Foundation Server 2010 사용자

4.5.2        팀 프로젝트 모음 사용자 추가

4.6        Visual Studio Team Foundation Server 2010 사용자 삭제하기

4.7        Windows 사용자 그룹 활용하기

4.7.1        Windows의 사용자를 그룹으로 연결하기

4.7.2        Visual Studio Team Foundation Server 2010 그룹 이용하기

 

 

2. 그럼 VSS TFS2010으로 마이그레이션도 해야하는데… 다음 목차를 보시죠.

1.        Visual Source Safe 개요        

1.1        Visual Source Safe 소개        

1.2        소스관리와 소스코드 형상관리

1.3        사용자 계정 및 보안

1.4        Visual Source Safe 사용과 개발환경 변화

2.        Visual Studio Team Foundation Server 2010 개요

2.1        Team Foundation Server 소개

3.        Visual Source Safe 마이그레이션 작업하기

3.1        Visual Source Safe 에서 Visual Studio Team Foundation Server 2010 이전

3.2        Visual Source Safe 사용자 정보 이전하기

3.3        자동화 마이그레이션 VSSConverter 사용

3.4        Visual Source Safe 정보 자동 이전하기

3.4        Visual Source Safe 소스 코드만 이전하기

3.4        Visual Source Safe 마이그레이션 주의사항과 문제 해결

 

 

3. 이제 적극적으로 활용해 봅시다.

1.        사용자 계정 관리

1.1        Visual Studio Team Foundation Server 2010 사용자 계정관리

1.2        Visual Studio Team Foundation Server 2010 사용자 이해

1.3        Visual Studio Team Foundation Server 2010 역할

1.4        Visual Studio Team Foundation Server 2010 사용자 권한

1.5        Visual Studio Team Foundation Server 2010 사용자 추가하기

1.5.1        Visual Studio Team Foundation Server 2010 사용자

1.5.2        팀 프로젝트 모음 사용자 추가

1.6        Visual Studio Team Foundation Server 2010 사용자 삭제하기

1.7        Windows 사용자 그룹 활용하기

1.7.1        Windows의 사용자를 그룹으로 연결하기

3.7.2        Visual Studio Team Foundation Server 2010 그룹 이용하기

2.        팀 프로젝트 구성

2.1        팀 프로젝트 소개

2.2        Visual Studio Team Foundation Server 2010 “팀 프로젝트 모음” 만들기

2.3        Visual Studio Team Foundation Server 2010 팀 프로젝트 만들기

2.4        Visual Studio Team Foundation Server 2010 팀 프로젝트 삭제하기

3.        작업 항목

3.1.        작업 항목 소개

3.1.1        작업 항목 이용하기

3.2.        Visual Studio Team Explorer 내 작업 항목

3.3.        Visual Studio Team Explorer 팀 작업 항목

3.4.        작업 항목 만들기

4.        소스 코드 관리

4.1.        소스 코드 관리소개

4.2.        소스 제어 탐색기 사용하기

4.3.        소스 코드 체크인 / 체크아웃

4.3.1        Visual Studio 에서 소스 코드 체크아웃

4.3.2        Visual Studio 에서 소스 코드 체크 인

4.4.        소스 코드 버전관리

4.5.        소스 코드 최신 버전 가져오기

4.6.        소스 코드 체크인과 작업 항목 연결

4.7.        소스 코드 체크인 정책

저작자 표시 비영리 동일 조건 변경 허락
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

VS TFS 2010 설치편 - 설치 시작

Team Foundation Server 2010.05.04 09:00 Posted by 비회원

 

팀장에게 VS TFS 설치보여주기 - VS TFS이게 쉽습다~.

 

드디어 사전 준비사항이 끝나고.. 설치를 진행합니다. 설치는 정말 단순합니다.

 

설치 DVD DVD-ROM 넣습니다. 요즘에는 CD 아니라 DVD 많이 나오네요.. ^.^

DVD 폴더로 이동합니다. 여기에는.. 몇개의 설치 폴더가 있습니다. 설치 파일은 Setup

어디에 있는지 궁금하신 분들은.. 잠시 참아 주십시요.^^

 

 

이게 설치 DVD 내용입니다.

 

"TFSInstall" 파일은 설치 설명서입니다. 아직 영문이라 영어로 나오는다는…(한글은 언제??)

그럼 폴더를 조금 설명해 드리면..

 

Client.upd ->VS2008 Team Explorer설치 지원파일

Team Explorer -> Team Explorer 설치 폴더

TFS-X64 -> Team Foundation Server 2010 설치 파일 64bit

TFS-X32 -> Team Foundation Server 2010 설치 파일 32bit

 

이렇게 4개의 폴더로 구분했습니다.

 

설치할 OS bit 확인하시고 그에 맞는 설치 폴더로 이동하십시요.

 

Windows Server 2008 R2이므로.. TFS-x64 이동합니다.

 

여기 드뎌 설치파일이 있습니다.(설마 여기 이것을 찾기 위하여 검색으로 찾지는?? ㅎㅎㅎ)

 

그럼 여기서 "Setup" 선택해서 설치를 시작합니다. (따쁘~~ 클릭을 하는거죵 ㅎㅎㅎ)

그럼 설치하기 위한 설치 콤포넌트를 읽기 시작해서 다음 화면이 표시됩니다.

 

 

끝난 다음 "Next" 선택합니다.

 

 

설치 라이선스 동의하시고~ "Next" 쏘세요~

다음 . 이제 중요합니다. ? 설치할 기능을 선택하기 때문입니다.

 

 

설치할 기능을 선택하는 것입니다.

 

Team Foundation Server - TFS 주요 기능 구성요소

Team Foundation Server Proxy - TFS 프락시 서버

Team Foundation Build Service - TFS 빌드 서비스

 

세개의 구성요소 중에 첫번째는 설치해야 겠죠??

그럼 나머지 2개는.. 필요에 따라 설치하실  있습니다.

 

간단히 요약해 드리면

2번째 - 사용자 많아지만 추가로 설치해서 Proxy서버를 중간에 두는 것입니다. 사용자가 많아서 서버 접속이 원할하지 않을 사용하는 .

3번째 - 빌드 서비스로 자동으로 소스 코드를 빌드하는 기능입니다. 이것도 필요하면 설치하시면 됩니다.

 

여기서는 TFS 주요 기능 기능 구송요소와 TFS 빌드 서비스를 설치하겠습니다.

TFS 빌드는.. 막내 꼬맹이가 일을 했는지 결과를 확인하는데 도움이 되기 때문이라고 팀장에게 이야기 합니다.  ^.^

 

그럼 2 선택하고 "install" 선택합니다.

 

 

그럼 설치를 진행하느데.. 여기서 잠깐.

 

Windows Server 2003이라면. Windows Installer 4.5 설치하기 때문에 여기서 리부팅이 한번 이루어집니다.

Windows Server 2003 , 2008 에서는 .NET Framework 4.0 설치하고 다음 리부팅을 다시 한번 합니다.

 

한번 정도 리부팅이 이루어 지는데요.. ^^ 이게 싫으시면.. .NET 4.0 먼저 설치하시는 것도 좋습니다.^^ 다시 부팅하는 횟수를 줄이러면 Windows Server 2008 이상을 권장합니다. ^___^ ㅎㅎ

 

설치를 완료하고 나면..

 

설치가 완료 되면 "Lunch Team Foundation Server configuration Tool" 체크되어 있어서

"Configure" 버튼이 활성화 되어 있습니다. 이제 "Configure" 선택하도록 하겠습니다.

 

이것을 선택하면 환경 설정을 하게 됩니다. 환경 설정은 Soon 입니다요.~~

 

ㅎㅎ 오늘은 여기까지 설치만 했습니다. 설치?? 쉽죠잉~~

팀장님께 설치 보세요~ DVD 넣고 설치하니 아무 문제 없이 설치 되자나요~

VS 2008 처럼.. 설치전에 뭔가 복잡한 안해두 돼죠? 글구 64bit 지원되고~ 어떠세요??

설치 관련된 말은 이제 할말이 없으시죠??

 

ㅎㅎㅎㅎ

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

 

팀장에게 VS TFS 설치보여주기 - IIS & NET

 

Visual Studio TFS 2010 설치하기저 IIS 설치부터 보겠습니다.

 

여기서는 다음과 같은 사양을 기준으로 합니다.

 

 - Windows Server 2008 이상

 - Workgroup 네트워크 환경 (AD 설치환경은 아닙니다.)

 

 

일단 서버 관리자를 실행합니다. 시작-> 관리도구-> 서버관리자 입니다.

 

 

 

서버 관리자에서 이제 IIS 닷넷을 설치합니다.

 

우선 IIS 입니다. 서버 관리자 왼쪽 트리메뉴에 역할을 선택합니다.

 

 

오른쪽에서 역할 추가가 있습니다.

 

그럼 역할 추가 마법사가 표시됩니다. - 절대 놀라지 마시고, "다음" 선택합니다.

 

이제 웹서버(IIS) 선택합니다.

이제 다음을 선택합니다.

 

그럼 웹서버 소개창이 뜹니다.

여기서 읽어보시고 "다음" 선택하십시요.

 

그럼 이제 웹서버에서 추가 기능을 선택하는 것이 표시됩니다.

 

 

여기서 2번째 응용 프로그램 개발을 확인하고 몇가지를 추가해 줍니다.

 

 

여기서 ASP.NET .NET 확장성을 추가해 줍니다. 그리고 다음.. 조금 아래로 내려가면

"성능" 있는데 여기서 "동적 콘텐츠 압축" 선택해 줍니다.

 

 

다음 설치 확인 창이 표시도고, 이상 없다면 "설치" 선택합니다.

설치가 완료 되면.. 이제 다음 .NET 설치합니다.

 

.NET 뭔지 .NET 3.5 설치되어야 합니다. Visual Studio 2010 .NET 4.0 까지 지원하는데 4.0 자기 설치 시에 설치합니다. 그럼 .NET 3.5 "서버 관리자"에서 왼쪽 메뉴에서 "기능" 선택합니다

 

 

기능의 오른쪽에 "기능추가" 있습니다.

 

 

여기서 기능 추가 마법사가 표시되고, 첫번째 "NET Framework 3.5.1기능" 선택합니다.

놀라지 마십시요. 여기서 새로운 창이 하나 표시됩니다.

선택하면 "추가 기능 마법사" 창이 표시됩니다.

 

 

여기서 "필요한 기능 추가" 선택합니다. 다음 "다음" 선택합니다.

설치 확인 창이 표시되고 "설치" 선택하면 설치를 시작합니다.

 

그럼 설치 필요한 것은 모두 끝났습니다.

 

VS TFS 2008 보다 쉽죠?? (물론 복잡한계정이나 기타 등등은 소스 관리 + @ 기능을 원한다면.. 계정도 알아두면 매우 매우 좋습니다. ^_^)

 

여기 까지는 그냥 Windows 기능에서 필요한 기능만 설치했습니다. 별다른 것은 없습니다.

 

ㅎㅎ 이제 다음은 TFS 2010 설치편 입니다. 설치도 정말 쉽습니다. 정말??? 다음에~~ Soon 입니다요~

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

 

팀장 설득편 "VS TFS 2010" 이거 설치해봐1!!! - 설치 검토와  할일

 

반댈세 하는 팀장에게 드디어 설치를 보여줄 차례입니다. 사실 설치 전에 사전에 해야 하는 것은 다들 아시죠? 하드웨어의 준비입니다.

 

설치는 정말 단순합니다. 번째 설치하기 전에 설치 문서를 읽어 보면(아직 영문입니다 .) 설치 계정이나 환경에 대한 이야기가 있습니다. 여기서 설치 환경의 하드웨어 권장 사양을 확인합니다.

 

설치문서에 나온 권장 사양은 다음과 같습니다.

 

사용자

CPU

디스크

Memory

20 이하

1 개의 CPU

클럭 수 : 2.2 GHz

8 GB

2 GB

20 ~ 250 이하

1 개의CPU

클럭 수 : 2.6 GHz

230 GB

2 GB

250 ~ 450 이하

2 이상 CPU

클럭 수 : 2.8 GHz

500 GB

4 GB

450 ~ 2,200 이하

2 이상 CPU

클럭 수 : 2.8 GHz

31 GB ~ 136 GB

3.5 GB

2,200 ~ 3,600 이하

4 이상 CPU

클럭 수 : 2.2 GHz

31 GB ~ 136 GB

3.5 GB

 

정도 사양이면 현재 판매되고 있는 일반적인 서버라면 모두 괜찮다고 있지 않을까 합니다. Visual Source Safe 2005 대신해서 사용하기 위한 사양이라면   현재 사용하고 있는 서버라도 문제가 없다고 볼수 있습니다. 50 정도라 하여도 Disk 정도만 용량이 된다면 문제 없이 사용이 가능하죠. ^.^ 메모리는? 요즘 데스크탑도 4G 가는 중이라 서버에서 4G정도라면.. 문제가 없다고 있습니다.

 

이제 팀장에게 하드웨어는.. 쓰면 됩니다. 필요한 사항은 서버가 없다고 해도 된다고 하시면 됩니다.

 

그럼 이제 실제 설치에 필요한 계정은?

없습니다. 그냥 설치합니다.

 

설치 문서에는 계정에 대하여 설명이 되었습니다. Visual Source Safe 대신해서 사용할 분이라면

이계정은 그냥 넘어가셔도 됩니다. (추가 기능을 이용할 다시 계정을 설정할 있습니다.^^)

 

다시 팀장이 VS TFS 설치할 고생하던데? 특히 계정이 잘못되면 설치하고도 못쓴다는데? 괜찮겠게어?

 

답은 계정 설정은 필요없습니다.

       그냥 설치하면 ~ 이라는 것입니다.

 

이제 정말 설치 할일에 대하여 말해보겠습니다. 하드웨어는 준비되어 있다고 하면, 이제

 

당근 Windows 설치합니다. Windows Server 2003 SP2 / Windows Server 2003 R2 SP2

Windows Server 2008 / Windows Server 2008 R2

 

이렇게 지원합니다.

Windows Server 2003 에서는 Service pack 2 설치해야 하는 중요 포인트(?)입니다.

이제 Windows Server 2003 사용하는 곳도 있고 Windows Server 2008 사용하는 곳도 있을 겁니다.

 

요즘은 Windows Server 2008 R2 나오기 때문에 R2 기준으로 하겠습니다.

 

설치 전에 기본적으로 해주여야 하는것이 있습니다. 다른 것은 아닙니다.

.NET Framework 3.5 설치와 IIS(웹서버) 설치하시면 됩니다.

 

Windows Server 2008이상이라면 .NET Framework 3.5 이상이 이미 있기 때문에 별도 설치는 하지 않고 Windows에서 추가 기능 설치만 하시면 됩니다. IIS 서버도 마찬가지 입니다. 최신 서버인 Windows Server 2008 R2 64bit 지원하는데 이번 설치편은 Windows Server 2008 R2 에서 진행합니다.

(Windows Server 2008 32bit 에서도 똑같이 따라하시면 됩니다.^^)

신고
크리에이티브 커먼즈 라이선스
Creative Commons License


 

티스토리 툴바