블로그 이미지
내게 능력 주시는 자 안에서 내가 모든것을 할수 있느니라 - 빌립보서 4 : 13 - happydong

카테고리

Happydong (1363)
프로그래밍 (156)
MUSIC (16)
인물 (3)
Utility (10)
세미나 소식&내용 (22)
IT뉴스 (18)
운동 (830)
CAFE (10)
Life (282)
Total
Today
Yesterday



대훈이형의 노력한 미니앨범(?!)이 나왔네!! 노래 좋고...분위기 좋고..


새로운 생각 그리고 또 하나의 새로운 시도 !!

유니파이 밴드 1st Mini Album "세상의 중심에서 희망을 외치다"(2011,8,25) 발매 - 한국,영국, 남아공 공동 작업

[출처] 유니파이 밴드 - 1st Mini Album "세상의 중심에서 희망을 외치다" 발매(2011, 8,25) |작성자 유니파이




유니파이밴드 커뮤니티 앱 받기.
QR코드를 검색해 보세요!!

[안드로이드 앱]


[아이폰 앱]

Posted by happydong
, |



 C#으로 개발을 하다보면 다양한 상황에서 디버깅을해서 처리 값을 확인해야 하는 일이 생긴다. Output Value를 확인하다든지... 정확한 값이 세팅되었다 든지..., 더미값(쓰레기값)을 세팅해서 프로그램을 테스트 한다던지... 등등의 여러가지 상황에서 디버깅 값을 확인해야 할 일들이 빈번하게 있기 마련이다. 그리고 이렇게 디버깅한 내용은 릴리즈 할때는 적용이 안되어야 하는 것이 맞다. 그래서 디버깅 코드를 짤때에는 디버그모드일때와 릴리지모드일때 실행되야할 코드를 적절히 나눠서 짜야한다. 이렇게 구분하기 위해서는  #if #endifConditional Attribute를 적절하게 사용하는 것이 좋다. 

처음 개발을 시작했을 때는 생각해보자!! 예전 같았으면 프로그램 소스를 짜면서 디버깅소스를 코드로 같이 짜고 디버그 모드(Debug Mode)에서 확인하고 필요없을때(릴리즈때)는 주석처리하면서 했을 것이다. 물론, 머리가 좋은 사람들은 이런식으로 처리안 했을 것이다. 그러나 프로그램을 처음 접하면서 배우는 것이 디버깅하는 방법보다, 주석을 먼저 배우기때문에 이런 불편한 방법을 사용하는 초보 개발자들이 몇몇 있을 것이다. 물론, 나도 처음 배울때 이랬다.

주석으로 처리하는 잘못된 예

 /*  릴리즈때는 사용하지 않음.
            MessageBox.Show("Test");
  */

위 코드의 내용 처럼 릴리즈 모드(Release Mode)일때와 디버그 모드(Debug Mode)일때를 확인해서 처리해야하는 경우가 있다면 바보같이 주석처리해가면서 처리하지말고 #if #end와 Conditional Attribute를 이용하자!!

1. #if #endif 사용

 이는 메소드 내부의 간단한 처리를 확인 할때 사용하는 것이 적절한 것 같다. 사용 방법은 아래와 같다.

#if #endif

 private void InitializeView()
        {

#if DEBUG
            // 처리된 결과의 값을 찍어 봅니다.
            Debug.WriteLine("Value1");
            Debug.WriteLine("Value2");
#endif
        }

#if #endif를 많이 사용하면 코드가 조금 지저분해 질수 있으니 적절하게 적당히 사용하는 것이 좋을 것 같다.  

 

2. Conditional Attribute 사용

이는 메소드 형태로 사용할수 있으면 빌드모드에 따라 해당 메소드를 호출할지 않할지를 결정할수 있다. 사용 방법은 아래와 같다.

Conditional Attribute

private void InitializeView()
{
      ... 내용 생략...
      DebugMsg();
}

[Conditional("DEBUG")]
public void DebugMsg()
{
      MessageBox.Show("Conditional Test");
}

InitializeView메소드안에 보면 DebugMsg라는 메소드를 호출하고 있는데, 빌드모드가 디버그이면 해당 메소드를 호출할 것이고, 릴리즈일 경우 호출되지 않을 것이다. 그리고 Conditional은 다중 지정이 가능하다. 즉, [Conditional("DEBUG"), Conditional("TRACE")] 이런식으로 가능하다.

