윈도우프로그래밍입문
(Win32 프로그래밍)
KOCW 동영상 강의
http://www.kocw.net/home/search/kemView.do?kemId=337184
[1,2] 시작하기
https://www.slideshare.net/jaepilko10/01-113078207
[3] 첫번째 코드
https://www.slideshare.net/jaepilko10/03-113077543
[4] 이벤트처리
https://www.slideshare.net/jaepilko10/04-113077544
[5] 윈도우프로그램유형
https://www.slideshare.net/jaepilko10/05-113077545
[6] 일반적유형의 프로그램 예제
https://www.slideshare.net/jaepilko10/06-113077547
[7] 윈도우핸들
https://www.slideshare.net/jaepilko10/07-113077549
[8] 부모윈도우와 자식윈도우
https://www.slideshare.net/jaepilko10/08-113077550
[9] 윈도우스타일
https://www.slideshare.net/jaepilko10/09-113077551
[10] 컨트롤윈도우
https://www.slideshare.net/jaepilko10/10-113077559
[11] 노티피케이션코드
https://www.slideshare.net/jaepilko10/11-113077562
[12] 컨트롤에서의 메세지 처리
https://www.slideshare.net/jaepilko10/12-113077563
[13] 사용자 메세지 처리
https://www.slideshare.net/jaepilko10/13-113077565
2018년 9월 5일 수요일
2018년 8월 14일 화요일
[C] 데이터타입 숫자 범위
[출처] http://mwultong.blogspot.com/2006/09/c-char-int-float-data-type-ranges.html
▶ char, unsigned char 1 byte (8비트)
------------------------------------------------------
char 의 최소값: -128
char 의 최대값: 127
unsigned char 의 최소값: 0
unsigned char 의 최대값: 255 (0xff)
▶ short, unsigned short 2 bytes (16비트)
------------------------------------------------------
short 의 최소값: -32768
short 의 최대값: 32767
unsigned short 의 최소값: 0
unsigned short 의 최대값: 65535 (0xffff)
▶ wchar_t 또는 __wchar_t 2 bytes (16비트)
------------------------------------------------------
wchar_t 의 최소값: 0
wchar_t 의 최대값: 65535
※ wchar_t 는 유니코드 글자 1개를 저장합니다. "unsigned short"과 동일.
▶ int, unsigned int 4 bytes (32비트)
------------------------------------------------------
int 의 최소값: -2147483648
int 의 최대값: 2147483647
unsigned int의 최소값: 0
unsigned int의 최대값: 4294967295 (0xffffffff)
▶ long, unsigned long 4 bytes (32비트)
------------------------------------------------------
long 의 최소값: -2147483648L
long 의 최대값: 2147483647L
unsigned long 의 최소값: 0UL
unsigned long 의 최대값: 4294967295UL (0xffffffffUL)
※ 32비트OS에서의 long 은 int 와 동일
▶__int64 또는 long long 8 bytes (64비트)
------------------------------------------------------
__int64 의 최소값: -9223372036854775808i64
__int64 의 최대값: 9223372036854775807i64
unsigned __int64 의 최소값: 0ui64
unsigned __int64 의 최대값: 18446744073709551615ui64 (0xffffffffffffffffui64)
[정수형]
▶ char, unsigned char 1 byte (8비트)
------------------------------------------------------
char 의 최소값: -128
char 의 최대값: 127
unsigned char 의 최소값: 0
unsigned char 의 최대값: 255 (0xff)
▶ short, unsigned short 2 bytes (16비트)
------------------------------------------------------
short 의 최소값: -32768
short 의 최대값: 32767
unsigned short 의 최소값: 0
unsigned short 의 최대값: 65535 (0xffff)
▶ wchar_t 또는 __wchar_t 2 bytes (16비트)
------------------------------------------------------
wchar_t 의 최소값: 0
wchar_t 의 최대값: 65535
※ wchar_t 는 유니코드 글자 1개를 저장합니다. "unsigned short"과 동일.
▶ int, unsigned int 4 bytes (32비트)
------------------------------------------------------
int 의 최소값: -2147483648
int 의 최대값: 2147483647
unsigned int의 최소값: 0
unsigned int의 최대값: 4294967295 (0xffffffff)
▶ long, unsigned long 4 bytes (32비트)
------------------------------------------------------
long 의 최소값: -2147483648L
long 의 최대값: 2147483647L
unsigned long 의 최소값: 0UL
unsigned long 의 최대값: 4294967295UL (0xffffffffUL)
※ 32비트OS에서의 long 은 int 와 동일
▶__int64 또는 long long 8 bytes (64비트)
------------------------------------------------------
__int64 의 최소값: -9223372036854775808i64
__int64 의 최대값: 9223372036854775807i64
unsigned __int64 의 최소값: 0ui64
unsigned __int64 의 최대값: 18446744073709551615ui64 (0xffffffffffffffffui64)
[실수형]
▶ float 4 bytes (32비트)
------------------------------------------------------
가장 작은 양수: 1.175494351e-38F
가장 큰 양수 : 3.402823466e+38F
▶ double 8 bytes (64비트)
------------------------------------------------------
가장 작은 양수: 2.2250738585072014e-308
가장 큰 양수 : 1.7976931348623158e+308
▶ long double 8 bytes (64비트)
------------------------------------------------------
double 과 같음.
------------------------------------------------------
가장 작은 양수: 1.175494351e-38F
가장 큰 양수 : 3.402823466e+38F
▶ double 8 bytes (64비트)
------------------------------------------------------
가장 작은 양수: 2.2250738585072014e-308
가장 큰 양수 : 1.7976931348623158e+308
▶ long double 8 bytes (64비트)
------------------------------------------------------
double 과 같음.
[MFC] 파일입출력
[출처] http://phiru.tistory.com/138
------------------------------------------------------------------------------------------
// 읽기(바이너리로 읽기)
// 쓰기(바이너리로 쓰기)
CFile rawData; // 읽을 파일
CFile processData, // 쓸 파일
CFileException proEx, rawEx; // 예외
if(!rawData.Open(strFullPath, CFile::modeRead | CFile::typeBinary, &rawEx)) // 오류 체크
{
AfxMessageBox("rawData exception!");
rawData.Close();
return;
}
if(!processData.Open(strProData, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary, &proEx))
{
AfxMessageBox("ProcessData exception!");
processData.Close();
return;
}
UINT nRet = 0; // 읽은 크기
char buffer[KD_BUFFER_SIZE]; // 읽을 버퍼 싸이즈
while(1)
{
ZeroMemory(buffer, sizeof(buffer));
nRet = rawData.Read(buffer, sizeof(buffer)); // 읽기
if(nRet == sizeof(buffer)) // 읽을 데이터가 남아있다(확률적으로 맞지)
{
processData.Write(buffer, sizeof(buffer)); // 사실 이거 만들때는 조건이 있어서 일케 분류했다.
}
else // 파일이 끝부분일 경우(안맞을 확률 1/버퍼 싸이즈)
{
processData.Write(buffer, sizeof(buffer));
break;
}
}
// 다 읽고 썼으니깐 핸들 닫자
processData.Close();
rawData.Close();
// 파일 잘 되었는지 친절히 폴더도 열어주자
ShellExecute(NULL, "open", dataDir, NULL, NULL, SW_SHOWNORMAL);
------------------------------------------------------------------------------------------
std::fstream rawData; // 읽고 쓸 파일.(여기에서는 덮어쓰기한다. 요고 디지게 찾았다)
std::fstream headerData; // 읽을 파일(이걸 읽어서 rawData에 덮는 식으로 예제를 짰다)
rawData.open(cFileFullPath, std::ios::binary | std::ios::out | std::ios::in); // Open할때 바이너리, 읽고 쓰기로.
if(!rawData.is_open()) // 잘 열렸는지 인. 아니면 오류 났다고 해주자
{
// 현재 fstream은 unicode가 안되어서?? 잘 모르겠지만 경로에 한글 있음 안된다.
MessageBox("File Open Error.(Don't use Korean title)", "Error", 0);
printf("error\n");
rawData.close();
return;
}
headerData.open(cHeaderPath, std::ios::binary | std::ios::in); // 바이너리로 하고 읽기로.
if(!headerData.is_open())
{
MessageBox("File Open Error.(Don't use Korean title)", "Error", 0);
printf("error\n");
headerData.close();
return;
}
char buffer[KD_BUFFER_SIZE];
memset(buffer, 0, sizeof(buffer));
headerData.read(buffer, sizeof(buffer)); // 읽기
int size = strlen(buffer); // 읽은 사이즈 한번 보고
rawData.write(buffer, sizeof(buffer)); // 쓴다. 덮어서!
rawData.flush(); // 적용!!
rawData.close(); // 닫어
headerData.close(); // 요곳도 닫어
2018년 7월 23일 월요일
[python] 인터넷강의
경영학과 출신 교수님이 본인이 공부하고 계신 사이트를 소개해 주셨다.
들어보니 강의 스킬이 좋은 것 같다.
파이선 공부는 아래 사이트에서 하면 좋을 듯.
2018년 6월 16일 토요일
[공개강좌] 선형대수
살면서 정말 멋진 강의를 만나는 것은 행운이다.
나는 대학원때 그런 강의를 2번 석사를 마치고 사회에서 개발자로 일하고 있을 때 1번, 이렇게 3번 있었다.
다음 강의 또한 정말 멋지다.
MIT 공개강의 - 선형대수
by Professor Gilbert Strang.
나는 대학원때 그런 강의를 2번 석사를 마치고 사회에서 개발자로 일하고 있을 때 1번, 이렇게 3번 있었다.
다음 강의 또한 정말 멋지다.
MIT 공개강의 - 선형대수
by Professor Gilbert Strang.
[딥러닝] 캡슐네트워크
힌톤교수가 제안하여 더욱 주목을 받았던 신경망이었지만,
미루고 미루다 이제야 살펴보았다.
의미있다.
앞으로 많은 진전이 있을 것 같다.
Dynamic Routing과 Equivariance에 대한 Aurelien Geron의 설명력은 정말 대단하다.
미루고 미루다 이제야 살펴보았다.
의미있다.
앞으로 많은 진전이 있을 것 같다.
Dynamic Routing과 Equivariance에 대한 Aurelien Geron의 설명력은 정말 대단하다.
Capsule Networks from jaypi Ko
피드 구독하기:
글 (Atom)
