본문 바로가기

프로그래밍305

아스키코드표 2009. 11. 4.
More Effective C++ 요약정리 http://synch3d.com/wiki/moin/moin.cgi/MoreEffectiveC_2b_2b#line10 More Effective C++ 요약 기본 개념들 항목 1. 포인터(pointer)와 참조자(reference)를 구분하자. 항목 2. 가능한 C++ 스타일의 캐스트를 즐겨 쓰자. 항목 3. 배열과 다형성은 같은 수준으로 놓고 볼 것이 아니다. 항목 4. 쓸데 없는 기본 생성자는 그냥 두지 말자. 연산자(Operator) 항목 5. 사용자 정의 타입변환 함수에 대한 주의를 놓지 말자 항목 6. 증가 및 감소 연산자의 전위(prefix)/후의(postfix) 형태를 반드시 구분하자. 항목 7. &&, ||, 혹은 , 연산자는 오버로딩 대상이 절대로 아니다. 항목 8. new와 delete.. 2009. 11. 2.
Effective c++ 인터넷문서 이펙티브 C++ 카테고리 컴퓨터/IT 지은이 스콧 마이어스 (피어슨에듀케이션코리아, 2006년) 상세보기 보다 효율성 있는 코드를 작성하기 위해 반드시 읽어야 하는 기본 서적 Effective C++의 요약본이다. Effective C++ : Item 1 ~ Item 24 Effective C++ : Item 25 ~ Item 50 More Effective C++ : Item 1 ~ Item 29 2009. 11. 1.
VC++ 자료형 외 표현범위 C 자료형 (unsigned 생략) char [1byte] : -128 ~ 127 short [2byte] : -32,768 ~ 32,767 int[2byte] : -32,768 ~ 32,767 : 16bit int[4byte] : -2,147,483,648 ~ 2,147,483,647 : 32bit long[4byte] : -2,147,483,648 ~ 2,147,483,647 float[4byte] : 3.4E +/ -38(7digite) double[8byte] : 1.7E +/ -308(15digit) long double[8byte] : 1.2E +/ -4392(19digits) bool [1byte] : 1/0 Win32 자료형 BOOL[1byte] : 0/1 UCHAR[1byte] : 0 ~.. 2009. 10. 30.
Stack 동적알고리즘 연습 rice rcei i o i i o i o o foo oof i i i o o o i i o i o o 식으로 나오게끔하기 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace 알고리즘연습4 { class TestCase : ICloneable { string stack; string input; string output; string semioutput; ArrayList action=new ArrayList(); public ArrayList Result { get { return action; } } public TestCase(stri.. 2009. 10. 12.
윈도우 소켓 라이브러리 함수 필요 헤더 및 라이브러리 #include #pragma commnet(lib,"ws2_32") 윈속 초기화 - 응용에서 한 번만 설정(일반적으로 시작시) int WSAStartup(WORD wVersionRequested,LPWSDATA lpWSAData); 예 WSADATA wsadata; WSAStartup(MAKEWORD(2,2),&wsadata); 윈속 해제화 - 더 이상 소켓 통신 사용하는 구문 없을 때(일반적으로 종료시) int WSACleanup(void); 소켓 생성 SOCKET socket(int af, int type, int protocol); af : address family, pf: protocol family - 같은 값 AF_INET - IPv4 (PF_INET) AF_INE.. 2009. 10. 4.
동적알고리즘(동적계획법) 예제와 설명 동적계획(動的計劃, dynamic programming)은 어떤 알고리즘이 부분 문제 반복과 최적 기본 구조라는 특징을 가지고 있을 때, 이 알고리즘의 실행시간을 줄이는 방법이다. 수학자인 리처드 벨만이 1953년에 '동적계획'이라는 용어를 만들었다. 목차[숨기기] 1 예제 1.1 피보나치 수열 2 동적계획을 이용한 알고리즘 3 바깥고리 4 참고문헌 예제 [편집] 피보나치 수열 [편집] 보통 피보나치 수열을 구하는 함수는 다음과 같이 작성한다.function fib(n) if n = 0 or n = 1 return 1 else return fib(n-1) + fib(n-2) 이때, fib(5)를 구한다고 한다면 계산은 다음과 같이 이루어진다. fib(5) fib(4) + fib(3) (fib(3) + f.. 2009. 9. 23.
Socket 모델들의 용어 정리2 Overlapped 모델(1) : 소켓 입/출력 모델(1)과 근복적으로 입/출력 방식이 달라서 고성능을 제공한다고 합니다. 매우 중요한 특징이에요! 1. 비동기 입/출력(Asynchronous I/O) 또는 중첩 입/출력(Overlapped I/O) : 입출력 완료 시점과 함수 리턴 시점이 일치하지 않습니다. ※ 동기 입/출력(Synchronous I/O) : 입출력 완료 시점과 함수 리턴 시점이 일치합니다. ※ 동기 입출력에선 준바가 됐을 때 리턴하지만, 비동기 입출력에선 완료가 됐을 때 리턴합니다. 2. 비동기 통지(ASynchronous Notification) : 사건 등록 시점과 함수 호출/리턴 시점이 일치하지 않습니다. 모델 간 비교! Select, WSAAsyncSelect, WSAEvent.. 2009. 9. 23.
Socket 모델들의 정의 정리 socket() 함수로 생성한 소켓 : 블로킹 소켓 + 동기 입출력 ioctlsocket() 함수 사용 : 넌블로킹 소켓 + 동기 입출력 WSASocket() 함수로 생성한 소켓 : 넌블로킹 소켓 + 비동기 입출력 Select 모델 : 반복 서버 + 넌블로킹 소켓 + 동기 입출력 + 비동기 통지 WSAASyncSelect 모델 : 반복 서버 + 넌블로킹 소켓 + 동기 입출력 + 동기 통지 WSAEventSelect 모델 : 반복 서버 + 넌블로킹 소켓 + 동기 입출력 + 비동기 통지 Overlapped(1) 모델 : 병행 서버 + 넌블로킹 소켓 + 비동기 입출력 + 비동기 통지 Overlapped(2) 모델 : 병행 서버 + 넌블로킹 소켓 + 비동기 입출력 + 비동기 통지 ※Overlapped(1)과 (.. 2009. 9. 23.