MSBuild 이용시, XML 파일을 이용해서 Build 에 관련한 셋팅 및 절차를 기록하여 진행 할 수 있습니다. 실제로 진행하고 있는 프로젝트 혹은 솔루션 폴더 내에 해당 xml 파일을 위치 시켜놓고, MSBuild를 이용해서 xml 파일을 실행시키는 방식으로 빌드를 진행 할 수 있습니다. 이 방식은 Jenkins 와 연동하여, 다양한 Action을 제어 할 수 있습니다. 아래의 File 은 현재 저희 프로젝트에서 Build 만 진행 했을 경우에 사용하는 xml 파일이며, 해당 부분에 여러 Taget 을 정의 하고 Call 하는 방식으로 순차적인 진행을 제어 할 수 있습니다. 아래 파일은 Build 만 진행하지만, 파일 삭제, Backup, Packaging, Deploy, Zip 등 다양한 Targ..
실무에서 interface 를 기반으로 설계하기란, 여간 번거로운게 아니다. DI Pattern 으로 인해 개인적으로 interface에 대한 관심이 높아져서, 몇차례에 걸쳐서 정리해보려고 한다. 인터페이스 정의하기 인터페이스는 메서드 원형들의 집합에 이름을 붙인 것입니다. 공용 런타임과 이를 기반으로 하는 모든 관리 프로그래밍 언어들은 다중 상속을 지원하지 않습니다. CLR은 인터페이스를 이용해서 축소된 형태의 다중상속을 지원합니다. 일반적으로 interface라는 용어는 "상이한 시스템간의 계약 정보를 표현하는 것" 이라고 정의할 수 있습니다. C#의 예약어이면서, OOP의 기본개념으로 자리잡고 있는 Interface는 형태상으로 몇가지 특징이 있습니다. 1. 선언(Declaration)은 있고, 정..
개발자이다 보니, 디자인적인 감각은 전혀 없다고 봐도 무방합니다. 괜히 마음이 아파지지만, 웹 기반에 이런저런 유용한 툴을 제작하다 보면, 항상 Front 단이 걱정입니다. 조금 오래된 (?) 기능이긴 하지만, 나름 Bootstrap 을 사용하는데 있어서 큰 불편함이 없어, 웹툴을 제작할때 많이 이용하는 편입니다. 기존에 툴을 제작할때 사용하던 템플릿은 AdminLTE 라는 템플릿이였는데요. https://adminlte.io/themes/AdminLTE/index.html AdminLTE 2 | Dashboard adminlte.io 기능은 다양하지만, 굉장히 많은 스크립트 파일에 대한 압박으로, 조금 가벼운 템플릿을 찾던 도중 아래 사이트를 발견하였습니다. https://startbootstrap.c..
현재 저는 UnitTest를 이용해서, 제작중인 프로젝트의 테스트를 진행하고 있습니다. 프로젝트를 이용해서 단위테스트를 제작하다가 보면, 테스트 환경에서는 실질적인 DB가 갖춰져 있는 않은 상태가 많이 있습니다. 이럴경우 Data 단의 로직은 항상 실패상황이 발생하게 됩니다. 이럴경우 Mock 라이브러리를 이용하면, 실제 DB에 접속해서 데이터를 가져오는 것 처럼 흉내낼 수 있습니다. 저희도 Mock 라이브러리를 이용해서 UnitTest를 구성중에 있어서 한번 정리해봤습니다. Mock 라이브러리 Mock 라이브러리는 .NET 에서 주목 받고 있는 모의 라이브러리 입니다. Moq는 간단한 API를 가지고 있고, Visual Studio의 Intelisence 기능을 활용할 수 있어 손쉽게 사용이 가능합니다..
리눅스를 가상머신이나, 컴퓨터에 깔때, 잘못깔았거나 처음에는 GUI가 필요해서 설치했다가 나중에 텍스트모드로 사용하고싶을때, 다시 돌리고싶은경우가 있을 수 있습니다. 이때는 간단한 설정으로 바로 터미널모드로 바꿀수있는데요. 저는 Centos 7 버전으로 테스트하였습니다. Centos7에서는 systemctl이라는 커맨드를 사용 할 수있는데요. 이 커맨드로 쉽게 터미널모드로 부팅할수있도록 설정할 수 있습니다. 일단 먼저 현재 어떤 모드로 실행되고있는지 알아보는 명령아는 아래와같습니다. systemctl get-default 위 명령어를 입력하면 아래 두가지중 하나가 나올텐데요. multi-user.target graphical.target multi-user.target은 터미널로 부팅한다라는 의미입니다...