2014년 5월 26일 월요일

[미완] [KS7] 중선이 결혼식 뒤풀이 경비

[미완] [KS7] 중선이 결혼식 뒤풀이 경비

2014.05.24 (토) 13시
연대동문회관 3층 예식홀

1차: 참나무본가   90,000원
2차: 닭발예찬       55,000원
2.5: 세븐일레븐      8,900원
3차: 총각수산       47,000원
4차: 모이세해장국 20,000원

총: 220,900원

2014년 5월 21일 수요일

2014년 5월 19일 월요일

[미완] 프로그램 글자 깨지는 현상

프로그램의 글자가 깨져서 보이는 현상은
프로그램이 유니코드를 지원하지 않기 때문이다.
그리고 윈도우의 언어설정(유니코드를 지원하지 않는 프로그램일때 언어)이 한국어가 아니라서 그렇다.

설정법
"시작 > 제어판 > 시계, 언어 및 국가별 옵션 > 국가 및 언어" 에서


1. 형식이 한국어인지 확인 -> 대부분이 한국어임


2. 이부분이 핵심임
관리자 옵션을 보면 밑에 "유니코드를 지원하지 않는 프로그램용 언어"가 한국어 이여야 한다.
만일 한국어있데도 프로그램의 글자까 깨져서 나오면
이 설정은 영어로 한번 바꾸고(설정을 바꾸면 재부팅을 해야한다).
재부팅후 다시 한국어로 바꾸면 된다.



2014년 5월 15일 목요일

[미완] [Win32/MFC] OutputDebugString, TRACE

[미완] [Win32/MFC] OutputDebugString, TRACE

OutputDebugString() 함수는 데이터를
(Visual Studio 기준) 출력창에 내용을 출력하는데
일반 사용자 컴퓨터에서도 DebugView 프로그램으로 출력 내용을 확인 할 수 있다.
그래서 디버그 할 때 아주 중요한 함수이다.

단점은 OutputDebugString() 함수 호출시 커널 모드로 전환이 되어서
성능에 부정적인 영향을 미칠 수 있다.

그래서 TRACE가 나왔다.
TRACE는 내부적으로 OutputDebugString() 함수를 호출 하지만
Debug모드일때만 호출을 하고 Release모드일때는 호출을 하지 않는다.
단점은 MFC이다.

그래서 OutputDebugString()를 TRACE처럼 Debug모드에서만 출력되게 구현을 해봤다.

#if _DEBUG
  #define DEBUG_VIEW_MY(str) OutputDebugString(str);
#else
  #define DEBUG_VIEW_MY(str) ( (void) 0 );
#endif

원래
OutputDebugString( TEXT("테스트") );
이렇게 쓰는 것을

DEBUG_VIEW_MY( TEXT("테스트") );
이렇게 사용하면
Debug모드에서만 OutputDebugString를 출력한다.

* DebugView 프로그램을 통해서
OutputDebugString()함수의 출력문을 보는데
DebugView는 OutputDebugString() 말고도 커널 모드 DbgPrint() 도 모니터링한다.

* DebugView는 Visual Studio에서 F5로 실행시에는
OutputDebugString()가 출력 안된다.
왜냐하면 Visual Studio에서 OutputDebugString()를 가져가기 때문이다.
그래서 DebugView에서 보고 싶으면 Visual Studio에서 Ctrl+F5(일반실행)으로 하면 출력된다.

[미완] Visual Studio LINK : warning LNK4075: ignoring /EDITANDCONTINUE due to /INCREMENTAL:NO specification

LINK : warning LNK4075: ignoring /EDITANDCONTINUE due to /INCREMENTAL:NO specification

가 발생하면

설정변경(VS6.0기준)
Project > Settings > Link > Link Incrementally 채크

[미완] [Tip] cmd.exe 한번에 붙여넣기

[미완] [Tip] cmd.exe 한번에 붙여넣기

cmd창에 붙여넣기를 하기위해서는
cmd창에 마우스 우클릭후 붙여넣기를 선택해야 한다.

cmd.exe 속성 > 옵션 > 변집 옵션: 빠른 편집 모드 - 체크

해주면

마우스 우클릭 한번만하면 바로 붙여넣기가 됨

[미완] [C/C++] XML 파서

MSXML (DOM방식)
XmlLite(SAX방식)
CMarkup

