본문 바로가기

Team Foundation Server

[마이크로소프트의 몰락] .NET 개발자가 .NET 플랫폼을 떠나는 이유 .NET 플랫폼이 나오고 십 여년 동안 마이크로소프트(Microsoft)는 .NET 플랫폼 시장을 개척하고 활성화 하기 위해 많은 투자를 아끼지 않았다. 많은 사람들이 주저 없이 .NET 개발에 뛰어 들었고, 비주얼 스튜디오(Visual Studio) 편리한 개발 도구는 .NET 플랫폼 개발에 필수 도구가 되었다. 하지만, 이제 한 때 과거의 이야기가 되어가고 있다. .NET은 새로 익히기 꺼려지는 플랫폼 중 하나가 되었고, 사회에 진출하는 새로운 .NET 개발자는 더 이상 예전처럼 양성 되지 않고 있다. 여기에 근거하는 사실을 매우 구체적으로 적고 싶으나 단순히 구체적인 한 두 가지의 문제라기 보다 복합적인 문제이므로 이를 읽는 독자는 넓은 시야로 가볍게 읽어주길 바란다. [출처] 링크 그리고 본문에 .. 더보기
[TFS] 팀 파운데이션 서버(Team Foundation Server) 를 쓰지 말아야 하는 진짜 이유 #2 팀 파운데이션 서버(Team Foundation Server) 를 쓰지 말아야 하는 진짜 이유 #2 팀 파운데이션 서버(Team Foundation Server) 는 2005년 처음 시장에 공개되었다. 이 시기에 많은 버그와 설치 자체가 매우 난이도가 높아서 많은 사람들의 원망을 샀다. 참고 - TFS를 쓰지 말아야 하는 진짜 이유 #1 (링크) TFS를 쓰지 말아야 하는 진짜 이유 #1을 정리해 본다. 통합? 모든 것을 만족할 수 있지만, 어느 것도 만족할 수 없다. 특정 제품(Visual Studio)에 완벽하게 통합되어 외부와 완벽하게 격리된 솔루션이다 우리나라에는 전문가가 없다 전문가적인 서비스를 제공하는 업체도 없다 마이크로소프트 제품으로 발라야 한다 예측할 수 없는 잦은 장애, MS 제품에 잔.. 더보기
[불편한 진실] 한국 마이크로소프트의 세미나에 갈 때 주의사항 불편한 진실, 한국 마이크로소프트가 주최/후원하는 세미나에 갈 때 주의사항 예전에는 한국 마이크로소프트에서 직접 주최하거나 후원하는 세미나가 매우 많았다. 아마도 MS 기반의 플랫폼 개발자들에게 가장 생기가 넘치던 때가 아닌가 싶다. 필자는 오랫동안 한국 마이크로소프트의 관계자에게 압력을 받아왔다. 사용자 입장에서의 피드백이나 단점을 지적하게 되면 개인 SNS와 블로그, 커뮤니티를 가리지 않고 감시하고, 필자가 올린 글을 내리라고 한다. 그렇게 필자가 압력을 받아 내리게 된 글이 수 건이나 된다. 마이크로소프트는 소프트웨어 개발사로 매우 존경한다. 하지만, 한국 마이크로소프트는 철저한 영업 조직인 만큼 물건 팔 때 방해가 되는 것은 도를 넘어서라도 한낱 개인에게 까지 압력을 행사하는 머 그런 곳인가 보다.. 더보기
[TFS] 팀 파운데이션 서버(Team Foundation Server) 를 쓰지 말아야 하는 진짜 이유 #1 팀 파운데이션 서버(Team Foundation Server) 를 쓰지 말아야 하는 진짜 이유 #1 필자는 얼마 전에 다음과 같은 글을 썼다. TFS를 그다지 좋아하지 않는 분의 글을 검색 중에 우연히 찾게 되었고, 이에 대해 필자의 의견을 남긴 적이 있다. TFS 어떤 개발자의 외침. “왜 TFS를 쓰기 싫을까? - TFS is suck.” 1/2 TFS 어떤 개발자의 외침. “왜 TFS를 쓰기 싫을까? - TFS is suck.” 2/2 개인적인 의견에 필자가 반박한 것이기도 했지만, 필자는 기능적인 면에서 반박을 한 것이라 상대방의 마음이 상할지 몰랐으나, 다시 돌이켜보면 미안한 맘이 계속 든다. 과거 필자는 MS Visual Studio ALM MVP 로서 이 제품을 써야할 이유를 말할 수 있었으.. 더보기
[TFS] 팀 파운데이션 서버(Team Foundation Server)의 $tf 폴더의 정체 $tf 폴더 팀 파운데이션 서버(Team Foundation Server) 2012 버전부터 로컬 워크스페이스(local workspace) 에 매핑된 폴더 중 $tf 파일이 생긴 것을 알 수 있다. 이 폴더는 숨김(hidden) 속성이 적용되어 있어 안보인다면 숨김 폴더도 보이도록 윈도우 익스플로어(Windows Explorer) 에서 설정을 변경하면 된다. 이 폴더는 여러분이 주로 작업하는 작업 영역(Workspace)일 경우 생각하는 것 보다 훨씬 많은 용량을 차지하고 있다. 이 폴더는 특성상 늘어나면 늘어나지 절대 줄어들 일이 없다. 대부분의 시간이 지날수록 코드의 라인은 늘어나고 변경이 일어나는 부분도 많아진다. 이 폴더가 내심 꺼림직해서 지워도 또 다시 생긴다. 이 폴더는 Team Founda.. 더보기
[TFS] 팀 파운데이션 서버(Team Foundation Server) 의 다양한 오류 유형 및 정보 들어가기 앞서 팀 파운데이션 서버(Team Foundation Server) 는 구성과 운영이 매우 까다로운 ALM(Application Lifecycle Management) 솔루션 중의 하나다. 그간 오류에 대해 정리하는 의미로 팀 파운데이션 서버(Team Foundation Server) 를 운영하면서 겪을 수 있는 여러 가지 경우의 오류를 리스트업 해본다. 앞서, 마이크로소프트(Microsoft)의 제품이 가지는 여러 통합 제품은 공통적인 단점을 가지는데 그것은 통합되는 요소들이 모두 자사 제품임에도 불구하고 환경적인 요소에 매우 민감하다는 점이다. image–1 통합된 만큼 오류 유형도 광범위 팀 파운데이션 서버(Team Foundation Server)는 윈도우 서버, SQL 서버, 웹 응용 .. 더보기
[ALM] 13. 불완전한 통합, 팀 파운데이션 서버(Team Foundation Server) 불완전한 통합, 모든 것을 만족할 수 있지만, 어느 것도 만족시킬 수 없다. 팀 파운데이션 서버(Team Foundation Server)는 모든 것을 통합한 마이크로소프트(Microsoft)의 ALM(Application Lifecycle Management) 솔루션이다. 통합… 모든 것을 만족할 수 있지만, 어느 것도 만족시킬 수 없다.이 통합이라는 것은 이 시대엔 단점으로 작용될 수도 있다는 생각이 든다. 지난 2005년부터 2010년까지 ‘통합’ 이라는 것이 장점이라고 생각했었다. 모든 것을 올인원(All in One) 해 놓았다는 것만으로 주목을 끌 수 있었지만, 2013년 최근에는 이제 더 이상 ‘통합’이 장점이 될 수 없다는 결론을 내렸다. [이미지] 통합... 현실적인 통합과 이상적인 통합.. 더보기
[ALM] 12. 중앙집중형 - 분산제어형 소스제어 컨트롤 비교 최근 Git이나 Mercurial 과 같은 분산제어 방식의 소스 제어 제품을 무조건 맹신하고 찬양하거나 분산제어 방식보다 중앙집중형 소스제어 방식을 무조건 배척하는 현상이 일부 나타나고 있다. 리누스 토발즈(Linus Tovalds)와 같은 공산주의(Communism) 사상의 이상을 강조하는 철학이 담긴 Git은 GitHub.com을 통해 소스 코드를 공유함으로서 오픈 소스 진영에 매우 발전적인 기여를 하고 있음은 확실하다. 리누스 토발즈(Linus Tovalds)가 만든 것이라 그런지 훨씬 더 주목받고 있는 것 같다. 중앙집중 소스제어와 분산제어 소스제어 방식은 그 원칙과 근본적인 가치에 차이가 있는, 방법론으로 접근해야 할 것이다. 따라서 각 소스 제어의 방식마다 특징과 장단점이 있으며 ‘좋은 게 좋.. 더보기
[TFS] 어떤 개발자의 외침. "왜 TFS를 쓰기 싫을까? - TFS is suck." [2/2] [TFS] 어떤 개발자의 외침. "왜 TFS를 쓰기 싫을까? - TFS is suck." [1/2] [TFS] 어떤 개발자의 외침. "왜 TFS를 쓰기 싫을까? - TFS is suck." [2/2] 지난 1편의 글에 이어, 어떤 분이 원문을 쓰신 분에게 이런 말을 남겼다. 이 코멘트에 대해 원문을 쓰시는 분은 아래의 링크로 반박의 글을 작성하셨다.원문 : http://imjuni.tistory.com/488 필자의 입장에서는 상용 솔루션이 커스터마이징을 해야 쓸만한 제품이란 것은 제품을 구매한 사용자 입장에서는 그리 달갑지는 않을 것이다. 대신 3rd party 벤더나 오픈 소스를 이용하여 기능을 더 보탤 수 있고, SDK API를 이용하여 직접 도메인 제약에 맞게 만들 수도 있을 것이다.원문을 읽어보.. 더보기
[TFS] 어떤 개발자의 외침. "왜 TFS를 쓰기 싫을까? - TFS is suck." [1/2] [TFS] 어떤 개발자의 외침. "왜 TFS를 쓰기 싫을까? - TFS is suck." [1/2] [TFS] 어떤 개발자의 외침. "왜 TFS를 쓰기 싫을까? - TFS is suck." [2/2] 예전에 인터넷에서 자료를 찾는 중에 Team Foundation Server를 무척 혐오한다는 사람의 글을 읽게 되었다. 매우 잘못된 정보로 Team Foundation Server와 Visual Studio를 바라보는 것을 매우 안타깝게 생각한다. 이 글을 작성된 지 1년 정도 되었는데, 필자는 오늘에야 비로서 이 내용을 바로 잡고자 한다. 필자는 Microsoft 제품과 직접적으로 관련되지도 않았고, 더 이상 Microsoft MVP도 아니다. 그러므로 필자의 답변은 최대한 중립적인 입장에서 작성하였다... 더보기
TFS2010, MSDN Virtual Lab: Team Foundation Server 2010, 가상에 환경의 실습해 보자 MSDN Virtual Lab에서는 Microsoft Team Foundation Server 2010 제품을 온라인으로 트레이닝 받을 수 있는 서비스가 있습니다. Team Foundation Server 2010 을 설치할 여력이 되지 않거나, 제품을 직접 시연하고 싶은 사용자에게 가상 환경을 제공해 주고, 가상 환경에서 여러 시나리오를 따라해 볼 수 있습니다. 이 MSDN Virtual Lab 환경은 Internet Explorer 만 있으면 곧바로 서비스를 체험할 수 있습니다. 다만, 이 서비스는 가상의 환경으로 제공이 되기 때문에 가상 환경에서 실습이 끝난 이후에는 생성된 팀 프로젝트와 데이터는 모두 삭제가 됩니다. 실습은 모두 3가지의 모듈로 제공이 됩니다. MSDN Virtual Lab: TF.. 더보기
VSS 마이그레이션 전략 Visual Source Safe 마이그레이션 이전에 많은 분들이 예전에 Visual Source Safe(이하 VSS) 를 사용하시면서, 현재는 이 VSS가 많은 골치거리라고 느끼시는 분들이 많이 계실 겁니다. 사실 소스 제어를 떠나서 VSS는 안정성 면에서 굉장히 불리하죠. 가장 흔하게 겪는 안전성의 문제는 파일 시스템 기반의 소스 제어 데이터베이스가 꼬이는 겁니다. 왜 꼬이는지는 알고 싶지 않지만, 오래 쓰면 쓸수록 꼬입니다. 제가 겪었던 꼬이는 대표적인 문제가 체크인 상태가 다른 사람에겐 체크인 상태가 아니라는 것이죠. 아무리 다른 사람이 최신 버전을 가져와도 그 소스 코드는 예전에 체크인 되었던 소스 코드이고, 불가피하게 강제로 다시 체크인해야 하기도 합니다. 뭐, 여기까지는 정말 가벼운 일상적.. 더보기
2011년 .NET 개발자의 생존전략 최근 2년 동안 다양한 개발 분야의 기술들이 물망에 오르는 굉장히 뜻 깊은 해였습니다. 2년 전이면 Microsoft 강성재 차장과 함께 처음으로 "Visual Studio 한국 공식 팀"을 창설하면서 http://vsts2010.net 이 탄생한 시기이군요. 2008년 12월에 팀이 창설되고, 2009년 1월 5일이 팀 블로그 2주년이 되는 날이었군요. 바로 저희 "Visual Studio 한국 공식 팀" 블로그에서 한홀 한홀 정성스럽게 작성된 포스트들이 2년 여간의 기술 흐름을 대변해 주고 있으며, 그리고 2011년의 기술도 짐작해 볼 수 있는 짧지만 굵은 변화의 흐름과 함께 여기까지 온 것 같습니다. 우리 팀이 함께 해왔던 핵심 키워드의 태그는 무엇이었을까요? Visual Studio 2010 .N.. 더보기
Visual Source Safe 사용자를 위한 TFS2010 시리즈 여러분에게 안타까운 소식과 좋은 소식 두 가지를 전해 드리고자 합니다. 먼저 안타까운 소식을 하나 전해드리도록 하겠습니다. 안타까운 소식, Microsoft 가 내놓은 초기 소스 제어(Source Control) 제품인 VSS(Visual Source Safe) 가 지원이 중단 되었습니다. 들어가기 앞서, 일반적으로 '형상관리'라는 의미의 소스 제어는 소스 제어(Source Control), 버전 컨트롤(Version Control), 소프트웨어 환경 관리(Software Configuration Management)라고 불립니다. 향후 소스제어는 서버/클라이언트 아키텍처로 변경되면서 개발 조직에서 소스를 공동으로 개발하고 공유할 수 있게 되었습니다. 초기 Microsoft 에서는 소스 제어를 위한 소프.. 더보기
Team Foundation Server 2010으로 업그레이드, 마이그레이션, 동기화 Team Foundation 2010 으로 업그레이드? 마이그레이션? 동기화? 많은 원성을 샀던 Team Foundation 2005 버전과 안정화된 Team Foundation 2008, 그리고 놀라우리만큼 강력해진 Team Foundation 2010… 약 5년 동안 Team Foundation Server 제품은 상당히 안정화되었고 테스트 분야에 상당히 공을 많이 들인 제품이 Team Foundation 2010 버전입니다. 더불어 함께 어울려야 하는 Microsoft SQL Server 2008 R2, SharePoint 2010, 그리고 함께 어울리면 간지나는 SCVMM 2008 R2(System Center Virtual Machine Manager), SCCM 2007 R3(System Ce.. 더보기
[HowTo] TFS2010 의 Tfs_Analysis 웨어하우스 데이터베이스가 망가졌을 경우 문제 발생 얼마 전, 집에서 몇 번의 누전 사고로 인해 집 서버의 컴퓨터가 여러 번 꺼지는 충격을 받았습니다. 그 이후로 잘 동작하는 줄 알았지만, Team Foundation Server 의 웨어하우스가 제대로 동작하지 않았습니다. Team Foundation Administration Console 을 통해 확인해 본 결과 Warehouse Database 의 구성이 올바르지 않아 Rebuild 가 되지 않는 현상을 발견했습니다. SQL Server 의 DT(Database Tier) 에서 확인해 본 결과, 아래와 같이 웨어하우스 파일에 오류가 발생하였습니다. 문제 해결 여러 번 집 서버 컴퓨터가 꺼지는 현상이 발생하여 이 파일을 복구 하기에는 좀 힘들어 보였습니다. 그래서 Tfs_Analysis 웨.. 더보기
[HowTo] Team Foundation Server 의 로컬 매핑 캐시 제거하기 발생 문제 Team Foundation Server 2010 을 재설치 한 후에, 로컬에서 소스 코드를 바인딩 하기 위해 작업 영역(Workspace) 를 매핑하고자 합니다. 하지만 아래와 같은 메시지로 작업 영역과 로컬 폴더간의 매핑이 이루어 지지 않습니다. 발생 원인 이 문제는 Team Foundation Server 의 정보의 일부를 로컬에 Cached 하고 있습니다. 로컬 컴퓨터에 Cached 가 되는 이유는 서버가 접속할 수 없는 경우 또는 오프라인일 경우에도 매핑 정보를 유지하기 위함입니다. 매핑 파일의 정보는 아래의 경로에서 찾을 수 있습니다. C:\Users\사용자 폴더\AppData\Local\Microsoft\Team Foundation\3.0\Cache 해결 방법 이 문제를 해결 하기.. 더보기
[세미나] 닷넷엑스퍼트와 함께하는 차세대 응용 프로그램 구축 방법 및 사례 소개 세미나 최근에 많은 기술이 쏟아지고, .NET 의 생태계에도 새로운 국면을 맞이했습니다. 바로 Microsoft 에서 야심차게 준비하고 있는 .NET 4.0 플랫폼과 Team Foundation Server 기술은 상상과 생각을 현실로 이루어주는 강력한 밑거름이 되기 때문입니다. 지금이 아마 우리도 함께 변화할 수 있는 최고의 시점이며, 본 세미나는 그 길을 열어주는 가장 효과적인 세미나가 될 것입니다. 본 세미나는 프로젝트를 주도하는 관리자나 프로젝트 매니저를 위한 세미나입니다. 세미나 신청은 아래 "세미나 등록하기" 버튼을 클릭하십시오. ALM 의 도입과 그 필요성 여러분의 조직은 효율적이라고 생각하나요? 바꾸어 보십시오. 국내 최고 아키텍처겸 컨설턴트인 닷넷엑스퍼트의 안재우 수석님의 많은 경험을 전수해드립.. 더보기
Team Foundation Client 연결 오류 문제 Team Foundation Object Model 을 이용하여 별도의 TFS Client 를 개발하는 경우가 종종 있습니다. 개발자라면 "Visual Studio 에 Team Explorer 가 있는데 왜~?" 라고 묻기도 하지만, 비개발자들 예를 들면, 관리자, 비즈니스 담당자들이 Team Foundation Server 에 접속하기 위해서는 Visual Studio 를 실행해야 합니다. 왜냐하면, Team Explorer 의 필수 구성 요소가 바로 Visual Studio Shell 이기 때문이죠. Team Foundation Web Access 와 같은 제품이 있긴 하지만, TFS 를 사용해 보지 않은 사람은 사용법도 익히기 어려울 뿐만 아니라 특정한 프로세스를 강요할 수 없는 이유이기도 합니다... 더보기
TFS 2010 설치 과정 중에 TF255040 문제 설치 과정 중에 TF255040 문제 Team Foundation Server 2010 을 설치하는 중 TF255040 오류가 발생하였습니다. 아래의 그림과 같이 SQL Server 의 Reporting Services 와 관련된 컴포넌트가 설치 되지 않았다는 오류입니다. 훔... SQL Server Analysis Services 인스턴스를 찾지 못한다는 오류 메시지가 나타납니다. TFS 설치 오류 로그를 자세히 보면 아래와 같이 문제 지점의 예외 메시지를 찾을 수 없습니다. [Error @12:07:34.650] Microsoft.TeamFoundation.Admin.TfsAdminException: TF255040: Install SQL Server Reporting Services or at a .. 더보기
TFS 2010 Build Service 설치 Configure Team Foundation Build Service 에서 Start Wizard 를 클릭합니다. 아래는 Build Service 설치 안내 페이지 입니다. 다음을 클릭합니다. Team Build 를 수행한 Team Project Collection 을 지정해야 합니다. Browser 를 클릭하여 Team Project Collection 을 선택합니다. 만약 Team Foundation Server 와 연결되지 않은 상태일 경우 Team Foundation Server 와 연결해야 합니다. 기본 설정대로 Recommended 를 선택하고 다음을 클릭합니다. Team Build 를 수행할 계정과 포트를 입력합니다. 필자는 TFSBUILD 계정으로 사용하였고, 환경에 따라 NETWORK .. 더보기
Team Foundation Server Object Model 로 Shelve 할 때 주의할 점 이전 Team Foundation Server (이하 TFS) 를 이용하여 통합 소스 관리 프로젝트를 수행한 적이 있습니다. TFS Object Model 이 참 잘 되어 있기 때문에 특별한 레퍼런스 없이도 쉽게 API 를 제어할 수 있었습니다. 허나 이상하게 Shelve(보류 기능) 과 관련하여 한참을 삽질을 한 적이 있는데요, 지금에 와서도 왜 이런지 이해할 수 없는 문제이기도 합니다. 다른 TFS Object Model 객체에서도 이러한 도메인 네이밍과 관련된 룰이 모두 통일되어 있다면 그냥 '그런가부다!!!' 할텐데, Shelve 에서만 이러한 문제가 발생한답니다. 이건 뭐~ var vcs = GetVersionControlServer(); var sourceController = ObjectFa.. 더보기
TFS 백업을 신규 도메인에서 복원하기 에피소드 오래 전 집 컴퓨터를 서버로 운영하면서 Virtual Server 를 이용하여 Team Foundation Server 를 구성하였습니다. 3-Tire 로 구성된 Team Server 는 Windows Server 2003 에서 2008 로 업그레이드를 하였고, Virtual Server 는 Hyper-V 로 교체를 하기 위해 Team Foundation Server 의 데이터베이스를 백업을 해두고 간직해 두고 있었습니다. 사실 Team Foundation Server 를 사용하면서 손에 익으면 익을수록 정말 잘 만든 ALM 솔루션이라는 것을 느꼈지만, 이번에 그 환상은 홀딱 깨지고 말았습니다. 속내를 알면 알수록 잘된 것인지 잘못된 것인지는 현기증이 날 정도로, 고리타분한 구석이 상당히 많기로.. 더보기