태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

이런 저런 이야기2015.05.27 11:21
VS 2015 ALM2015.04.15 12:38

Visual Studio 2015 버전이 곧 출시될 예정입니다. 현재는 공식적으로 CTP 6가 나온 상태죠.

다음 링크를 보시면 Visual Studio 2015에 새로 추가되는 기능들을 확인하실 수 있습니다.

 

Visual Studio 2015에서의 가장 큰 변화는 제품 라인업이 달라졌다는 것인데요. 기존 4개의 에디션에서 3개의 에디션으로 라인업이 단순화되었죠.

즉, 아래 그림처럼 Premium과 Ultimate이 Enterprise 에디션으로 합쳐진 것입니다.

이렇게 Enterprise 에디션으로 합쳐지면서 다행히(?) 가격은 기존 제품의 Premium 에디션과 비슷하다고 하네요.

이와 관련된 자세한 내용은 아래 링크에서 확인하실 수 있습니다.

 

이번 Visual Stduio 2015 제품 라인업의 변화는 환영할만 하다고 생각합니다. 왜냐하면, 기존 제품의 Premium 에디션을 구매하기에는 가격 대비 기능이 좀 부족한 것 같고, Ultimate 에디션을 구매하자니 비용이 너무 비싸다는 인식이 컸기 때문이죠. 물론 Ultimate에서 제공하는 부하 테스트 같은 기능은 타사 제품보다 가격이 싸지만, 나머지 기능(IntelliTrace, 아키텍처 등)의 활용도가 낮기 때문에 Visual Studio를 구매하는 고객 입장에서는 'Premium + 부하테스트 << Ultimate 가격'이라는 인식이 컸던 게 사실입니다. 따라서, Premium과 Ultimate 에디션을 하나로 합쳐서 기존의 Premium과 비슷한 가격에 제공하기로 한 결정은 구매하는 입장에서는 당연히 좋고, 저와 같이 MS 기술로 먹고 사는 사람도 Visual Studio의 시장 확대이라는 측면에서 좋은 게 아닌가 생각합니다. 

 

제품 구성이 달라지면서 기존 에디션에서 제공하던 기능 목록에도 변화가 생겼습니다. Visual Studio 2013 Premium이나 Ultimate 에디션에서 제공하던 기능들 중 일부가 Visual Studio 2015 Professional 에디션으로 이동(?)한 것입니다.

 

우선 Visual Studio 2013과 Visual Studio 2015의 각 에디션 별 기능 목록은 다음 링크에서 확인하실 수 있습니다.

 

다음 표는 Visual Studio 2013의 Premium과 Ultimate에서 제공했던 기능 중 Visual Studio 2015 Community 또는 Professional로 이동(?)한 것을 정리한 것입니다.

 

기능 

 Visual Studio 2013

Visual Studio 2015 

 설명

 CodeLens

Ultimate

Professional 이상

자세한 내용은 여기를 클릭하세요.

 Agile Portfolio Management

Premium 이상

Professional 이상

자세한 내용은 여기를 클릭하세요.

 Team Rooms

Premium 이상

Professional 이상

자세한 내용은 여기를 클릭하세요.

 PowerPoint Storyboarding

Premium 이상

Community 이상

자세한 내용은 여기를 클릭하세요.

 Code Review

Premium 이상

Community 이상

자세한 내용은 여기를 클릭하세요.

Task Suspend/Resume

Premium 이상

Community 이상

자세한 내용은 여기를 클릭하세요.

 

Visual Studtio 2015 제품 라인업의 변화가 줄어들고 있는 .NET 시장의 확대와 MS 기술로 먹고 사는 개발 및 컨설팅 파트너에게 많은 기회를 가져다 주길 바래봅니다.

 

감사합니다.

webmars.

 

 

 

 

 

 

 

 

 

신고
Posted by webmars
분류없음2015.03.23 17:38

using Microsoft.TeamFoundation.Client;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
using Microsoft.TeamFoundation.Framework.Client;
using Microsoft.TeamFoundation.Framework.Common;