MSXML은 한번에 로딩해서 처리를 하기때문에 쉽지만 큰데이터분석은 느리다
반면 XmlLite는 순차적으로 파싱을 하기때문에 어려지만 빠르다

CMarkup는 오픈소스 -> 라이센스가 무료가 아닌것 같다. 확인이 필요함
그리고 CMarkup는 MFC의 CString와 STL의 string 문자열 타입이 있는데 기본적설정이 CString을 사용한다. STL로 설정할려면 전처리에서 MARKUP_STL을 정의해 주면 된다.

추가
pugixml : filezilla 에서 사용
RapidXml : MIT 라이센스
TinyXml(DOM방식): NotePad++에서 사용.작고 가볍다 zip라이센스로 상용프로그램에도 자유롭게 사용할수있다.
Xerces C++
라는 것도 있음

avast(백신프로그램)에서 사용하는 xml
http://www.applied-mathematics.net/tools/xmlParser.html



라이브러리가 상당히 많네...

나도 자세히는 모른다.
나중에 xml처리 할 때를 위해서 적어놓는 것이다.

[미완] [유틸] 와이어샤크 (WireShark)

[미완] [유틸] 와이어샤크

네트워크 분석 프로그램 -> 무료

이번에 서버쪽분께서 이것 쓰라고 해서 써야하는데
아직 직접 써보지는 못했다.

원래이름은 이더리얼(Ethereal)이였지만 상표권문제로
와이어샤크(Wireshark)로 변경되었다.

비슷한 프로그램으로
옴니피크(OmniPeek)과 스마트스니퍼(SmartSniff)
네트워크쪽에 있는 내 친구는 옴니피크 사용한다.

[미완] [C/C++] 헤더파일추가

[미완] [C/C++] 헤더파일추가

#ifndef __TEST_H__
#define __TEST_H__

// 소스 추가

#endif // #ifndef __TEST_H__

2014년 5월 13일 화요일

[미완] [API] 윈도우 버전 구하기

[미완] [API] 윈도우 버전 구하기

#include <windows.h>

int main ( void )
{
   OSVERSIONINFOEX  osvi;
   memset( &osvi, 0, sizeof(OSVERSIONINFOEX ) );
   osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX );
   GetVersionEx( (OSVERSIONINFO*)&osvi );

   // 만일 Win7이면
   // osvi.dwMajorVersion == 6
   // osvi.dwMinorVersion == 1

   return 0;
}

OS별 값
Operating systemVersion numberdwMajorVersiondwMinorVersionOther
Windows 8.16.3*63OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Windows Server 2012 R26.3*63OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
Windows 86.262OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Windows Server 20126.262OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
Windows 76.161OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Windows Server 2008 R26.161OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
Windows Server 20086.060OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION
Windows Vista6.060OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Windows Server 2003 R25.252GetSystemMetrics(SM_SERVERR2) != 0
Windows Home Server5.252OSVERSIONINFOEX.wSuiteMask & VER_SUITE_WH_SERVER
Windows Server 20035.252GetSystemMetrics(SM_SERVERR2) == 0
Windows XP Professional x64 Edition5.252(OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION) && (SYSTEM_INFO.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64)
Windows XP5.151Not applicable
Windows 20005.050Not applicable












2014년 5월 12일 월요일

[미완] Q-Dir

[미완] Q-Dri

윈도우 탐색기
무료

회사에서 작업시 윈도우 탐색기(폴더)를 여러개 띄워서 작업을 하는데
기본 윈도우탐색기만 쓰다가
전용 프로그램을 쓰게 되었다.

여러 프로그램이 있지만
이게 마음에 든 이유는
창이 4개라서 좋다

2014년 5월 9일 금요일

[미완] Win7에서 바탕화면 바로가기

[미완] Win7에서 바탕화면 바로가기

밑에 바의 시계옆에 있음(투명사각형)

2014년 5월 6일 화요일

[미완] [영화] 표적

표적
2014.05.05 (월) 상암cgv 8관

별:3개

아저씨같은 액션을 기대했는데
가족에 관한 이야기가 좀 부각되면서 보통이다
역리볼것 그랬나;

[미완] [영화] 어메이징 스파이더맨 2

어메이징 스파이더맨 2

2014.05.05 (월)
아트레온CGV 4D

별 3개반