#if #endif와 Conditional Attribute를 적절히 사용하면 보다 깔끔한 코드, 디버그모드와 릴리지모드를 나눠서 코드를 정리할수 있을 것이다. 물론, #if #endif보다는 Conditional Attribute를 활용하는 쪽이 보다 깔끔한 소스를 짤수 있을 것이다. Conditional를 선언한 메소드들을 한클래스에 모아서 사용하는 것도 적절하다 볼수 있다.

 참고 )
프로젝트의 프로퍼티(Properties)메뉴에 들어가, 빌드(Build) 옵션에서 해당 빌드모드의 내용을 체크할수 있다.

Posted by happydong
, |

VisualSVN Server 사용방법

Utility / 2011. 9. 21. 15:13




 
VisualSVN Server
를 이용하여 간단하게 저장소(Repository)를 구성하는 방법과 사용자생성및 권한 설정에 대해서 알아 보도록 하겠다. VisualSVN Server 설치관련해서는 "VisualSVN Sever 설치" 내용을 확인 하면 되겠다. (주의 : 이 내용에서는 SVN Client 사용법에 대해서는 다루지 않는다.)

설정 1. VisualSVN Server를 설치했다면, 이를 실행 시킨다. 그러면 아래 그림에 왼쪽에 Repositorys라고 보일텐데, 마우스 우클릭을 해서 메뉴를 열도록 한다. 그럼 명확하게 Create New Repository...라고 보일텐데, 이를 클릭한다.

설정 2. Create New Repository 팝업 창이 띄워졌다면, 저장소의 이름을 지정한다. 아래 체크박스를 클릭하게 되면 기본적으로 trunk, branches, tags 폴더가 구성이 된다. 설정이 끝났으면 OK를 클릭한다.


설정 3. 아래 그림과 같이 저장소가 생겼다면 저장소 생성은 끝난 것이다. 파일이 위치한 경로는 C:\Repositories 보면 해당 이름으로 저장소가 생성이 되었을 것이다.

설정 4. 이제 이 저장소에 접근한 사용자를 지정해 줘야 할 텐데, 왼쪽에 보면 Users폴더 모양이 보일 것이다. 이를 우클릭을 해서 나타난 메뉴중에 Create User...를 클릭한다.

설정 5. Create New User 팝업 창이 띄워질텐데, 여기서 접근을 허용할 사용자 이름과 비밀번호를 생성해 준다. 그리고 OK를 클릭해 사용자를 추가한다.


설정 6. 사용자가 잘추가 되었는지 확인해 보라, 새로 입력한 사용자가 리스트에 나타나면 잘 된 것이다. 해당 저장소에 접근 가능한 사용자를 그룹(Group)으로 지정 할 수도 있는데, 이는 왼쪽 메뉴에서 Groups를 우클릭해서 사용자 생성과 같은 방법으로 진행하면 된다. 설정하는 방법이 동일하므로 따로 언급하지 않겠다.

설정 7. 저장소도, 사용자도 만들었다면 이젠 저장소 사용권한을 설정하도록 한다. 새로만들 저장소를 선택하고 우클릭을 하면, Properties...라고 메뉴가 있을 텐데 이를 클릭한다.

설정 8. 프로퍼티(Properties) 팝업 창이 띄워졌을 것인데, 이 창이 매우 익숙 할 것이다. 윈도우에서 폴더를 만들고 접근권한 같은 걸 설정해 보셨다면 말이다. Add버튼을 클릭해서 사용자 또는 그룹을 지정해주고, 어떤 권한(읽기/쓰기 권한) 줄 것인지 체크하면 된다.


이상 저장소(Repository)를 구성하는 방법과 사용자 생성및 접근권한 설정까지 알아 보았다. 이렇게 설정해두고 SVN Client를 이용하여 소스를 업로드,다운로드 해보면 잘 될 것이다. (주의 : 해당 SVN를 80포트를 이용하면 IIS와 충돌이 나므로 포트에 대한 주의를 하면 좋을 것 이다. )

Posted by happydong
, |