namespace ClassLibrary1
{
    public class Class1
    {
        public static TfsTeamProjectCollection GetTeamProjectCollection(string collectionName)
        {
            TfsTeamProjectCollection projectCollection = null;

            var networkCredencial = new NetworkCredential
            {
                UserName = @"domain/username",
                Password = "password"
            };

            var uri = "http://mytfs.company.com:8080/tfs/" + collectionName;
            projectCollection = new TfsTeamProjectCollection(new Uri(uri), networkCredencial);

            return projectCollection;
        }

        public static int GetProjectsCount(string collectionName)
        {
            int projects = 0;

            var teamProjectCollection = GetTeamProjectCollection(collectionName);

            if (teamProjectCollection != null)
            {
                teamProjectCollection.EnsureAuthenticated();

                ReadOnlyCollection<CatalogNode> projectNodes = teamProjectCollection.CatalogNode.QueryChildren(
                    new[] { CatalogResourceTypes.TeamProject },
                    false, CatalogQueryOptions.None);

                projects = projectNodes.Count();
            }
            else
            {
                throw new InvalidOperationException("Invalid TeamProject Collection");
            }

            return projects;
        }
    }
}

 

신고
Posted by webmars
TFS Tips2015.03.16 16:23

DIM definition As [Byte]() = Nothing
DIM warnings As Warning() = Nothing

Public Sub Main()
 Try
  DIM stream As FileStream = File.OpenRead(FILEPATH + REPORTNAME + ".rdl")
  definition = New [Byte](stream.Length - 1) {}
  stream.Read(definition, 0, CInt(stream.Length))
  stream.Close()
    Catch e As IOException
        Console.WriteLine(e.Message)
    End Try

    Try
        rs.CreateCatalogItem("Report", REPORTNAME, REPORTSERVER_FOLDER, True, definition, Nothing, warnings)

        If Not (warnings Is Nothing) Then
            Dim warning As Warning
   
            For Each warning In warnings
                Console.WriteLine(warning.Message)
            Next warning
        Else
            Console.WriteLine("Report: {0} uploaded successfully to {1} with no warnings", REPORTNAME, REPORTSERVER_FOLDER)
        End If
    Catch e As Exception
        Console.WriteLine(e.Message)
    End Try
 End Sub

 

신고
Posted by webmars
TFS Tips2015.01.14 13:32

로컬 PC에 Visual Studio(또는 팀 탐색기)와 MS Excel, MS Project를 같이 설치하면 메뉴에 '팀' 메뉴가 추가됩니다.

그런데, 설치 순서에 따라 '팀' 메뉴가 보이지 않는 경우가 있습니다.

일반적으로 MS Excel, MS Project를 나중에 설치할 경우 '팀' 메뉴가 보이지 않는데요.

이 경우에는 다음과 같이 '팀' 메뉴를 추가할 수 있습니다.

 

  1. Excel에서 '파일 > 옵션'을 차례로 선택합니다.
  2. 'Excel 옵션' 창에서 '추가 기능'을 선택합니다.
  3. 아래 관리 목록에서 'COM 추가 기능'을 선택합니다.
  4. '이동' 버튼을 클릭합니다.
  5. 'COM 추가 기능' 대화 상자에서 'Team Foundation Add-in' 항목을 선택합니다.
  6. '확인' 버튼을 클릭합니다.

 

이와 같이 하면 MS Excel메뉴에 '팀' 메뉴가 표시됩니다.

MS Project에서도 동일한 방법으로 '팀' 메뉴를 추가할 수 있습니다.

 

감사합니다.

webmars.

 

 

 

 

신고
Posted by webmars
VS 2013 ALM/TFS 20132014.12.05 19:36

[프로페셔널 TFS 간단정리] 5장. 버전 제어 개요(2) - 버전 제어 제품들

이 장에서는 일반적으로 사용되는 버전 제어 제품들의 장, 단점에 대해 알아본다.

 

1. 버전 제어 제품들

1.1. Microsoft VIsual SourceSafe 

장점

단점 

설치와 사용이 쉽다. 

더 이상 개발되지 않으며 지원이 종료되었다. 

개발 도구를 광범위하게 지원한다.

