2014년 12월 18일 목요일

[미완] [영화] 엑소더스 - 신들과 왕들 (Exodus - Gods and Kings, 2014)

[미완] [영화] 엑소더스 - 신들과 왕들 (Exodus - Gods and Kings, 2014)

날짜: 2014.12.11 (목)
상암CGV1관

별: 2개

모세스의 애기(춥애굽기)인 줄은 알아지만 ...

오프닝 액션을 좋아서 기대했는데...

기억에 남는 장면
이집트의 자식들을 죽이는 장면.
이스라엘민족을 위한다고 하지만 과연 신에게 어린아이를 죽일 권리가 있을까?

2014년 11월 27일 목요일

[미완] [Windows] [레지스트리] 오류 발생시 디버거가 자동으로 시작되면

[미완] [Windows] 오류 발생시 디버거가 자동으로 시작되면

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug에 보면
(64bit는 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug)
Auto 값이 있다.

0이면 일반적으로 표준오류대화상자를 표시하고 디버거를 연결(선택)할 수 있도록 해준다.
1이면 디버거를 자동으로 시작된다. -> 에러가 발생할때마다 디버거 실행됨;;

UserDebuggerHotKey 값은 디버거로 들어가기 위해서 사용하는 키 값
기본적으로 F12 키를 누르면 DebugBreak함수가 호출되는데
이 F12키를 다른 키보드값을 원하면 이 값을 수정하면 된다.

Debugger 값은 운영체제가 충돌이 발생한 응용 프로그램에 대해서 시작할 디버거.

2014년 11월 25일 화요일

[미완] 끝까지 간다

끝까지 간다

날짜: 2014.11.23 (일)

별: 4개

시작부터 끝날때까지 타이트하게 극이 진행되어서 재미있다.

2014년 11월 19일 수요일

[미완] [영화] 인터스텔라 - 별 3개반

[미완] [영화] 인터스텔라 - 별 3개반

날짜: 2014.11.07 (금)
홍대 롯데시네마 6관

별: 3개 반

놀란감독을 좋아해서 기대도 컸다.
그래서 일까 그냥 블록버스터쯤.

기억에 남는 장면
첫번째 행성에 도착 후 우주정거장으로 귀환했을때
흑인연구원과의 조우 -> 흑인연구원 대단하다.


사실 나는 반전이나 스릴러를 은근 기대했다.
대중적인 재미가 있어야 하니까
그래서 나는 타스가 90%만 진실하다고 해서
10%의 거짓 즉 다른 임무를 가지고 있을줄 알았다.
그래서 결국 배신을하는 반전 .... 혼자 이런생각을 하면서 봤다.

그래서 별 3개반 인가;;

2014년 11월 3일 월요일

[미완] [영화] 루시 (LUCY, 2014)

[미완] [영화] 루시 (LUCY, 2014)

날짜: 2014년 11월 02일 (일)
별: 2개

어떤 사항의 설명을
다큐멘터리나 동물의 사항들을 통해서 설명을 해주는 점은 좋았는데
기본적인 내용은 별로 없다.

인간의 두뇌를 모두 사용하게 된 주인공이지만
악당인 최민식과 액션은....

전체적으로 그저그렇다.

[미완] [영화] 노벰버 맨 (The November Man, 2014)

[미완] [영화] 노벰버 맨 (The November Man, 2014)

날짜: 2014년 10월 22일 (수)

별: 2개

어떻게 보면 러시아 영화라고 해야할까?

[미완] [영화] 메이즈 러너 (The Maze Runner, 2014)

[미완] [영화] 메이즈 러너 (The Maze Runner, 2014)

날짜: 2014.10.07 (화)
상암CGV 1관

별: 3개반

영화가 기근이다.
이 와중에 개봉한 외국영화
기대를 안하고 봐서 그렇지 재미있게 봤다.

초반부터 계속 사건이나 일들이 발생해서 잼있게 봤다.

2014년 10월 31일 금요일

[미완] Visual Studio 6 - Use MFC in a Sharcd DLL 배포시 필요한 DLL

[미완] Visual Studio 6 - Use MFC in a Sharcd DLL 배포시 필요한 DLL

mfc42.dll, msvcirt.dll, msvcrt.dll
그리고 mfco42.dll도 있는데 이것은 거의 사용을 안해서 보통 없어도 된다.

물론 Debug모드이면
mfc42D.dll, msvcirtD.dll, msvcrtD.dll, msvcirtD.dll이 필요하다.

이것은 .exe와 같은 폴더에 복사 하거나(.exe와 같이 배포)
C:\Windows\System32 폴더에 복사하면 된다.

아니면 Project Settings의 Microsoft Foundation Classes의 설정을
Use MFC in a Static Library로 설정하면 된다.
그러면 dll을 .exe에 포함되게 생성을 한다.
(물론 .exe의 용량과 실행시 dll다운으로 인하여 메모리가 늘어남)

2014년 10월 14일 화요일

[미완] 도스 띄어쓰기 및 배치파일 현재 위치

""로 묶으면 된다.

예) 1.txt 라는 파일을 C:\Program Files에 복사시

COPY 1.txt C:\Program Files -> 이렇게 입력을 하면 안된다.
왜냐하면 Program Files의 띄어쓰기 때문이다.
이때는 ""로 묶으면 된다.

COPY 1.txt "C:\Program Files" -> 이러면 명령어가 먹힌다.


---
배치파일(.cmd, .bat)이 실행되고 있는 현재 위치는
%cd%이다.

현재 배치파일 실행하는 폴더에 같이 있는 1.txt파일을 C드라이브에 복사시
보통
COPY 1.txt C:\ 이렇게 했다.

하지만 "지정된 파일을 찾을 수 없습니다." 나오는 경우가 있으므로
정확히 입력해주는 것이 좋다.
COPY %CD%\1.txt C:\
주의할 것은 %CD% 뒤에 "\"를 입력해줘야한다.
계속 에러가 나서 한참 봐서 알았다;

2014년 10월 8일 수요일

[미완] [영화] 고질라

날짜: 2014.09.28 (일)

별: 2개반

기억에 남는 장면: 무토(고질라 영화인줄 알았는데 무토영화같다)

고질라와 싸우는지 알았는데
무토가 적인데
근데 왜 고질라는 무토와 싸운 후 사라질까...;;

그리고 연출이 중반까지 딱히 액션(?)이 없다
고질라랑 무토라 싸우는데 장면 전환
무토가 깨어나서 라스베가스를 뿌게는데
그냥 살짝만 보여주고 화면 전환 ....

나중에 라스트 액션을 위해서 계속 간칠맛 나게 했는지 모르겠지만 별로다

미국에서는 흥행해서 2를 제작한다는 소문이 있던데;;


2014년 9월 29일 월요일

[미완] [개인][모임] 교회 모임

날짜: 2014년 09월 26일 (금) 19시 용강동

이정미, 오정은, 고경희, 오진욱, 박주오, 차호성, 나, 그 외 2명

1차: 마포본가: 128,000원
2차: 이박사의 신동막걸리: 132,000원
3차: 통큰후라이: 55,000원

총: 315,000원

2014년 9월 23일 화요일

[미완] [영화] 타짜 - 신의 손 (2014)

날짜: 2014년 09월 08일 (월)
상암 CGV 아이맥스

별: 3개

기억에 남는 장면: 신세경 엉덩이(?)

어떻게 보면 스토리가 화투가 중심이 아니고 주인공의 사랑이 중심이고 거기에 화투가 첨가 된 것 같은데...
그래서 이도 저도 아닌 그냥 오락 영화같다.

주인공의 러브스토리는 중심이기는 하나 별로 그렇게 공감도 안되고
타짜 1의 도박을 기대한 사람은 주인공이 기술이 없어서 맨날 걸린다;

막판에 복수를 하는데 그냥 쉽게 복수를 한다....

