etc 18

[C++] 문자열 분리(strtok, strtok_s)

문자열 분리. strtok, strtok_s 기존에 문자열 분리에 사용되던 strtok 은 첫 인자로 대상 문자열,두 번째 인자로 분리에 기준이 되는 문자를 넣으면 되었다. 즉, #include #include int main (){ char str[] ="- This, a sample string."; char * pch; printf ("Splitting string \"%s\" into tokens:\n",str); pch = strtok (str," ,.-"); while (pch != NULL) { printf ("%s\n",pch); pch = strtok (NULL, " ,.-"); } return 0;} 이런식으로, 사용하면 되었는데... VS 2005부터 CRT라이브러리의 문자열을 다루는..

etc 2013.03.04

[Network] IRC구조

1. 정의 - 실시간 인터넷 텍스트 메시징 또는 동시 회의 2. 서버 구조(spanning tree) - 시발(始發) 이중화가 2계층 설계로 도입될 때, 루프 또는 중복되는 프레임은 네트워크에 심각한 결과를 가져올 수 있다. STP(Spanning Tree Protocol)은 이러한 문제를 해결하기 위해서 개발되었다. - 개념 루프의 원인이 될 수 있는 여분의 경로를 의도적으로 블로킹하여 네트워크상의 모든 도착지 사이에 오직 논리적인 하나의 경로만이 있도록 책임진다. STA란 Network Topology 상에서 Bridge로 하여금 루프(loop)를 형성하지 않도록 하는 알고리즘이다. 이 말은 임의의 2개의 단말이 프레임을 송수신할 수 있는 경로가 단 하나 이도록 한다는 의미이다. - 설명 그림에서 모..

etc 2013.02.22

[C++] warning C4996

VS 2005부터 CRT라이브러리의 문자열을 다루는 함수의 안정성에 많은 신경을 쓰면서 기존의 문자열에 _s 를 붙이는 안전함수? 를 제공하고 있다. 해서 이 함수를 사용하지 않으면 위의 warning가 발생하게 된다. 기본적으로 하라는데로 _s 함수를 사용하면 좋겠지만, 이미 어느정도 진행되어 있는 프로젝트에서 해당 함수로 변경하는 것이 조금 고된 일이 된다고 생각된다면다음의 추가로 해결할 수 있다. 미리 컴파일된 해더(stdafx.h) 에 #define _CRT_SECURE_NO_WARNINGS#define _CRT_SECURE_NO_OVERLOAD_STANdARD_NAES 1#define _CRT_SECURE_NO_DEPRECATE 이것을 추가한다.

etc 2013.02.21

[SVN] tortoise svn branch merge

tortoise svn(이하 svn)을 가지고 trunk 와 branch 간에 merge 하는 방법을 소개한다. svn에서 머지하는 방법은 여러방법이 있는데(merge 관련 팝업메뉴가 여러군데서 뜨기 때문에) 크게 원본인 trunk 디렉토리에서 시작하는 방법(merge to)과 branch 디렉토리에서 시작하는 방법(merge)가 있을 것 같은데, 당연히 결과물도 같고 중간에 거치는 내용도 같기 때문에 취향대로 골라서 사용하면 되겠다. 상황은 trunk에서 branch로 merge하는 상황을 가정한다. (생각해보니 일반적인 상황이라면 branch에서 trunk로 merge 하는게 많을 듯 한데...) #include int main() { printf("Hello world!\n"); printf("fo..

etc 2013.02.13

[C++] GetLastError() 활용

많은 사람들이 GetLastError 함수를 사용하고 있겠지만 이녀석 참 유용하다. 일반적으로 이녀석은 에러 코드를 반환하는데 에러코드 값을 msdn등을 통해서 일일이 찾는건 참으로 번거롭다 ㅡㅡa 하지만 Visual Studio에서는 Error Lookup라는 이름의 툴을 제공한다는거 코드만 집어 넣으면 바로 에러 내용을 보여주니 참으로 좋구나. 그리고! 디버그의 Watch창에 $err,hr 이라고 입력하면 에러 내용을 확인할 수 있다. 예로int WINAPI _tWinMain(HINSTANCE hInstanceExe, HINSTNCE, PTSTR pszCmdLine, int){HANDLE hFile = CreateFile(TEXT("c\\Jeff), 0, 0, NULL, OPEN_EXISTING, 0..

etc 2013.02.13

[Network] 2-Tier, 3-Tier, n-Tier

1. 개요 2-Tier,3-Tier,n-Tier 등은 중앙집중형 컴퓨팅과 달리 분산 컴퓨팅 환경을 구현하는 구조를 말한다.2. 참고사항 ㅇ 2-Tier 이란 1980년대 LAN 환경에서 ① 화일서버 및 DBMS 서버 등 서버와 ② 클라이언트로 구성된 단순 분산처리의 초기형태를 말한다. - 이 경우에서는 각종 비지니스 로직 (Business Logic)을 전부 클라이언트에서 담당하고 서버는 단지 데이터를 공유하는 형태로서, Fat Client 라고 하여 클라이언트에게 부하가 많아져서 클라이언트 수가 많아지면 유지보수 비용이 증가하게되는 문제점이 있다. ㅇ 3-Tier 이란 각각 서로 다른 플랫폼에서 동작하는 3개의 잘 정의된 독립 프로세스 ① 클라이언트 ② 어플리케이션 서버(또는 웹 서버 등) ③ 데이터베..

etc 2013.02.13