예제로 살펴보는 Go : Non-Blocking 채널 사용 

Go의 채널은 기본적으로 블럭킹(Blocking)모드로 작동한다. 하지만 select 의 default문을 이용해서 논 블록킹 채널을 구현할 수 있다. 논 블럭킹 채널을 이용하면 두 개 이상의 selects를 기다릴 수 있다.9~15 줄을 보자. message 채널에서 메시지를 기다리고 있다. 원래대로라면 메시지를 기다리면서 블럭돼야 겠지만, default...

WSAOVERLAPPED 구조체 

WSAOVERLAPPED 구조체WSAOVERLAPPED 구조체는 overlapped(중첩) 입출력 연산의 초기화와 이후 작업 완료 루틴 사이에서의 통신수단을 제공한다. WSAOVERLAPPED 구조체는 OVERLAPPED 구조체와 호환된다. typedef struct _WSAOVERLAPPED { ULONG_PTR Internal; ULONG_PTR In...

WSANETWORKEVENTS 구조체 

WSANETWORKEVENTS 구조체WSANETWORKEVENTS 구조체는 소켓(typedef struct _WSANETWORKEVENTS { long lNetworkEvents; int iErrorCode;} WSANETWORKEVENTS, LPWSANETWORKEVENTS; lNetworkEvents FD_XXX 네트워크 이벤트에 대해서 측정된 이벤트...

WIN32_FIND_DATA 구조체 

WIN32_FIND_DATA 구조체FindFirstFile(), FindFirstFileEx, FindNextFile() 함수로 찾은 파일(typedef struct _WIN32_FIND_DATA { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ft...

Ruby Class : String 

Ruby Class 문자열에서 substring를 찾는다. 정규표현식을 사용할 수도 있다. 발견하면 발견한 위치의 index 값을 반환한다. 발견하지 못했다면 nil을 반환한다. "hello".index(e) #=> 1"hello".index(lo) #=> 3"hello".index(a) #=> nil"hello".index(?e) #=> 1"hello"...

ruby : Array Class 

ruby Array은 integer형 숫자를 색인으로 객체를 저장하고 접근하기 위해서 사용하는 클래스다. Array는 C나 Java의 배열과 마찬가지로 0부터 시작한다. C언어와 달리 음의 정수를 색인으로 할 수 있는데, 이 경우 배열의 끝에서 부터 색인을 시작한다. 예를 들어 -1은 배열의 마지막 원소, -2는 마지막에서 두번째 원소다.args를 원소로...

Ruby 1.9.3 core 

Ruby 1.9.3 coreRuby Class Reference...

linux man page : syscall - 

linux man page ---- 굳이 system()함수를 사용할 필요가 있냐라는 생각이 듭니다. 혹시 성능상의 잇점같은 것을 얻을 수 있는지 궁금하군요. ...

linux man page : sync - 캐쉬를 디스크에 쓴다. 

linux man page. inode 들을 버퍼로 보내고, 이 버퍼를 디스크에 쓴다. 보통은 시스템을 다운시키기 전에 데이타의 무결성을 보장하기 위한 용도로 사용한다....

linux man page : symlink - 파일에 대한 심볼릭링크를 만든다. 

oldpath 파일에 대한 심볼릭 링크 newpath 를 만든다. 만일 심볼릭 링크 newpath가 이미 존재한다면 이를 덮어쓰지 않는다....