본문 바로가기

프로그래밍/미분류

(82)
소켙과 핸들 1 몇 회까지 울궈먹으며 포스팅을 할 지 모르겠지만, 1회라고 써 본다. 김성우씨의 네트워크 프로그래밍 책의 예제에 기반한 CPP 프로그램을 실행하면서 프로세스 익스플로러로 핸들을 확인했다. 예제는 아주 간단하게 소켙을 만들었다가, 다시 죽이는 것이었고, 내가 수정한 부분은 소켓을 만들었다, 닫는 작업을 반복해 보는 것이었다. WSAStartup 함수가 실행된 직후이다. 프로그램의 시작부분이라서 쓰레드가 하나 만들어 지는 것 같고, 레지스트리 키 두개를 읽나부다. 레지스트리 키 명을 확인해 보면 HKLM\SYSTEM\ControSet001\Services\WinSock2\Parameters\NameSpace_Catalog5 와 HKLM\SYSTEM\ControlSet001\Services\WinSock2\P..
socket and device\afd, device\tcp device\ksecdd 간단한 서버 샘플 프로그램을 디버그모드로 돌리면서, 어떻게 핸들이 생성되는지를 process explorer 로 살펴봤다. 아울러 tcpview 로도 언제 뜨는지를 확인해 봤다. 캡쳐한 그림을 참조. winsock 초기화. Procexp 핸들 화면을 보면, 아무런 핸들도 생성되지 않았다. socket 함수가 성공했다. \Device\Afd 핸들이 하나 생성되었음을 확인할 수있다. 아직 소켓만 생성된 상태이고, 이름은 바인드되지 않은 상태이다. bind 함수가 성공하면서, \Device\Tcp 핸들이 하나 생성된다. listen 이 성공하면서, \Device\KsecDD 핸들이 생성되고, 드디어 tcpview 에도 Server.exe 가 9000 포트로 LISTENING에 들어갔다는 게 뜬다. WINDOW..
[복잡] For all e in G, and for all f not in G, e # G is significantly bigger than f # G.By above definition, we should be able to define a group G out of a linked structure.Remainig problems are how should we define a product of an element on a set of elements, denoted above with #.how should we mathematically define the language "significantly bigger".Idea for 1 e # G = ratio of links from e into GIde..
비트 인버트는 선형적인가? int main() { unsigned short i; unsigned short inv; unsigned short ineg; for(i = 0 ; i < 0xFFFF; i++) { inv = ~i; ineg = 0xFFFF - i; if(inv != ineg) { printf("For %d, ~i (%d) != 0xFFFF - i (%d)\n", i, inv, ineg); } } return 0; } 지금 생각하면 너무 당연하게 둘이 같아야 하는데, 잠결에 이게 아닐 것 같아서 일찍 출근했다. i가 선형적으로 변할 때, 그 인버트된 값도 선형적이다.
[C|초급] 큰숫자에 작은숫자가 몇 번 나오나 #include int main() // int main() { // { int n, m, cnt=0; // int n, m, 카운터=0; // scanf("%d %d", &n, &m); // (m, n)에입력숫자를저장하라; // while(m > 0) // (m > 0)한동안 { // { if(n == m%100) // 만약(n 이 m의 마지막두자리와 같다)면 cnt++; // 카운터++; m/=10; // m의 마지막자리수를 날린다; } // } printf("%d", cnt); // printf("%d", cnt); // return 0; // return 0; } // } 문제는 The Numbers Write a program to report the number of times a number..
[CPP|MFC] 감마보정 데모 감마보정에 대해 간단하게 테스트 해 볼 수 있는 MFC 프로그램. 매우 간단한 대화상자 응용프로그램이다. 웹프로그래밍같은 걸 잘 몰라서, 그나마 익숙한 비주얼C 6.0 mfc로 짰다. 빨리 대충 짠 거라 버그가 많이 있을 수 있다. 소스도 올려 놓으니, 더 개선할 사람은 개선하라. 소스는 자유롭게 사용할 수 있다. 최초저자를 밝혀줘서 피드백 받을 수 있게 해주면 고맙고. 대화상자위에서 마우스 휠을 돌리면, 감마값이 바뀌면서 바뀐 감마에 대한 그레이스케일과 그래프를 보여준다. 그래프의 위아래라던가, 어느 축이 무얼 나타내는지는 소스를 보고 파악하시라. 딱 보면 알겠지만, 일반적인 수학 그래프랑 원점과 x, y 축의 방향이 다르다. 따로 윈도우 그리기 좌표계에서 변환을 하지 않아서 그렇다.
[Py|수치해석] 무식하게 DFT DFT (discrete fourier transformation), FFT가 이것보다 효율적인 거란 말이지. 알았어 다음 포스팅은 그거다. DFT의 정의는 http://en.wikipedia.org/wiki/Fast_Fourier_transform 에서. #!/usr/bin/env python ### DFT Bruteforce ### didn't check if this coding gives the right answer. I just followed the ### definition. ### by DwYoon N_DATA = 1024 #N_DATA = 16 import cmath import random # populate raw data using random generator # you can ..
[CPP|MFC] 초간단 Blob 효과 효과가 매우 안 좋다. 기냥 무식하게 모든 픽셀에 대한 함수값을 계산해서 색깔을 지정하므로 속도도 엄청나게 느리다. 코드프로젝트의 기사를 보고 한번 해 봤다. 물론 내 것이 훨씬 성능이 좋지 않다. 각각의 공이 웅까웅까 움직이는 효과도 없고...