2014년 9월 19일 금요일

[미완] [C/C++] wcout 유니코드 출력

[미완] [C/C++] wcout 유니코드 출력

유니코드로 프로그램 작성 했으므로
당연히 cout 말고 wcout를 사용했다.

하지만 출력이 안된다;;
알고 보니 한글설정을 해야 한다.

그래서
std::locale::global( std::locale( "kor" ) );
이것을 추가했는데
안되는 경우가 있다.
왜냐하면 Grlobal Locale을 설정하는 것이라서
Stream에 미치지 않기때문이다.

그래서
 std::wcout.imbue( std::locale( "kor" ) ); // 이것을 추가하면 된다.
 std::wcin.imbue( std::locale( "kor" ) ); // cin은 이것을 추가

#include <iostream>
using namespace std;

int wmain ( int argc, wchar_t *argv[] )
{
 std::wcout.imbue( std::locale( "kor" ) ); // 이것을 추가하면 된다.
 std::wcin.imbue( std::locale( "kor" ) ); // cin은 이것을 추가

wcout << L"한글테스트" << endl;

wchar_t* str = L"wchar_t 한글테스트";
wcout << str << endl;

return 0;
}

2014년 9월 18일 목요일

[미완] [유틸] 무료 프로그램

 [미완] [유틸] 무료 프로그램

유료 프로그램을 대체 할 수 있는 무료 프로그램

네트워크 패킷 분석: Wireshark

알집 -> 7zip
알FTP -> FileZilla
EditPlus, UltraEdit -> Notepad++
MS 아웃룻 -> Thunderbird: Opera Mail도 있지만 우리회사 메일서버에 접속이 안되어서 직접써보지 못했음

포토샵 -> GIMP2: 두 프로그램의 사용법이 달라서 쉽게 변경이 힘들다.

MS Office -> LibreOffice or OpenOffice: 실제 사용해보니 문서호환이 안되는 부분이 있었서 아직 대체까지은 힘들듯 한다.




2014년 9월 17일 수요일

[미완] Code::Blocks에 GTK+ 설정

[미완] 코드블럭에 GTK+ 설정

코드블럭도 처음이고 GTK+도 처음이라
"Hello World!"에러를 노가다로 잡아서 설정법을 알아냈다.

환경
Windows 7 SP1 64bit(밑에 주소는 64bit용임)
Code::Blocks 13.12 다운 및 설치
(http://www.codeblocks.org/downloads/26)
GTK+ 3.6.4 다운 및 압축해제(나는 C드라이브에 해제)
(http://www.gtk.org/download/win64.php)

준비끝 이제 설정
1. Code::Blocks 실행 > File > New > Project... > Console application로 프로젝트 생성

2. main.cpp에서 GTK+기본("Hello World!") 입력
#include <gtk/gtk.h>

int main (int argc, char *argv[])
{
    GtkWidget *window;
    GtkWidget *label;

    gtk_init(&argc, &argv);

    /* Create the main, top level window */
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    /* Give it the title */
    gtk_window_set_title(GTK_WINDOW(window), "Hello, world!");

    /* Center the window */
    gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);

    /* Set the window's default size */
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 100);

    /*
    ** Map the destroy signal of the window to gtk_main_quit;
    ** When the window is about to be destroyed, we get a notification and
    ** stop the main GTK+ loop by returning 0
    */
    g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);

    /*
    ** Assign the variable "label" to a new GTK label,
    ** with the text "Hello, world!"
    */
    label = gtk_label_new("Hello, world!");

    /* Plot the label onto the main window */
    gtk_container_add(GTK_CONTAINER(window), label);

    /* Make sure that everything, window and label, are visible */
    gtk_widget_show_all(window);

    /*
    ** Start the main loop, and do nothing (block) until
    ** the application is closed
    */
    gtk_main();

    return 0;
}
컴파일 하면 에러발생

3. include 
위 메뉴에서 Settings > Compiler > Search directories탭 > Complier 탭에 include 폴더 추가
C:\gtk+-bundle_3.6.4-20130921_win32\include\gtk-3.0
C:\gtk+-bundle_3.6.4-20130921_win32\include\glib-2.0
C:\gtk+-bundle_3.6.4-20130921_win32\lib\glib-2.0\include -> lib에 있음
C:\gtk+-bundle_3.6.4-20130921_win32\include\cairo
C:\gtk+-bundle_3.6.4-20130921_win32\include\gdk-pixbuf-2.0
C:\gtk+-bundle_3.6.4-20130921_win32\include\atk-1.0
C:\gtk+-bundle_3.6.4-20130921_win32\include\pango-1.0

4. lib
위 메뉴에서 Settings > Compiler > Search directories탭 > Linker에 lib 폴더 추가
C:\gtk+-bundle_3.6.4-20130921_win32\lib

5. link livraries 추가
위 메뉴에서 Settings > Compiler > Linker settings 탭에서 
lib 폴더(C:\gtk+-bundle_3.6.4-20130921_win32\lib)에 있는 .a파일(33개) Add
6. dll 복사
bin폴더(C:\gtk+-bundle_3.6.4-20130921_win32\bin)에 있는 dll 33개를
Code::Blocks 프로젝트 파일이 있는 폴더에 복사
7 실행

GTK+ 공부할려고 하는데 자료가 많이 없다; 이 기본창 출력 설정하는데도 하루를 보넨것 같다;; 그냥 QT 공부할까...

프로젝트 파일 -> 그렇게 의미는 없다 설정이 중요하기 때문에
https://drive.google.com/file/d/0B1lR2TK2hWZeUUNyUVpMODlGM2s/edit?usp=sharing

2014년 9월 16일 화요일

[미완] [Win32/MFC] CxImage

CxImage 설정

오픈소스로 zlib라이센스로 상용으로 써도 상관이 없다.

이미지 출력 라이브러리다.

