Justin Yoo

Author posts

TFS 리포지토리를 git으로 커밋 로그를 포함해서 이전하기

in Visual Studio-alm · 3 min read

Team Foundation Server (TFS)는 현재 Visual Studio Online (VSO)라는 이름으로 바뀌어서 여전히 널리 쓰이고 있다. 지금의 VSO야 TFS 고유의 소스코드 시스템 뿐만 아니라 git 까지도 사용할 수 있는 형태이지만, TFS 2012 버전을 포함한 이전 버전까지는 git을 공식적으로 지원하지 않았다. 따라서, TFS가 관리하는 소스코드의 경우에는 git으로 이전하기가 쉽지 않았는데, 특히나 커밋 히스토리를 모두 이전하는 것은 거의 불가능하다고 할 수 있었다. ...

HtmlHelper.ActionLink()에 이미지 삽입하기

in Asp Net-iis · 3 min read

HtmlHelper 클라스는 상당히 많은 익스텐션 메소드들을 제공하는데, 그중 하나가 ActionLink()이다. 이 ActionLink() 메소드도 받아들이는 파라미터의 종류와 갯수에 따라 굉장히 여러 가지 종류가 있는데, 가장 대표적인 것은 아래와 같다. 이것은 지정된 액션을 하이퍼 링크로 하고, <a>...</a> 사이의 텍스트로는 linkText를 갖는 하나의 완결된 HTML 앵커 태그를 생성한다. 따라서, 위와 같이 작성한 Razor 스크립트는 실제로 HTML 렌더 ...

HtmlHelper 객체 유닛 테스트

in Asp Net-iis · 4 min read

ASP.NET MVC 앱을 개발하다보면 HtmlHelper 객체를 Razor 스크립트 안에서 반드시 쓰게 되어 있다. 그런데, 이것은 기본적으로 웹서버 파이프라인 안에서 작동하는 것이다보니 유닛테스트를 하기가 쉽지 않다. 하지만 항상 길은 있는 법. Fake 객체를 만들어서 유닛테스트에 사용할 수 있다. Moq 라이브러리를 사용하여 테스트하기 이미 ASP.NET MVC 프레임워크는 오픈소스로 공개가 되어 있으니, 소스 코드 페이지에 직접 가서 확인을 해보면, MS는 내부적으로 Moq 이라는 목킹 ...

NuGet 패키지 작성시 Web.config 포함시키기

in Dotnet · 4 min read

닷넷 애플리케이션을 개발하다보면 반드시 필요한 것이 바로 NuGet 패키지 라이브러리들이다. 심지어 닷넷의 코어 라이브러리들도 이 NuGet을 통해서 배포가 될 정도이니 말 다했지. 일반적인 경우에는 .dll 라이브러리 파일들만 배포하지만, 특별한 경우에는 다른 파일들도 함께 배포를 해야 하는 경우가 있다. 예를 들어 웹 앱을 개발하는데 필요한 라이브러리인데, Web.config 파일 변경이 필요한 경우가 있기 때문이다. 닷넷 애플리케이션의 XDT 스키마 정의는 바로 Web.config 파일의 ...

AppVeyor를 이용한 지속적인 통합, 빌드 및 배포

in Arm Devops-on-azure · 2 min read

요즘과 같은 애자일 개발 환경에서는 Contiunuos Integration (CI), Continuous Build (CB), 그리고 Continuous Delivery (CD)라는 개념이 꽤 중요하다. 이를 위해 여러 솔루션들도 나와 있다. 대표적인 것들로 TeamCity와 Jenkins, 그리고 Travis가 있다. 각각 장단점이 있는데 간단하게 나열하자면 TeamCity와 Jenkins는 설치형이어서 이를 위한 서버가 반드시 필요하다. 반면에 Travis는 서비스형이어서 설치가 필요없다. ...

앱에서도 Server.MapPath() 메소드 사용하기

in Dotnet · 2 min read

HttpServerUtility.MapPath() 메소드는 닷넷 웹 애플리케이션을 개발할 때 가장 자주 쓰이는 메소드들 중 하나이다. 특히나 파일 입출력 관련해서는 없어서는 안될 메소드들 중 하나인데, 웹 상의 주소를 실제 서버의 물리적인 주소로 바꿔주는 역할을 하기 때문이다. 하지만, 이 메소드는 클라스명을 보면 알 수 있겠지만, 웹 애플리케이션에서만 사용할 수 있다. 일반적인 콘솔 앱이나 윈도우 앱에서는 이를 사용할 수 없는데, 이런 앱에서도 파일 입출력과 관련해서 비슷한 경우를 자주 접할 수 ...