fcntl을 이용한 파일 및 레코드잠금 

fcntl을 이용한 파일 및 레코드잠금fcntl을 이용한 파일잠금, 레코드 잠금의 방법과 그 응용에 대해서 알아본다. 파일잠금과 레코드 잠금은 여러 응용에서 필요로 한다. 멀티 쓰레드(DB와 같은경우에는 단지 파일잠금을 넘어서, 파일의 일정부분을 잠그는 레코드 잠금 기능을 필요로 할 것이다. 특정 레코드영역에 한번에 하나의 쓰레드만 접근하도록 제어해야 하...

dup를 이용한 파일지정번호 복사 

dup를 이용한 파일지정번호 복사dup 함수가 하는일은 실제로 간단하다. 단순히 파일지정번호를 복사하는 일이다. 그런데 솔직히 말해서 "dup는 파일지정번호를 복사하기 위해서 사용한다" 라고 해보았자.. 도대체 이걸 어디에 사용할수 있을지, 절대 감이 오질 않는다.이래서야 쓰고 싶어도 써먹을수가 없으니 보통 슬픈일이 아니다. 그래서 이번문서에서는, 몇가지...

버퍼사이즈가 읽기/쓰기 성능에 미치는 영향 

버퍼사이즈가 읽기/쓰기 성능에 미치는 영향파일을 읽고 쓸때, 한번에 읽어들이는 데이터의 크기에 따라 읽기/쓰기 성능이 달라진다는 것은 상식선에서 알고 있을 것이다. 대략 알고 있는 바로는 1024 바이트 단위로 읽어올 때 가장 효과적인 것으로 알고 있다. 실제, 이러한 우리의 상식이 올바른지를 확인하기 위해서 버퍼 크기에 따른 읽기/쓰기 성능에 대한 자료...

유닉스 파일 다루기 

유닉스 파일 다루기 워낙 오래전 문서다. 업데이트가 필요 할 듯. 2009-12-9Unix 는 모든것이 파일로 이루어진다. 일반적인 텍스트 정보, 바이너리 정보 뿐만 아니라, 소켓, 파이프(FIFO), 장치(device), 디렉토리까지 파일로 관리를 한게 된다. 이러한 개념은 Window 사용자에게는 생소한 개념이 될수가 있다.윈도 있어서 c== 파일 열...

Unix 파일 다루기 2 

파일을 연결(link)에는 "심볼릭 링크" 와 "하드 링크" 의 2가지가 존재한다. 하드링크는 연결을 원하는 원본파일의 inode 를 가지고 파일을 직접 만들지만 (파일복사), linke 는 inode 를 가지고 파일을 만들지 않고, 단지 파일만을 참조한다. 심볼링 링크의 경우 서로 다른 파일시스템 사이를 연결할수 있지만(파일을 단지 참조하는 것이므로), ...

Vim 단축키 

Vim 단축키...

Vim Quick Start 

# vi filename.txt vi는 "Last Line 모드", "입력(input)모드"와 "명령(command)"모드의 세가지 모드가 있다. 노트패드 같은 에디터들은 실행 즉시 편집을 할 수 있지만, vi는 그렇지 않다. 입력모드에서만 문자를 입력을 할 수 있다. Last Line 모드는 ed 모드라고 부르기도 한다. 이하 ed 모드라고 부르겠다.처음...

C 프로그래머를 위한 Vim 사용 : 파일에서 임의의 위치로 이동하기 

Tag는 코드에서 사용되는 논리적인 요소들의 집합을 정렬한 것으로, Tag를 이용하면 C코드를 쉽게 분석할 수 있다. C파일에 사용되는 함수들의 북마크 라고 이해할 수 있다. Tag는 특히, 함수의 원형을 보고자 할때, 유용하게 사용할 수 있다....

C 프로그래머를 위한 Vim 사용 : 빠른 수정 

Vim을 이용해서 프로그래밍을 할 때의 문제점은 편집-컴파일-편집의 무한순환을 반복해야 하는 경우가 발생한다는 점이다. 일반적으로는 편집을 마치고, 편집창을 빠져나온 다음 컴파일을 하고, 컴파일 결과를 보고 다시 Vim 화면으로 가서 필요한 코드를 수정하거나 하는 식이다. IDE와 같이 편집/컴파일 과정이 통합되지 않은 까닭에, 오류메시지를 별도의 창에 가...