홈페이지(http://www.xdp.it/cximage/)에서 cximage701_full 다운
소스포지에 가면(http://sourceforge.net/projects/cximage/) Cximage702_full가 있다.
701은 VS2005 702는 VS2010을 지원한다.

압축해제후 CxImgLib.sin 실행
CxImage, jpeg, png, zlib 프로젝트 설정을 변경 해야 한다.
1. 구성 속성 > 일반 > MFC사용 -> 표준 Windows라이브러리 사용

2. 구성 속성 > C/C++ > 코드 생성 > 런타임 멤버 맞춤 Debug(Unicode Debug)는 다중 쓰레드 디버그(/MTd), Release(Unicode Release)는 다중 쓰레드(/MT)

소스 수정
CxImage 프로젝트의 ximacfg.h을 열고 원하는 formats의 define값을 1로 변경
나는 BMP, GIF, JPG, PNG, ICO 5개의 이미지만 쓰기때문에 이것만 1이고 나머지는 0으로 셋팅

프로젝트에서 CxImage, jpeg, png, zlib 4개 프로젝트만 컴파일한다.
jpeg와 png프로젝트는 format값을 1로 해서 해야하고
zlib프로젝트는 png프로젝트가 zlib를 사용하기때문에 png format지원시 꼭 zlib프로젝트도 해야한다.

컴파일 후 각 프로젝트의 생성폴더에 가보면 lib파일이 있다.

그리고 cxImage의 헤더파일이 필요하다.
cximage701_full\CxImage\ 폴더에 가서 헤더파일 25개를 복사하면 된다.

이렇게 4개의 lib파일과 25개의 헤더파일면 준비 끝
나는 밑에 이미지처럼 CxImage폴더를 만들고 그 안에 include에 헤더파일 25개를 넣고
lib폴더에 각 컴파일별로 lib파일을 넣어놓았다.


실제사용 예
win32로 기본창 출력 프로그램을 만들고 나서
아까 만든 CxImage폴더를 테스트 프로젝트에 복사후(나는 .sln이 있는 폴더에 복사를 했다.)
1. include 추가
속성 > C/C++ > 일반 > 추가 포함 디렉터리 -> ..\Cximage\include

2. lib 추가
속성 > 링커 > 입력 > 추가 종속성 ->
..\CxImage\Lib\Unicode_Debug\CxImage.lib
..\CxImage\Lib\Unicode_Debug\Jpeg.lib
..\CxImage\Lib\Unicode_Debug\png.lib
..\CxImage\Lib\Unicode_Debug\zlib.lib

설정은 다 끝났다.
소스에서는 ximage.h 헤더파일 추가 후
CxImage를 생성해서 사용하면 된다.

CxImage 사용법은 CxImage 문서나 인터넷을 참조하면 되고
(나도 출력만 암)

현재 테스트 프로젝트 컴파일시
1>LINK : warning LNK4098: 'LIBCMT' defaultlib가 다른 라이브러리와 충돌합니다. /NODEFAULTLIB:library를 사용하십시오
Warning가 발생중;;

나는 BMP, JPG, PNG만 출력하면 되기때문에 이 3개의 포맷만 설정했지만 자신이 필요한 포맷을 설정하면 된다.
그리고 dll도 만들려고 했는데 에러가 나와서 dll은 포기 (담에 시간될때 해봐야 겠다.)

테스트 파일 첨부합니다.밑에 주소(구글드라이브) 클릭설정을 모르겠네;;
그리고 구글아이디도 필요하네.. 다른 방법을 생각해봐야겠다.(일단 업)
구글은 압축이 깨져서 다음에 업로드 함
http://cfile211.uf.daum.net/attach/2170674A559A0450252A13

* 나는 이미지처리는 CxImage만 있으면 될 줄 알았는데
libjpeg가 있다.
libjpeg  > libjpeg 6b-SIMD > libjpeg-turbo 파생이 되었는데
CxImage는 libjpeg 6b를 사용중이라고 한다. (현재는 8b이상 나왔다고 함)
속도가 느리다고 함 libjpeg-turbo는 속도가 빠르고 크롬에서 사용한다고 한다.
그래서 담에 .jpg는 libjpeg-turbo를 쓰고 나머지는 CxImage로 쓰는게 좋을 듯

2014년 9월 15일 월요일

[미완] [C/C++] STL 종류

STL 종류

이번에 STL을 심도있게 공부를 해 볼려고 구글에서 STL를 쳤는데...
나는 STL은 컴파일러가 지원하주는 건줄  알았는데 별도로 존재를 한다.(몰랐네;;)

--- STL 종류별
SGI STL: SGI사가 만든 STL로 2000년 6월 8일에 v3.3이 마지막으로 리릴즈 되었다.
(https://www.sgi.com/tech/stl)

STLport: SGI STL을 여러 플랫폼에 맞게 사용할 수 있게 포팅해 놓은 STL이다. 입출력같은 경우는 시스템에 종속적이다. 그래서 STLPort가 나왔다.
오픈소스이고 상업적으로 사용해도 제한이 없다.
(http://www.stlport.org)

Dinkumware STL: 상용 STL로 최신 STL을 가장 잘 적용(성능과 별개)한다 부터 size()가 느리다, std::string는 사용하면 안된다등등 많은 논쟁이 있다.

GNU libstdc++: GNU에서 만든 STL(한글자료가 거의 없어서...;)

--- 컴파일별
MS 컴파일: Dinkumware STL을 사용중이고 VS6.0은 C++ 표준이 나오기 전에 나와서 VS 6.0에서는 내장 STL(Dinkumware)을 사용하면 안되고 STLport를 사용해야 하고 이때 많은 사람들의 신뢰를 잃었다.
그래서 일까 그 이후 많이 안정화가 되어서 이제는 굳이 외부 STL을 쓸 필요가 없다고 얘기하는 사람과 안좋다고 얘기하는 등등 의견이 나뉜다.

GCC: 초기에 SGI STL을 사용하다가 이제는 GNU libstdc++를 사용한다.

볼랜드 C++: 6부터 로그웨이브의 라이브러리를 버리고 STLport사용

--- 주의할 점
내가 성능쪽 개선이나 그쪽 전문가가 아니라 어떤 STL을 써야 한다고 딱 얘기는 못하겠지만 STL를 쓸때 한가지 STL만 사용해야 한다.

2014년 9월 5일 금요일

[미완] 주식 이익금 계산 오류

주식은 매수할때 매수값의 증권사 수수료(키움기준0.015%)가 붙고
주식을 매도할때는 매도값의 증권사 수수료 + 세금(0.3%)가 붙는다.

예를 들면 100,000원짜리 주식을 매수하면 수수료로 15원을 낸다.
반대로 100,000원에 주식을 매도하면 세금+수수료인 315원을 낸다.

얼마 이익(%)이면 수수료를 제하고 이익일까가 궁금해졌다.

당연히 이익이 0.34%가 나면 그때부터 이익이다.
예) 100,000원에 주식을 매수하면 수수료로 15원
0.34% 이익이 난 100,340원에 매도를 하면 수수료와 세금을 포함해서 316.071원
이익금은 340원인데 각종 수수료 및 세금의 합계는 331.071원(15원+316.071원)이다.
즉 8.929원(0.008%) 이익이다.

증권사마다 수수료가 다르다.
그래서 증권사 수수료가 얼마일때 수익률이 몇%이면 수익구간인지를 공식으로 구현할려고 한다.

---
증권사 수수료: X
수익율: Y
주식가격: a
세금: b 일때

이익금 = a * Y
매수시 세금 = a * X
매도시 세금 = (원금+이익금)*(세금+수수료) = [a+(a*Y)] * (b+X)

최종계산은
이익금 - 매수시 세금 - 매도시 세금 = 0인 경우를 찾으면 된다.
(a*Y) - (a*X) - { [a+(a*Y)] * (b+X) } = 0
주식가격 a=1입력 우리는 %를 구하는것이니
(Y) - (X) - { [1+(Y)] * (b+X) } = 0
세금 B=0.3%임
(Y) - (X) - { [1+(Y)] * (0.3+X) } = 0
정리 시작
Y - X - [ (1+Y)*0.3X ]= 0
Y - X - [ 0.3X + 0.3XY ] = 0
Y - X - 0.3X - 0.3XY = 0
Y - 1.3X - 0.3XY = 0
Y - 0.3XY - 1.3X = 0
(1 - 0.3X)Y - 1.3X = 0
(1 - 0.3X)Y = 1.3X
Y = 1.3X/1-0.3X

키움기준 X=0.015 대입
Y = (1.3*0.015)/(1 - 0.3*0.015)
Y = 0.0195 / 1 - 0.0045
Y = 0.0195/ 0.9955
Y = 0.019......

대략 0.34가 나와야 하는데 나의 계산은 어디서 잘못 된것인가;;

2014년 8월 29일 금요일

[미완] GPL, LGPL, BSD 소스공개

* 이글은 라이센스 전문가가 아닌 제가 개인적으로 보기위해서 쓴글입니다.
틀린부분도 있을수 있습니다.

GNU GPL(General Public License)
가장 오픈소스 정신을 가지고 있는 라이센스 같다.
GPL 코드를 사용해서 프로그램을 개발하면
유료로 팔든 공짜로 배포를 하든 상관 없고 소스는 공개해라
그리고 GPL코드를 사용한 코드는 역시 GPL이되고
이 코드를 쓴 다른 코드도 역시 GPL이 된다.
(점점 코드를 공개한 프로그램이 늘어나면서 GPL이 늘어나게 할려는 전략?)

GNU LGPL(Lesser General Public License)
GPL의 소스공개 정책이 오히려 부담이 되어서 GPL 코드를 사용 꺼리는 현상이 나온다.
그래서 LGPL이 나왔다.
LGPL 코드를 수정하지 않고 동적 라이브러리로 사용하면 소스공개 의무가 없다.
(LGPL 코드를 정적으로 사용하면 연결부분만 공개해야 하는걸로 안다->정확한것은 아님)

BSD(Berkeley Software Distribution)
대인배 라이센스로 BSD소스를 수정하든 상업적으로 쓰든 말든 소스공개 의무가 없다.

가장 궁금했던 소스공개 부분만 정리를 하면
GPL: 소스공개
LGPL: 동적으로 사용시 소스공개 의무없음
BSD: 소스공개 의무없음(BSD 소스를 수정해도)

2014년 8월 28일 목요일

[미완] [영드] 셜록

셜록
시즌 3까지 시청

시즌을 거듭할수록 재미가 있다.

스피드하고 감각적인 편집으로 재미있다.


한시즌에 3개 에피소드가 있고
한 에피소드는 1시간 반이다.

3개의 에피소드중 가운데(E02)는 간단한 에피소드다.

2014년 8월 26일 화요일

[미완] QT GTK+ WxWidgets

[미완] QT GTK+ WxWidgets

*밑에 내용은 비전문가가 쓴 개인적은 생각입니다.

저는 윈도우즈 프로그래머(Win32, MFC)로서 요즘 크로스 플랫폼에 관심이 생겨서
다음에 크로스 플랫폼을 할때 뭘할까 해서 조사한 내용입니다.
(직접 크로스플랫폼을 써보지 못해서 추측일뿐임)

조사결과 QT, GTK+, WxWidgets 3가지가 주로 나왔다.

1. QT
C++이고 이게 대세 갔다.
아무래도 상용이다보니 좋을 수 밖에
그리고 단점으로 여겨졌던 상용도 LGPL 라이센스를 획득해서 이제는 무료로 사용할 수 있다.
단점은 요즘 이게 너무 커(방대해)졌다고 한다.

2. GTK+
C언어이고 김프 개발을 위해서 만든 것이다.
초기에 사람들이 QT와 GTK+가 많이 비교되고 어떻것을 선택할까 고민들을 많이 했다.
GTK+를 선택한 이유는 무료이다. 하지만 이 무료라는 장점도 QT가 LGPL를 획득하면서...
그리고 C언어로 개발된 프로그램도 많다. (로우레벨딴이나 옛날에 개발된 프로그램등등)
이런 프로그램들은 GTK+.
단점은 개인의 차이겠지만 C언어다 보니 QT가 더 쓰기 좋다는 의견이 있다.

3. WxWidgets
C++이고 사용자가 늘어나고 있는 것 같다.
대표적인 적용 프로그램으로는 FileZilla와 Code::Blocks등이 있다.
단점: 자료는 많지가 않다.

그리고 개발IED는 써보지는 않았지만 코드블럭(Code::Blocks)을 사용해 볼 생각이다.
가장 큰 장점은 윈도우즈와 리눅스에서 소스 공유가 가능하다고 한다.
(제가 직접 공유는 해보지 않았음 ->인터넷글을 보왔음)

2014년 8월 22일 금요일

[미완] [영화] 해무

날짜: 2014.08.16 (토)
용산 롯데시네마6관

별: 3개

기억에 남는 장명:
기계실에서 여자가 발견되는 장면

[미완] [영화] 신의 한 수

날짜: 2014.08.15 (금)

별: 3개

정우성을 위한 영화

2014년 8월 13일 수요일

[미완] 해적

[미완] [영화] 해적

날짜: 2014.08.09 (토)
용산롯데시네마1관

별: 3개반

[미완] 명량

[미완] [영화] 명량

날짜: 2014.08.08 (금)
광주터미널CGV 2관

별:4개

[미완] 가디언즈 오브 갤럭시

[미완] [영화] 가디언즈 오브 갤럭시

날짜: 2014.08.07 (목)
신촌메가박스 7관

별: 3개반

[미완] 사보타지

[미완] [영화] 사보차지

날짜: 2014.08.06 (수)
별: 3개

2014년 8월 12일 화요일

[미완] C++ Class 복사생성자, 복사대입연산자

[미완] [C/C++] C++ Class 복사생성자, 복사대입연산자

Class를 선언하면 사용자가 정의를 안해도
기본적으로 생성자, 소멸자, 복사생성자, 복사대입연산자가 선언이 된다.

위 그림처럼 빈함수(주석부분)들이 생성된다.

일반적으로 생성자와 소멸자는 사용자가 선언을 하지만
복사 생성자와 대입연산자는 선언을 안한다.(귀찮아)

그래서 나는 빈 복사 생성자와 대입연산자를 만든 후 private 처리를 한다.
그러면 복사 생성자나 대입 연산자 호출시 Error를 발생한다.

이렇게 만들고 나서 추후에 복사생성자나 대입연산자가 필요하면 그때 만든다.

2014년 8월 4일 월요일

[미완] 군도: 민란의 시대

[미완] 군도: 민란의 시대

날짜: 2014년 08월 02일 (토)
신촌메가박스 3관

별: 4개

2014년 7월 31일 목요일

[미완] [Win32/MFC] 프로그램 설치 폴더 알기

[미완] [Win32/MFC] 프로그램 설치 폴더 알기

TCHAR szSpecialPath[MAX_PATH] = { 0, };
SHGetSpecialFolderPath( NULL, szSpecialPath, CSIDL_PROGRAM_FILES, FALSE );

szSpecialPath에 C:\Program Files or C:\Program Files (x86)

[미완] MFC 파일 유무 확인

[미완] MFC 파일 유무 확인

CFileFind explorerFile;
if( TRUE == explorerFile.FindFile( strSystemFolder ) )
{
              // 파일이 있다.
}
        else
       {
               // 파일이 없다.
        }

2014년 7월 30일 수요일

[미완] Wireshark Filter 설정

[미완] Wireshark Filter 설정

특정 IP하고 통신만 보기
ip.addr == 172.45.6.108

보내는 쪽 IP만 설정
ip.src == 172.45.6.108

받는쪽 IP만 설정
ip.dst == 172.45.6.108

설정 2개 이상 할때 or
ip.src == 172.45.6.108 or ip.dst == 172.45.6.108

설정 2개 모두 만족 할때만 and
ip.src == 172.45.6.108 and ip.dst == 172.45.6.108

응용) 특정 ip끼리 주고 받는 것 설정
(ip.src == 172.45.6.108 and ip.dst == 172.45.6.1) or (ip.src == 172.45.6.1 and ip.dst == 172.45.6.108)

통신정보보기
Analyze > Follow TCP Stream

2014년 7월 14일 월요일

[미완] 트랜스포머 4

트랜스포머 4

날짜: 2014.07.12 (토)
용산 롯데시네마 6관

별: 2개반

이제 막장드라마처럼 욕하면서 보는 영화가 되었다.

영화의 절반이 액션처럼 느껴질 정도로 액션이 화려하고 많다.

하지만 나는 후반 하이라이트 액션에서 지쳤다.
너무 액션이 많다보니 어느순간 지쳐서 그냥 멍하니 본다.



[미완] 트랜센던스

트랜센던스

날짜: 2014.07.06 (일)

별: 2개

프로그래머로서 인공지능 - 기대를 하고 봤는데
그냥.
조니뎁이 인공지능되고 천하무적대고
천하무적된 조니뎁을 그냥 제거(?)

화끈한 액션도 없고
인공지능대는 과정이나 추적등등 도 별로고

[미완] 하이힐

하이힐

별: 3개
2014.07.04 (금)

초반 장진식 유머와 액션이 괜찮았는데
후반에 가면 장진식 유머는 없고 액션과 성정체성만 남는데
성정체성과 액션 두개를 동시에 믹서하니 별로다.

[미완] 우는남자

우는남자

날짜: 2014.07.04 (금)
별: 2개반

스토리는 액션을 위해서 지어짠듯한 느낌
아저씨 광팬으로 기대가 너무 컸다.

[미완] 엑스맨 - 데이즈 오브 퓨처 패스트

엑스맨: 데이즈 오브 퓨터 패스트
날짜: 2014.06.14 (토)
신촌메가박스 3관

별: 3개 반

기존에 개판된 이야기를 정리를 목표로 해서 그런지
액션보다는 이야기가 중심이 된것 같다.

액션을 많이 기대했는데

[미완] 엣지 오브 투모로우

엣지 오브 투모로우

2014.06.06 (금)
아트레온CGV3관

별: 3개반

톰크루즈 혼자서만 외계인가 싸우는데 ... 좀....

기억에 남는 장면
톰크루즈가 차에 깔리때

2014년 7월 4일 금요일

[미완] 썬더버드 부가기능 설치

썬더버드 메뉴 > 도구 > 부가기능 에서
원하는 부가기능 검색해서 설치하기 하면 되는데

다운로드가 안되는 경우가 있다.
이때는 썬더버드 홈페이지에 가서 부가기능을 다운받는다.
다운받은 .xpi 파일을 썬더버드에 드래그하면 설치가 된다.

현재 내가 쓰는 부가기능은
MinimizeToTray revived 를 사용중
MinimizeToTray revived의 단점은 탭을 바탕화면으로 이동해서 썬더버드를 하나 더 실행시키면 이후 부터 썬더버드가 2개 실행이 된다. 바탕화면으로 새로 실해할때마다 점점 늘어남
이때 MinimizeToTray를 사용안함으로 한 후 다시 사용하면 하나만 실행됨

2014년 7월 1일 화요일

[미완] Adobe Flash Player 하위버전 설치

[미완] Adobe Flash Player 하위버전 설치

Adobe Flash Player는 설치시 버전정보를 레지스트리에 저장되어서
상위버전을 설치 후 제거해도 하위버전이 설치가 안됩니다.

레지스트리에 저장된 버전 정보를 삭제 후 하위버전을 설치해야 합니다.

Flash Player 버전 레지스트리 저장 위치
32Bit: HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\SafeVersions
64bit: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Macromedia\FlashPlayer\SafeVersions

2014년 6월 30일 월요일

[미완] OS별로 파일명으로 입력 안되는 문자

[미완] OS별로 파일명으로 입력 안되는 문자

Windows(9개) \ / ? : * " < > |
Linux Mint(1개) /
Mac OS X(1개) :

2014년 6월 26일 목요일

[미완] 배치파일 주석 및 명령어

[미완] 배치파일 주석 및 명령어

주석
rem
::

위에 2개임
c언어처러 int i = 0 // 주석
이렇게 줄 중간에 사용 할 수는 없다
그리고 rem은 @ECHO OFF 해야지 화면에 안 나온다.
소스 맨 위에 설명문을 작성 할 수도 있으므로
주석은 ::로 통일해서 사용하는게 좋겠다.

Pause

도스화면에 "계속하려면 아무 키나 누르십시오..." 출력
배치파일을 실행하면 실행 후 바로 종료되기때문에 결과를 볼수가 없어서
마지막에 Pause를 넣으면 도스화면을 볼 수가 있다

[미완] 윈도우즈에서 파일, 폴더 이름으로 사용 할 수 없는 문자 9개

[미완] 윈도우즈에서 파일, 폴더 이름으로 사용 할 수 없는 문자 9개

\ / ? : * " < > |

2014년 6월 19일 목요일

[미완] CString Sort

#include <afx.h>
#include <iostream.h>
#include <afxcoll.h>

class CSortStringArray : public CStringArray {
public:
   void Sort();
private:
   BOOL CompareAndSwap(int pos);
};
void CSortStringArray::Sort()
{
   BOOL bNotDone = TRUE;

   while (bNotDone)
   {
      bNotDone = FALSE;
      for(int pos = 0;pos < GetUpperBound();pos++)
         bNotDone |= CompareAndSwap(pos);
   }
}
BOOL CSortStringArray::CompareAndSwap(int pos)
{
   CString temp;
   int posFirst = pos;
   int posNext = pos + 1;

   if (GetAt(posFirst).CompareNoCase(GetAt(posNext)) > 0)
   {
      temp = GetAt(posFirst);
      SetAt(posFirst, GetAt(posNext));
      SetAt(posNext, temp);
      return TRUE;

   }
   return FALSE;
}
void main()
{
   CSortStringArray sortArray;

   sortArray.Add(CString("Zebra"));
   sortArray.Add(CString("Bat"));
   sortArray.Add(CString("Apple"));
   sortArray.Add(CString("Mango"));

   for (int i = 0; i <= sortArray.GetUpperBound(); i++)
      cout << sortArray[i] << endl;

   sortArray.Sort();
   cout << endl;

   for (int j = 0; j <= sortArray.GetUpperBound(); j++)
      cout << sortArray[j] << endl;
}

2014년 6월 12일 목요일

[미완] Visual Studio 6 에서 Class View가 이상할때

[미완] Visual Studio 6 에서 Class View가 이상할때

.ncb 파일이 오류가 발생해서 나타나는 현상이므로
.ncb를 지우고 .dws를 실행하면 됨

[미완] 리소스에 특수문자 " 표시

[미완] 리소스에 특수문자 " 표시

\""

앞에 \붙이고 " 두개 쓴다

2014년 6월 11일 수요일

[미완] CArray에서 GetAt와 ElementAt 차이

[미완] CArray에서 GetAt와 ElementAt 차이

GetAt는 복사본이 넘어오고
ElementAt는 포인트가 넘어온다.
즉 GetAt로 받은 변수의 값을 변경해도 원본은 그대로다.
CArray의 값을 변경하고 싶은면 ElementAt 사용

/////////////////////////////////////////
의문점
VS 2008로 테스트를 해봤는데

struct  stTemp
{
CString str1;
CString str2;
} ;

CArray<stTemp, stTemp> a;

stTemp sTemp1;
sTemp1.str1 = _T("1");
sTemp1.str2 = _T("1");

stTemp sTemp2;
sTemp2.str1 = _T("2");
sTemp2.str2 = _T("2");

a.Add(sTemp1);
a.Add(sTemp2);

// 입력값 확인
for ( int i = 0; i < a.GetSize(); i++ )
{
CString a1 = a.GetAt(i).str1;
CString a2 = a.GetAt(i).str2;
}

// 입력값 변경
a.GetAt(0).str1 = _T("1 1");
a.GetAt(0).str2 = _T("2 2");

a.ElementAt(1).str1 = _T("akjfaklf");
a.ElementAt(1).str2 = _T("12312414");

// 변경된 값 확인
for ( int i = 0; i < a.GetSize(); i++ )
{
CString a1 = a.GetAt(i).str1;
CString a2 = a.GetAt(i).str2;
}

GetAt도 원본 값이 바뀐다;; 당황

2014년 6월 6일 금요일

[미완] [영화] 엣지 오브 투모로우

엣지 오브 투모로우
날짜: 2014.06.06 (금)
아트레온CGV 3관

별: 3개반

중반이후 약간 힘이 빠지는 듯
너무 탐크루즈 외에는 군인이 없다.

[미완] [영화] 논스톱

논스톱
날짜: 2014.06.05 (목)
별:3개

2014년 6월 5일 목요일

[미완] 역린

역린
날짜: 2014.06.04 (수)
별: 3개

너무 많은 사람들의 과거가 나오네...
정재영이 주인고 같기도 한데;

2014년 6월 1일 일요일

[미완] 내가 쓰고 있는 크롬 확장 프로그램

[미완] 내가 쓰고 있는 크롬 확장 프로그램

IE Tab
https://chrome.google.com/webstore/detail/ie-tab/hehijbfgiekmjfkfjpbkbammjbdenadd
처음 사용한 확장 프로그램으로 약간 불안정하지만 선택의 폭이 없다

avast! Online Security
https://chrome.google.com/webstore/detail/avast-online-security/gomekmidlodglbbmalcneegieacbdmki
보안 프로그램을 avast를 사용하는데 어떻하다가 깔리게 되었는데 특별히 좋거나 싫지않다. - 나에게 이점이나 불편한을 주지 않아서 그냥 설치하고 쓰고 있다.

Awesome Screenshot: Capture & Annotate
https://chrome.google.com/webstore/detail/awesome-screenshot-captur/alelhddbbhepgpmgidjdcjakblofbmce
웹페이지 전체를 저장해야 되는데 그동안 막노동으로 작업을 하다가 발견하게 되었다.
그동안 너무 고생을 많이 해서 이 확장프로그램이 너무너무 좋다.

Google Mail Checker
https://chrome.google.com/webstore/detail/google-mail-checker/mihcahmgecmbnbcchbopgniflfhgnkff
메일을 출근해서 한번만 확인하는데 이번 업무상 실시간으로 확인을 해야되어서 설치하게 되었다. 다른 gmail확인 프로그램이 있지만 google에서 만들었으므로 그냥 이것 설치해서 쓰고 있다.

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개반

2014년 4월 14일 월요일

[미완] [미국드라마] 프리즌 브레이크

프리즌 브레이크

시즌 2까지 재미있다가
시즌 3부터 쓰레기가 되더니
시즌4 초반까지보다가 안봤다.

[미완] [미국드라마] 히어로즈

히어로즈

초반에는 그냥 X맨 드라마 버전 이라고 생각하고 계속 봤는데
시즌1 후반부터 엄청 재미있다.
그러다가 시즌 3 중반까지 엄청 재미있다가
이후부터는 쓰레기가 되었다.
시즌 파이널 몇회 남겨두가 안봤따.

[미드] [미국드라마] 하우스

하우스

시즌 6 11회까지 봄.

시즌이 거든 될 수록 캐릭터들이 자리를 잡으면서
점점 더 재미있어진다.



어느 순간 보지 않게 되었다.

[미완] 가정부 미타

가정부 미타

매회 눈물이 나오는 신파인데
가정부 미타라는 매력적이 캐리터때문에 재미있다.

[미완] [미국드라마] 위기의 주부들

위기의 주분들

시즌 1 엄청 재미있다.

시즌 4 중반까지 봄

그 다음 시즌부터는 계속 보다가 어느순간부터 안보게 되었따.

[미완] [미국드라마] The Mentalist

The Mentalist
CBS

Season 1 (Ep23): 2008.09.23 ~ 2009.05.19
Season 2 (Ep23): 2009.09.24 ~ 2010.05.20
Season 3 (Ep24): 2010.09.23 ~ 2011.05.19
Season 4 (Ep24): 2011.09.22 ~ 2012.05.17
Season 5 (Ep22): 2012.09.30 ~ 2013.05.05
Season 6: 2013.09.29 ~ 방영중

Season 4 - 6회까지 시청

[줄거리]
영매사라면서 사기치던 주인공(패트릭 제인)이 연쇄살인범(레드존)에게 가족이 살해되자 경찰(CBI)의 자문으로 활동하면서 범인을 찾는 수사물

Season 1 1회 오프닝은 내가 이때까지 본 미드 중 최고에 오프닝이였다.
이 오프닝때문에 계속 보게 되었다.
하지만 늘같은 구조(사건발생 사건해결)로 전개되면서 어느순간 땡기지가 않게 되었다.
(Season 3 피날레 끝부분은 깜놀)

레드존은 과연 잡힐까?
잡혀도 웃기겠다. 이때까지 절대 잡을수 없는 인물이 갑자기 잡히면 어의가 없어서ㅎㅎ

* 전체적으로 밝은 수사물이고 심심할때 한편씩보면 좋을듯

[미완] [미국드라마] 그레이 아나토미

그레이 아나토미

시즌 2, 3엄청 재미있다가
시즌 3에서 어쩔수 없이 누구 한명 하차하면서
점점 재미가 떨어지다가
어느순간 안보게 되었다

[미완] [미국드라마] Lost

Lost

시즌 1, 2 엄청 재미있고
시즌 3 주춤
그 이후 시즌은 계속 보게 된다.

[미완] [미국드라마] Sex and the city

[미완] Sex and the city

시즌3까지 시청

2014년 4월 11일 금요일

[미완] [미국드라마] 하우스 오브 카드

하우스 오브 카드

미국드라마
현재 시즌 2까지 상영

시즌 2까지 시청

미국 정치드라마인데
착한정치는 아니고 자신의 권력을 차지하기 위해서는
더러운 수단도 쓰는 그런 정치인의 이야기이다.

개인적으로 시즌2를 더 재미있게 봤다.
시즌1을 통해서 인물들과 사건들을 알고 있는 상태고
시즌2에서는 라이벌(적?)이 나와서
대결구도가 형성이 되어서
시즌2를 더 재미있게 봣다.
특히 시즌 2 1회의 지하철씬은 정말... 깜짝 놀랐다.

전체적으로 볼만하다.

[미완] 캡틴 필립스

캡틴 필립스
날짜: 2014.03.05 (수)
별: 3개반

2014년 3월 14일 금요일

[미완] 태양은 가득히

드라마

태양은 가득히
KBS2
2014.02.17(월) ~
현재 8회까지 방영

[줄거리]
태국에서 총기사건이 일어나고 이 사건으로 정세로(윤계상)는 아버지를 잃고 억울한 옥살이를 후 복수를 하던중 같은 총기사건으로 약혼자를 잃은 한영원(한지혜)를 사랑하지만
총기사건은 한영원(한지혜)의 아버지가 범인이였다는 내용....

주인공인 정세로(윤계상)는 어떻게 보면 굉장히 멋있는 캐리턱인데
하는 행동이 별로다

차가게 복수를 해야하는데 자기가 멋대로 행동을 하면서 복수를 한다.
별로 와닿지가 않는다.
주인공을 멋있게 보여주기 위한것 같은데
별로다.


현재까지 드라마가 별로다.

[미완] 황금의 제국

드라마

황금의 제국
SBS
24부작
2013.07.01(월) ~ 2013.09.17(화)

[줄거리]
재벌가족이 그룹을 먹기 위해서 끝이없이 음모와 배신을 하는 내용

종영후 한번에 다운받아서 봤는데
상당히 재미있게 봤다.

가족이라고는 하지만 서로 이익을 위해서 가족처럼 행동할뿐이고
착했던 청년은 황금의 맛을 보더니 탐욕스러웠던 주위사람들과 같은 사람이 되고
그룹을 차지했지만 주위에 사람이 없네

2014년 3월 4일 화요일

2014년 2월 22일 토요일

[미완] Win32 API에서 MFC 사용

[미완] Win32 API에서 MFC 사용

#include <afx.h>
#include <afxwin.h>

MFC관련 헤더 파일인 위에 두개를 추가한다.

주의:
위에 두개 헤더파일은
#include <Windows.h>보다 먼저 호출되어야 한다.


헤더 파일을 추가했으면
프로젝트 속성(일반)에 들어가서
"표준 Windows 라이브러리 사용"을 MFC 사용으로 변경한다.

[미완] Visual Assist X Visual Studio 2010 설치 위치 (XP기준)

[미완] Visual Assist X Visual Studio 2010 설치 위치 (XP기준)

C:\Documents and Settings\Administrator(사용자이름)\Local Settings\Application Data\Microsoft\VisualStudio\10.0\Extensions\Whole Tomato Software\Visual Assist X\10.7.1901.0(버전)

2014년 2월 20일 목요일

[미완] [미국드라마] The Blacklist 블랙리스트

미국드라마

The Blacklist
NBC

Season 3 EP 18까지 시청


[ 줄거리] 
FBI 10대 수배범인 "레이몬드 레딩턴(레드)"가 자수를 하고 범죄자들의 정보를 제공한다고 한다. 단 FBI 신입 요원인 "엘리자베스 킨(리즈)"하고만 일한다고 한다. 
FBI는 제공받은 정보로 범인들을 체포한다는 내용.

2013년 신규 드라마 중 가장 독보적인 드라마 이면서
NBC의 유일무이 드라마가 아닐까 생각된다.

기존 수사물처럼 매회 범죄자를 잡는 내용이지만
이것보다는 "레이몬드 레딩턴(레드)"가 자수한 이유, "레이몬드 레딩턴(레드)"과 "엘리자베스 킨(리즈)"의 관계 그리고 "엘리자베스 킨(리즈)" 남편의 정체? 가 궁금하고 더 재미있다.

스피드하게 내용이 전개가 되면서 
간만에 재미있게 본 드라마다.
NBC의 이전 드라마인 히어로즈처럼 후반부에 개판되지 않았으면 한다.

--- 시즌 1 다보고
시즌 마지막에 나온 사진은 3회때(시체없애는 사건) 사진이다.

--- 시즌 2 10회까지 보고
시즌2 8회까지은 시즌1의 내용 마무리를 하고
공백기를 거처서 9회를 했는데
9회부터는 다른내용(새로운 시즌)이 전재되는것 같다.
현재까지은 시즌1만큼의 시나리오는 아닌것 같다.

2x15에피소드는 거의 이때까지 내용을 정리하는 에피소드다.

2x19 에피소드에서 The Fulcrum 관련 내용은 거의 마무리가 되고
2x20 에피소드에서는 새로운 떡밥 킨의 어머니가 나오기 시작한다.

시즌 2 다 시청후
마지막 에피소드에서의 킨의 행동은 별로 공감이 안된다.
이때까지의 성격으로 봤을때는
오직 시즌3을 위한 행동으로 좀....
시즌 1이 더 재미있다.

---
s03e08: 킨이 잡히면서 휴방기에 들어간다.
s03e10: 시즌2 마지막회의 얘기가 마무리 되었다.

s03e18: 주요 인물이 사망한다.

2014년 2월 19일 수요일

[미완] 더파이팅

만화책 더파이팅

85권까지 봄

100권 넘게 나왔는데(지금도 계속 나옴)

이때까지 본 권투 만화중에서 최고다.

그리고 권투만화인데도 엄청 웃기다.

[미완] [미국드라마] Person of Interest

Person of Interest

CBS
Season 1: 2011~2012
Season 2: 2012~2013
Season 3: 2013~ 2014
Season 4: 2014~2015

줄거리
테러와 살인을 예고하는 기계를 만든 "해롤드 핀치"와
전직 CIA요원인 "존 리스"가 살인을 막는 내용

Season 1: 다른 미드 수사물처럼 매회 기계가 새로운 살인을 예고하면 주인공들이 살인을 막는다. 그리고 "존 리스"와 "해롤드 핀치"의 과거가 조금씩 나온다.

Season 2: Season 1과 같은 형태로 전개가 되지만 "존 리스"와 "해롤드 핀치"의 과거가 다 나온다. 기계에 대해서도.

Season 3: 매회 살인을 막지만 Season 2에서 기계에 대한 과거가 다 나와서 새로운 방향으로 나간다. 새로운 기계(사마리안인)가 등장하고 "해롤드 핀치"의 어릴때가 (잠깐)나온다.
사마리안인이 힘을 가지게 되고 주인공들을...

Season 4: 별로다. 주인공들이 예전만큼 힘이 없어졌고 사마리안인과의 싸움도 그렇게 많지가 않다. 시즌 마지막에 많은 인물들이 하차를 하게된다.
다만 다음시즌이 기대되는 것은 기계가 인격(?)을 가져다고 해야할까? 아닐수도 있고 시즌5에서 기계가 맹활약을 하면 재미있을테데...

2014년 2월 14일 금요일

[미완] [미국드라마] The Wire

The Wire (HBO, Ended)

Season 1 (Ep13): 2002.06.02 ~ 2002.09.08
Season 2 (Ep12): 2003.06.01 ~ 2003.08.24
Season 3 (Ep12): 2004.09.19 ~ 2004.12.19
Season 4 (Ep13): 2006.09.10 ~ 2006.12.10
Season 5 (Ep10): 2008.01.06 ~ 2008.03.09 - Ended

현재 Season 4 4회까지 시청

[줄거리]
특별수사대가 조직되어서 도청으로 마약 공급자를 체포한다는 내용

Season 1: 특별수사대 인물들과 마약공급자들 설명 그냥 그랬다.

Season 2: 마약은 변두리로 밀리고 항만이 메인이야기가 되었다.
그래서 초반에 새로 등장하는 항만 사람들 캐릭터 설명하고 해서 진부했는데
후반부에 상당히 흡입력이 있다.

Season 3: 다시 마약으로 돌아왔는데 등장인물중에 누가 죽는다는 것 외에는 별로였다.

드라마가 전체적으로 (각 시즌별로)초반에는 여러인물들이 나오고 각자 주어진 일들을 하고 후반부에 이 이야기가 모이게 된다. 근데 나는 이 초반에 별로다. 지루하다.

정말 유명한 드라마라는데 계속 봐야하나...

2014년 2월 13일 목요일

[미완] 백설공주에게 죽음을

[미완] 백설공주에게 죽음을

지은이: 넬레 노이하우스
옮긴이: 김진아
펴낸곳: 북로드

초판 1쇄 발행 2011년 2월 11일
초판 30쇄 발행 2013년 12월 20일

2014년 2월 7일 금요일

2014년 2월 6일 목요일

[미완] 카운슬러

카운슬러
날짜: 2014.02.06 (목)

별: 2개

뭔 말들이 이렇게 많아

2014년 1월 25일 토요일

[미완] 남자가 사랑할때

[미완] 남자가 사랑할때

신촌 CGV 4관
날짜: 2014.01.25(토)

별: 3개

2014년 1월 23일 목요일

[미완] 쓰레드 실행여부 확인

// 쓰레드 실행
UINT dwThreadID;
HANDLE hThread = (HANDLE)_beginthreadex( NULL, 0, ThreadFunc, NULL, 0, &dwThreadID );

// 실행중인지 확인
DWORD ret = 0;
GetExitCodeThread( hThread, &ret );
if ( STILL_ACTIVE == ret )
{
   // 쓰레드가 아직 실행중임
}

[Win32/MFC] Win32 기본 윈도우창 출력

// Win32 기본창 출력
#include <Windows.h>
#include <tchar.h>

HINSTANCE g_hInst = NULL;

void InitWndClass( HINSTANCE hInstance, LPCTSTR lpszClassName );
int MessageRun( void );
LRESULT CALLBACK WndProc( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam );

//////////////////////////////////////////////////////////////////////////
// hPrevInstance=16비트 윈도우의 잔재로 항상 NULL값을 가지고 사용하지 않는다.
int APIENTRY _tWinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPTSTR lpCmdLine, __in int nShowCmd )
{
 const LPCTSTR lpszClassName = _T("x108zero");

 g_hInst = hInstance;

 // Window Class Struct에 값 입력
 InitWndClass( hInstance, lpszClassName );

 // Windows 생성
 HWND hWnd = CreateWindow( lpszClassName, lpszClassName, WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
  NULL, (HMENU)NULL, hInstance, NULL );
 if( NULL == hWnd )
 {
  MessageBox( hWnd, _T("Window Create Error"), _T("Error"), MB_OK );
  return -1;
 }
 ShowWindow( hWnd, nShowCmd );

 // 메시지 처리
 int nMessage = MessageRun();

 return nMessage;
}

//////////////////////////////////////////////////////////////////////////
void InitWndClass( HINSTANCE hInstance, LPCTSTR lpszClassName )
{
 WNDCLASS WndClass;
 ZeroMemory( &WndClass, sizeof(WndClass) );

 WndClass.cbClsExtra  = 0;
 WndClass.cbWndExtra  = 0;
 WndClass.hbrBackground = (HBRUSH)( COLOR_WINDOW + 1 );
 WndClass.hCursor  = LoadCursor( NULL, IDC_ARROW );
 WndClass.hIcon   = LoadIcon(   NULL, IDI_APPLICATION );
 WndClass.hInstance  = hInstance;
 WndClass.lpfnWndProc = WndProc;
 WndClass.lpszClassName = lpszClassName;
 WndClass.lpszMenuName = NULL;
 WndClass.style   = CS_HREDRAW | CS_VREDRAW;

 RegisterClass( &WndClass ); // Window Class 등록
}

//////////////////////////////////////////////////////////////////////////
int MessageRun( void )
{
 MSG Message;
 ZeroMemory( &Message, sizeof(Message) );

 while( GetMessage( &Message, NULL, 0, 0 ) )
 {
  TranslateMessage( &Message );
  DispatchMessage(  &Message );

 } // end of while( GetMessage( &Message, NULL, 0, 0 ) )

 return (int)Message.wParam;
}

//////////////////////////////////////////////////////////////////////////
LRESULT CALLBACK WndProc( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam )
{
 switch( iMessage )
 {
 case WM_CREATE:
  return 0;

 case WM_PAINT:
  {
   PAINTSTRUCT ps;
   ZeroMemory( &ps, sizeof(ps) );
   HDC hDC = BeginPaint( hWnd, &ps );
   EndPaint( hWnd, &ps );
  }
  return 0;

 case WM_DESTROY:
  PostQuitMessage( 0 );
  return 0;

 } // end of switch( iMessage )

 return DefWindowProc( hWnd, iMessage, wParam, lParam );
}

2014년 1월 21일 화요일

[미완] error C2220: 경고가 오류로 처리되어 생성된 'object' 파일이 없습니다.

error C2220: 경고가 오류로 처리되어 생성된 'object' 파일이 없습니다.

설정
프로젝트 > 속성 > 구성 속성 > C/C++ > 일반 에서
[경고를 오류로 처리]를 "예" or "아니오" 선택

"예"는 말그대로 경고(warning) 발생시 오류(Error)를 발생 하라는 설정으로 컴파일시
error C2220: 경고가 오류로 처리되어 생성된 'object' 파일이 없습니다. 발생함

"아니오" 선택시 경고(warning)는 발생하지만 오류(Error)은 발생하지 않음

2014년 1월 17일 금요일

[미완] NSIS 재부팅 명령어

MessageBox MB_YESNO|MB_ICONQUESTION "재부팅하시겠습니까?" IDNO +2
Reboot
   -> 이것은 중간에 재부팅 메시지 박스가 출력

or

SetRebootFlag true
   -> 이것는 맨 마지막 페이지가 재부팅 하겠습니까?? 나옴 
[출처] NSIS 스크립트에서 자주 사용되는 명령어들 (또는 변수들)|작성자 임재원

2014년 1월 16일 목요일

[미완] 구글 크롬 북마크 없어지는 현상

[미완] 구글 크롬 북마크 없어지는 현상

크롬이 다른 사람(ID)에 동기화가 되어서
어느 순간 다른 사람의 북마크가 설정 된다.

자세한 정보는
크롬 설정에 들어가면
첫번째에 있는 로그인 부분에 다른 ID가 설정 되어 있는지 확인을 한다.

2014년 1월 14일 화요일

[미완] NSIS - 무료 패키징 프로그램

[미완] NSIS - 무료 패키징 프로그램

인스톨쉴드(Installshield)와 같은 Setup파일을 만드는 패키징 프로그램인데 무료인다.

2014년 1월 13일 월요일

[미완] C++ 프로그램 로그파일 만들

#include <time.h>

void GetTime( char* szTime, int nSize )
{
time_t timeNow = time( NULL ); // 현재 시각을 초 단위로 얻기
tm time = { 0, };
localtime_s( &time, &timeNow );

sprintf_s ( szTime, nSize,
"%d-%02d-%02d / %02d:%02d:%02d:",
time.tm_year+1900, time.tm_mon+1, time.tm_mday,
time.tm_hour,   time.tm_min,   time.tm_sec );
}

// 로그파일 만들기 - 유니코드 지원안함
void LogFile( char* szMessage )
{
FILE* pFile = NULL;
fopen_s( &pFile, "LogFile.txt", "a+" );
fseek( pFile, 0, SEEK_SET );

int nLine = 1;
while( !feof( pFile ) )
{
if ( fgetc( pFile ) == 10 ) // 라인 끝에 도착 Line 증가
{
nLine++;
}
}

char szTime[128] = { 0, };
GetTime( szTime, _countof( szTime ) );

fprintf( pFile, "%05d %s %s\n", nLine, szTime, szMessage );

fclose(pFile);
}

#include <iostream>
int main( void )
{
LogFile(  "LogFile테스트" );

        return 0;
}

[미완] _stprintf_s 에러

[미완] _stprintf_s 에러


TCHAR strTemp[128] = { 0, };
_stprintf_s( strTemp, sizeof(strTemp), TEXT("test") );

이때 에러가 발생하면
_stprintf_s( strTemp, countof(strTemp), TEXT("test") );

sizeof(strTemp) -> countof(strTemp) 변경한다.

[미완] 더 울프 오프 월스트리트

날짜: 2014.01.11 (토)
홍대롯데시네마2관

별: 3개반

2014년 1월 7일 화요일

[미완] WM_TIMER 정확한 시간 타이머를 요구할 경우 쓰면 안된다.

[미완] WM_TIMER 정확한 시간 타이머를 요구할 경우 쓰면 안된다.

WM_TIMER은 flag성 메시지라고 한다.
flag성 메시지는 메시지 큐에 들어가는 것이 아니고
GetMessage함수가 메시지 큐에 들어있는 메시지를 다 처리하고 난 후에
처리를 한다.
그러므로 1초마다 WM_TIMER를 발생하게 설정을 해도
만일 메시지 큐안에 처리해야할 메시지들이 많으면 늦게 발생할 수도 있다.
그러므로 정확한 시간 타이머를 요구할 경우에는 권장하지 않는다.

참고로 WM_PAINT도 flag성 메시지다

[미완] string -> char 변환

[미완] string -> char 변환

string str = "1234"
const char* c = str.c_str();

[미완] win32 라디오버튼 체크

CheckRadioButton(hDlg,IDC_RADIO1, IDC_RADIO2, IDC_RADIO2);
hDlg: 윈도우 핸들
IDC_RADIO1: 라디오버튼 첫번째
IDC_RADIO2: 라디오버튼 마지막
IDC_RADIO2: 선택하고 싶은 라디오 버튼

CheckRadioButton과 CheckDlgButton의 차이점은
CheckRadioButton은 선택한 라디오버튼만 체크를 하고 나머지는 다 비체크가 된다.

[미완] Win32 버튼 비활성화

[미완] Win32 버튼 비활성화

HWND hBtn = GetDlgItem( hDlg, IDC_BUTTON1); // 1. 버튼의 핸들을 구함
EnableWindow( hBtn, FALSE ); // 2. 핸들에 활성화(TRUE)/비활성화(FALSE) 값을 줌

2014년 1월 2일 목요일

[미완] 컴퓨터 이름 알아내는 함수

TCHAR szName[256] = { 0, };
DWORD dwSize = 256;
GetComputerName( szName, &dwSize );

[미완] KS7 2013년 송년회

KS7 2013년 송년회

2013년 12월 28일 (토) 19시
배중선, 박상준, 박주오, 이재기 그리고 나

1차: 하오케(메세나폴리스점)   105,000원
2차: 타마시                             74,500원
3차: 빈스앤 와플                     24,800원
코코호도                                   5,000원
4차: PC방                               19,300원
총                                    228,600원