시스템 에러메시지 출력하기 DarkKaiser, 2007년 7월 16일2023년 9월 4일 시스템에서 발생한 에러 코드 번호를 그에 해당하는 에러 메시지로 변환하여 출력하는 소스 코드이다. void ShowErrorMsg() { LPVOID lpvMessage; /* retrieve a message from the system message table */ FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpvMessage, 0, NULL); /* display the message in a message box */ MessageBox(hwndMain, lpvMessage, "Parent Message", MB_ICONEXCLAMATION|MB_OK); Continue Reading
상속과 합성 DarkKaiser, 2007년 7월 16일2023년 8월 30일 ‘Gof의 디자인 패턴’에서는 “Favor object composition over class inheritance”라고 말한다. 이를 해석하면 “객체 합성이 클래스 상속보다 더 나은 방법이다”라는 의미이다. 객체지향 시스템에서 기능의 재사용을 위한 가장 대표적인 두 가지 방법이 상속과 합성이다. 디자인 패턴에서는 상속을 통한 재사용을 ‘white-box reuse’라고 하고 합성을 통한 재사용을 ‘black-box reuse’라고 한다. 먼저, 상속에 대해 살펴보자. Continue Reading
VS6.0/VS2003 레이아웃 레지스트리 DarkKaiser, 2007년 7월 16일2023년 9월 5일 아래의 레지스트리 등록 파일을 다운로드 받아 실행하면 됩니다. VC60_Layout.reg VC++.NET_Layout.reg Continue Reading
문자를 아스키 코드 번호로 변환, ASCII Code 를 문자(Char)로 변환 DarkKaiser, 2007년 7월 13일2023년 9월 5일 문자를 “아스키 코드 번호”로 변환하려면 ord() 함수를 사용합니다. 출력 결과를 10진수 숫자가 아닌 “16진수 문자열”로 출력하려면 hex() 함수를 사용합니다. 그 반대로, “아스키 코드 번호”를 “실제 문자”로 변환하려면 chr() 함수를 사용합니다.chr(0x5A) 이렇게 “16진수 숫자”를 넣을 수도 있습니다. 다음 예제는 알파벳 대문자 “Z” 를 변환하는 것입니다. 알파벳 대문자 “Z”의 아스키 코드는 Continue Reading
오늘 날짜, 현재 시간 구하기 DarkKaiser, 2007년 7월 12일2023년 9월 5일 #!/usr/bin/python # -*- coding: cp949 -*- import time now = time.localtime() print "현재 년: %d" % (now.tm_year) print "현재 월: %d" % (now.tm_mon) print "현재 일: %d" % (now.tm_mday) print print "현재 시: %d" % (now.tm_hour) # 24시간제 print "현재 분: %d" % (now.tm_min) print "현재 초: %d" % (now.tm_sec) Continue Reading
NUnit 테스트 디버깅하기 DarkKaiser, 2007년 7월 11일2023년 9월 2일 1. 테스트 코드의 디버깅이 필요한 부분에 중단점을 설정한다.2. NUnit을 실행시킨다.3. VisualStudio.NET 메뉴의 디버그>프로세스를 선택한다.4. 사용 가능한 프로세스 목록에서 nunit 프로세스를 찾아 선택한 후 [연결] 버튼을 누르면 “프로세스에 연결” 대화상자가 나타난다.5. CLR 디버거를 선택하고 [확인] 버튼을 누르면, 프로세스 대화상자의 디버깅된 프로세스 목록에 nunit 이 보인다.6. 프로세스 Continue Reading
VisualStudio.NET 에서 NUnit을 이용하여 단위 테스트를 수행하는 방법 DarkKaiser, 2007년 7월 11일2023년 9월 2일 설치순서1. 우선 NUnit을 다운로드 받아서 설치한다.2. 그 다음으로 단위 테스트용 클래스 라이브러리 프로젝트를 생성하도록 한다. 클래스 라이브러리 프로젝트로 생성하는 이유는 테스트용 코드가 최종 제품에 실수로 포함되는 것을 방지하기 위함이다.3. NUnit을 사용하기 위해서 nunit.framework 어셈블리에 대한 참조를 테스트 프로젝트내에 추가한다.4. 테스트 메서드를 작성해서 컴파일한다. using NUnit.Framework; namespace Continue Reading
테스팅의 유형 DarkKaiser, 2007년 7월 11일2023년 9월 3일 단위(Unit) 테스팅매우 작은 규모의 코드에 대한 테스트를 말하며, 그 코드들은 전체 애플리케이션을 구성하는 단위들이다. 이 테스팅에서는 코드의 아주 작은 부분에 초점을 두며, 그 코드들이 우리가 바라는 대로 동작하는지 확인한다. 통합(Integration) 테스팅서로 다른 개발자들이 코드의 다른 부분을 맡아 개발하는 경우 항상 코드 간의 통합이 잘 되지 않는다. 통합 테스팅의 Continue Reading