- 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번이었단 말이지. 그러니까 수원 서포터가 아닐까 하는 생각이 드는 군.”

그래서 누군지 알겠엉?”

전혀.”

왜 아는 거 처럼 말해?”

어쩌라고.”

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

댓글을 달아 주세요

  1. ranma 2011.06.14 15:14  댓글주소  수정/삭제  댓글쓰기

    소스제어탐색기에서 폴더명 바꾸는 방법 좀 알려주세요ㅠㅠ

  2. 프랑켄 2011.06.22 11:31  댓글주소  수정/삭제  댓글쓰기

    이거 재밌는데요?ㅋㅋ 앞으로 계속 연재해주세요.^^

    • 강보람(워너비) 2011.06.26 13:31  댓글주소  수정/삭제

      우선 재밌게 읽어 주셔서 감사합니다!

      개인사정으로 연재가 잠시 중단 되었는데요-_-;;;
      다다음주 쯤???
      다시 돌아오겠습니다!

  3. 냇가 2011.06.26 16:53  댓글주소  수정/삭제  댓글쓰기

    신선합니다. 잘 보고 가요~

  4. 쵸코우유 2011.12.06 21:44  댓글주소  수정/삭제  댓글쓰기

    Team Web Access를 이용해서 최신버젼을 받을려면
    파일 하나씩을 받아야 하는 것 같은데...TortoiseSVN같이 폴더채 받을 수 있는 방법이나 툴이 있나요?

  5. 히나'Love' 2012.01.02 19:09  댓글주소  수정/삭제  댓글쓰기

    이곳에서 많은 정보를 얻고 있는 초보입니다.
    프로그래밍을 공부하기 위해서 스터디 그룹을 만들어 친구들과 같이 공부 중입니다.
    프로그래밍을 공부하면서 팀 프로젝트를 하게 되면서 소스 관리를 위해 SVN을 사용하여 버전관리를 하였습니다.
    이번에 새 팀프로젝트를 시작하려고 하는데 자동 빌드 부분 때문에 파운데이션 서버를 사용하고자 합니다.

    설치 환경은 윈도서버2008R2에 할 예정이지만 현재는 개인적인 테스트이기 때문에(사용방법 및 관리방법을 익혀서 교육을 따로 해야 하기에) 윈도7이 설치된 데탑과 노트북을 사용하고 인터넷 공유기를 사용하여 하나의 네트워크를 구성하여 테스트를 하고 있습니다.

    데탑에 파운데이션 서버와 비주얼 스튜디오를 설치하고
    노트북에는 비주얼 스튜디오만 설치하였습니다.
    (데탑은 프로그래밍할 때도 사용하고 버전 관리 및 자동 빌드용으로 사용합니다만 프로그래밍은 급할때만 사용합니다.)
    설정은 기본 설정 마법사와 빌드 설정 마법사를 사용했습니다.
    파운데이션 서버는 이곳 블로그와 제가 이것저것 건들여 보면서 설정을 하였는데 자동 빌드 서비스는 어떻게 설정을 하는지 모르겠습니다.

    비주얼 스튜디오에서 프로젝트 다운받아서 수정하고 업로드 한 다음에 '새 빌드큐 대기'를 눌러서 빌드 할 것을 설정하는데 '빌드 기본값' 탭에서 출력 파일 저장 폴더를 지정하는 부분에서 문제가 발생합니다.

    폴더 지정을 '\\server\share\' 형식으로 하라고 되어 있어 제 데탑의 ip주소인 '192.168.0.204'를 '\\192.168.0.204\test'라고 적었는데..

    '\\192.168.0.204\test\파운데이션 서버 빌드 테스트01\파운데이션 서버 빌드 테스트01_20120102.4' 디렉터리를 만들지 못했습니다. 자세한 정보: 네트워크 이름을 찾을 수 없습니다.'

    라는 형식으로 에러메시지가 나오는데 어떻게 해야하는지 모르겠습니다.
    ip 뒤의 'test'은 팀 프로젝트 컬렉션으로 제가 만들어준 것입니다.

    자동 빌드 부분에 대해서 포스팅 부탁드립니다.