WAN 환경에서는 잘 실행되지 않는다.

업계에 널리 채택되었다.

트랜잭션 없이 체크인하기 때문에 원자성이 보장되지 않는다.

 

분기 기능이 매우 제한적이다(공유 기능을 통해 제공한다).

 

1.2. Apache Subversion 

장점

단점 

오픈 소스로 무료로 사용할 수 있다.

소스 폴더 내에 .svn 디렉터리를 사용해서 로컬 작업 사본의 상태를 저장하고 서버와 동기화한다. 이는 로컬 소스 트리를 오염시킬 수 있으며 매은 큰 프로젝트나 파일의 경우 성능 이슈가 있을 수 있다.

오픈 소스 프로젝트에서 널리 사용된다.

파일 이름 변경을 복사 및 삭제 작업으로 처리한다. 이는 병합할 때 문제가 발생할 수 있다. 

다양한 운영체제에서 동작한다.

윈도우 환경에서는 인증 구성 및 특정 관리 기능 실행이 어려울 수 있다.

모든 플랫폼의 개발 도구를 광범위하게 지원한다.

보류 기능이 없다. 

 

1.3. Microsoft Team Foundation Server 

장점 

단점 

버전 제어 이상의 기능(작업 항목 추적, 빌드, 보고 등)을 제공한다.

오프라인 기능이 향상되었지만, 여전히 Git과 같은 분산 버전 제어 도구만큼 강력하지 않다. 

Visual Studio와 Eclipse용 클라이언트를 Microsoft가 직접 제공한다. 

코드에 체크 인하고 팀원들과 협업하려면 서버를 설치해야 한다. 그러나 VSO(Visual Studio Online, http://tfs.visualstudio.com) 를 이용하면 별도의 설치없이 가능하다.

중앙집중식 보안 관리, Active Directory 통합 인증, 단일 로그온(SSO), SharePoint 통합과 같은 기업 환경을 위한 기능을 제공한다.

서버는 윈도우 플랫폼에서만 실행된다. 그러나 클라이언트는 크로스 플랫폼을 지원한다.

높은 확장성을 가진다.

 

로컬의 변경 내용을 메인 코드 저장소에 커밋하지 않고도 서버에 저장할 수 있는 보류 집합(shelveset) 기능이 있다.

 

저장소에 커밋하기 전에 통과해야 하는 체크 인 정책을 제공한다.

 

제어된 체크 인(gated check-in) 기능을 사용하여 메인 저장소에 커밋하기 전에 빌드 자동화를 실행할 수 있다.

 

모든 데이터는 보안과 백업 용이성을 위해 SQL Server 데이터베이스에 저장된다.

 

 

감사합니다.

webmars.

 

 

 

신고
Posted by webmars
VS 2013 ALM/TFS 20132014.12.05 19:31

[프로페셔널 TFS 간단정리] 5장. 버전 제어 개요(1) - 핵심 개념

이 장에서는 특정 버전 제어 도구와 상관없이 일반적으로 사용되는 기본 개념과 기능에 대해 설명한다.

 

1. 버전 제어란?

버전 제어(version control)을 의미하는 용어는 다양하다: 소스 제어(source control), 리비전 제어(revision control), 소프트웨어 형상관리(SCM).

버전 제어 시스템의 주요 기능

  • 소프트웨어 프로젝트를 빌드하는데 필요한 소스 코드, 이미지, 빌드 스크립트 등의 저장소
  • 이러한 파일들의 변경 기록을 추적하고, 특정 시점의 파일 상태를 조회
  • 같은 프로젝트를 수행하는 다른 팀원들과의 협업을 위한 도구와 메커니즘

 

2. 버전 제어 시스템의 핵심 개념

개념

설명

저장소(repository)

일반적으로 코드는 컴퓨터 내의 저장소에 저장된다. 저장소는 파일 시스템의 디렉터리 구조와 비슷하다. 그러나 파일의 변경 내용을 추적하고 다른 팀원들과 공유할 수 있다는 점에서 파일 시스템과는 다르다.

작업 사본(working copy)

저장소에 있는 파일들은 개발자 컴퓨터의 로컬 영역에도 있어야 한다. 이 로컬 버전을 TFS에서는 작업 영역(workspace)라고 하며, 다른 시스템에서는 샌드박스(sand box) 또는 작업 사본(working copy)라고도 한다.

작업 폴더 매핑(working folder mapping)

작업 폴더 매핑(working folder mapping)은 저장소 내의 파일 저장 위치와 로컬 시스템 내의 작업 사본 위치를 연결해주는 링크를 말한다. 작업 디렉터리(working directory), 작업 영역 매핑(workspace mapping) 또는 샌드박스(sandbox) 등도 작업 폴더 매핑을 의미한다.

가져오기(get)

저장소에서 로컬 컴퓨터로 파일을 다운로드하는 것을 TFS에서는 가져오기라고 한다. 동일한 과정을 CVS나 SVN에서는 체크아웃(check ou)이라고 한다. Git과 같은 분산 버전 제어 시스템에서는 저장소에서 개발 파일 대신 저장소를 통째로 복제한다.

추가하기(add)

로컬 컴퓨터에서 파일과 폴더를 저장소에 추가하여 다른 팀원들과 공유한다. 이때 소스 코드를 컴파일한 바이너리 파일, 빌드할 때마다 개발 도구가 생성하는 파일 등은 공유할 필요가 없다.

체크아웃(checkout)

파일을 편집하려 할 때, 해당 파일을 사용하겠다고 서버에 통보하여 다른 팀원들이 알 수 있게 하는 작업을 TFS에서는 체크아웃이라고 한다. CVS나 SVN에서의 체크아웃은 저장소의 파일을 다운로드해서 로컬에 작업 사본을 만드는 것을 의미한다.

변경 집합(changeset)

로컬 컴퓨터에서 체크아웃하고 편집한 다음 저장소에 저장할 대상이 되는 파일들을 변경 집합, 커밋(commit) 또는 변경 목록(changelist)라고 한다.

체크 인(check-in) 

로컬 컴퓨터에서의 변경 내용을 다른 팀원들과 공유하기 위해 저장소에 변경 집합을 커밋한다. 이를 TFS에서는 체크인(check-in)이라고 한다. 다른 도구에서는 커밋(commit)과 같은 용어를 사용하기도 한다. 

기록(history)

버전 제어 시스템은 시간에 따라 폴더나 파일에 어떤 변화가 있었는지 모든 것을 기록한다. 이 기록을 통해 고객에게 어떤 코드가 전달됐는지, 이 코드가 왜 지금처럼 작성됐는지, 과거에 특정 기능을 누가 구현했는지 등을 알 수 있다. 

분기 및 병합(branching and merging) 

분기는 저장소에 있는 파일들의 복사본이다. 분기를 하면 둘 이상의 팀이 동시에 같은 프로젝트를 수행할 수 있다. 어떤 분기에서 다른 분기로 변경 내용을 합치는 것을 병합이라고 한다.

 

3. 버전 제어 제품들

3.1. Microsoft VIsual SourceSafe 

장점

단점 

설치와 사용이 쉽다. 

더 이상 개발되지 않으며 지원이 종료되었다. 

개발 도구를 광범위하게 지원한다.

WAN 환경에서는 잘 실행되지 않는다.

업계에 널리 채택되었다.

트랜잭션 없이 체크인하기 때문에 원자성이 보장되지 않는다.

 

분기 기능이 매우 제한적이다(공유 기능을 통해 제공한다).

 

3.2. Apache Subversion 

장점

단점 

오픈 소스로 무료로 사용할 수 있다.

소스 폴더 내에 .svn 디렉터리를 사용해서 로컬 작업 사본의 상태를 저장하고 서버와 동기화한다. 이는 로컬 소스 트리를 오염시킬 수 있으며 매은 큰 프로젝트나 파일의 경우 성능 이슈가 있을 수 있다.

오픈 소스 프로젝트에서 널리 사용된다.

파일 이름 변경을 복사 및 삭제 작업으로 처리한다. 이는 병합할 때 문제가 발생할 수 있다. 

다양한 운영체제에서 동작한다.

윈도우 환경에서는 인증 구성 및 특정 관리 기능 실행이 어려울 수 있다.

모든 플랫폼의 개발 도구를 광범위하게 지원한다.

보류 기능이 없다. 

 

3.3. Microsoft Team Foundation Server 

장점 

단점 

버전 제어 이상의 기능(작업 항목 추적, 빌드, 보고 등)을 제공한다.

오프라인 기능이 향상되었지만, 여전히 Git과 같은 분산 버전 제어 도구만큼 강력하지 않다. 

Visual Studio와 Eclipse용 클라이언트를 Microsoft가 직접 제공한다. 

코드에 체크 인하고 팀원들과 협업하려면 서버를 설치해야 한다. 그러나 VSO(Visual Studio Online, http://tfs.visualstudio.com) 를 이용하면 별도의 설치없이 가능하다.

중앙집중식 보안 관리, Active Directory 통합 인증, 단일 로그온(SSO), SharePoint 통합과 같은 기업 환경을 위한 기능을 제공한다.

서버는 윈도우 플랫폼에서만 실행된다. 그러나 클라이언트는 크로스 플랫폼을 지원한다.

높은 확장성을 가진다.

 

로컬의 변경 내용을 메인 코드 저장소에 커밋하지 않고도 서버에 저장할 수 있는 보류 집합(shelveset) 기능이 있다.

 

저장소에 커밋하기 전에 통과해야 하는 체크 인 정책을 제공한다.

 

제어된 체크 인(gated check-in) 기능을 사용하여 메인 저장소에 커밋하기 전에 빌드 자동화를 실행할 수 있다.

 

모든 데이터는 보안과 백업 용이성을 위해 SQL Server 데이터베이스에 저장된다.

 

 

감사합니다.

webmars.

 

 

 

신고
Posted by webmars
VS 2013 ALM/TFS 20132014.11.24 10:29

[프로페셔널 TFS 간단정리] 4장. Team Foundation Server에 연결

이 장에서는 Team Foundation Server 클라이언트에 대해 알아봅니다.

 

1. Visual Studio 팀 탐색기

Visual Studio 팀 탐색기는 모든 Visual Studio 에디션에 기본적으로 포함되어 있는 클라이언트이다.

Team Foundation Server 2013과 Visual Studio 간의 호환성은 다음과 같다.

 

2. Team Explorer Everywhere

Team Explorer Everywhere(TEE)는 Eclipse IDE와 크로스 플랫폼(Mac, Unix, Linux) 용 클라이언트이다.

Team Explorer Everywhere(TEE)는 두 가지 주요 도구로 구성되어 있다.

  1. Eclipse 용 Team Foundation Server  플러그인
  2. Team Foundation Server 크로스 플랫폼 명령줄 클라이언트

 

TEE는 TFS 2013, 2012, 2010, 2008 및 Visual Studio Online에서 사용할 수 있다.

TEE는 Java로 구현되어 Windows 뿐만 아니라 Mac OS X, Unix 진영(예, Linux, HP-UX, Solaris, AIX) 등의 주용 플랫폼을 지원한다.

 

3. Team Web Access

Team Web Access는 웹 기반 클라이언트로 웹 브라우저를 통해 TFS에 액세스할 수 있다. 따라서 TFS 전용 클라이언트를 설치하지 않으려는 사용자에게 적합하다.

이 클라이언트는 기본적으로 http://<tfs이름>:8080/tfs/web에 설치된다.

 

4. Microsoft Excel과 Project

팀 탐색기를 설치하면 Mcrosoft Excel 및 Project의 리본 메뉴에 팀 메뉴가 추가된다.

팀 리본 메뉴에서 TFS에 연결할 수 있으며, 쿼리를 사용하여 작업 항목을 조회, 편집, 추가할 수 있다.

Excel에서는 현재 상태 및 과거의 추세를 분석하기 위해 Excel 통합 문서에 여러 유형의 보고서를 생성할 수 있다.

TFS 2012부터는 Project Server와의 통합 기능이 포함되어 있어, 양 서버 간의 작업 동기화가 가능하다.

 

5. Windows 탐색기

Team Foundation Server Power Tools의 일부로 Windows 쉘 통합 기능을 설치할 수 있다. 이 기능이 설치되면, Windows 탐색기에서 TFS의 버전 제어 메뉴에 접근할 수 있다.

이는 Visual Studio 또는 Eclipse 이외의 환경에서 TFS와 함께 작업하고자 할 때 유용하다.

 

감사합니다.

webmars.

 

 

 

 

신고
Posted by webmars
VS 2013 ALM/TFS 20132014.11.21 18:33

[프로페셔널 TFS 간단정리] 3장. 설치 및 구성

이 장에서는 Team Foundation Server를 구성하는 유형에 대해 설명한다.

TFS 설치는 MSDN의 TFS 설치 가이드를 참고한다.

 

1. 기본(Basic)

TFS를 가장 빠르고 쉽게 설치할 수 있는 방법으로 소규모 팀에게 적합하다. 단, 보고서 서비스 및 SharePoint 통합 기능은 사용할 수 없다. 만약 TFS를 Windows Server에 설치한 경우라면 나중에 이 두 가지 구성요소를 추가할 수는 있다.

 

2. 표준 단일 서버 (Standard Single Server)

한 대의 서버에 Team Foundation Server를 설치할 때 사용한다. TFS의 모든 기능뿐만 아니라 보고서 서비스 및 SharePoint 통합 기능도 사용할 수 있다. 단, 원격 서버에 설치된 SharePoint나 SQL Server를 사용하려 할 경우에는 이 유형을 사용해서는 안 된다.

 

3. 고급 (Advanced)

표준 단일 서버와 마찬가지로 TFS의 모든 기능뿐만 아니라 보고서 서비스 및 SharePoint 통합 기능을 제공한다.  SharePoint, SQL Server, SQL Server Reporting Service를 원격 서버에 구성할 수 있다.

 

감사합니다.

webmars.

신고
Posted by webmars
VS 2013 ALM/TFS 20132014.11.21 17:10

[프로페셔널 TFS 간단정리] 2장. 배포 계획(2) - 프로젝트 컬렉션 및 팀 프로젝트를 나누는 방식

이 장에서는 팀 프로젝트 컬렉션 또는 팀 프로젝트를 어떤 기준으로 나누어야 하는지에 대해 설명한다.

 

1. 팀 프로젝트 컬렉션을 나누는 방식

팀 프로젝트 컬렉션은 밀접하게 관련된 팀 프로젝트들을 하나로 묶는 그룹이다. 팀 프로젝트 컬렉션을 나눌 때는 기본적으로 제품 또는 관련 응용프로그램 군을 고려한다. 예를 들어, 제품 간에 코드 공유를 전혀하지 않는 제품들에 대해서는 서로 다른 팀 프로젝트 컬렉션을 만들고, 코드 재사용성이 높거나 프레임워크를 서로 공유하는 제품들에 대해서는 단일 팀 프로젝트 컬렉션을 사용한다.

 

2. 팀 프로젝트를 나누는 기준

일반적으로 팀 프로젝트는 "여러분이 생각하는 것보다 크다". 다음은 팀 프로젝트의 범위를 설정하는데 사용되는 일반적인 세 가지 방식이다.

A. 응용프로그램 별 팀 프로젝트

응용프로그램 별로 팀 프로젝트를 각각 만든다. 이는 가장 일반적인 방식이며, 가장 먼저 고려해봐야 할 방식이다.

B. 릴리즈 별 팀 프로젝트

아주 큰 규모의 팀이 프로젝트를 오랜 기간 동안 진행할 경우에 효과적이다. 특히 독립 소프트웨어 벤더(ISVs)에 적합하다. 사실 Microsoft에서도 많은 제품에 이 방식을 적용하고 있다.

C. 팀 별 팀 프로젝트

팀원이 50명 이하인 적은 규모의 팀으로써 팀원 수에 거의 변화가 없지만, 그들이 관리하는 응용프로그램이 계혹해서 변화하는 경우에 적합하다.

 

감사합니다.

webmars.

신고
Posted by webmars