본문 바로가기

분류 전체보기

(432)
Any given Sunday 오래 전 Any given Sunday라는 아이디의 뜻을 찾아 보기 위해 인터넷을 검색하면서 우연히 이 영화를 알게 되었다. 그리고 그와 함께 빈스 롬바르디의 명언을 듣게 되고..영화에 대한 궁금증이 더 해갔다. 결국 오늘 영화를 보고야 말았다. 그렇게 재미있는 영화라고는 말하지 못하겠다. 풋볼에 열광하는 미국에서야 인기를 끌었을지 모르고, 쟁쟁한 배우들이 출연해서 인기를 끌었을지는 모르나 결정적으로 뭔가를 어필할 감동이나 사건은 없다. 늙은 감독이 있고, 그 말을 잘 듣지 않는 능력 있는 신예 선수가 감독에 동화 해 가는 과정이랄까? 인생과 풋볼에는 순간의 찰라를 노치지 말아야 한다는 알 파치노의 연설이 일품이다. - 그런데 내가 그렇게 좋아하던 빈스 롬바르디의 말은 영화 처음 시작할때 딱 한번 잠깐 ..
cvs 사용법 1. 기본적인 사용 방법 CVS는 대부분의 Linux 배포본에 포함되어 있으므로 Linux를 사용하고 있다면 이미 CVS가 설치 되어 있을 것이다. 만일 CVS 명령이 없다면 http://www.cyclic.com/에서 적당한 파일을 받아 설치하면 된다. CVS를 이용하는 모든 과정은 cvs 명령을 통해 이루어진다. cvs 명령의 기본 형식은 다음과 같다. $ cvs [cvs 옵션] 명령 [명령 옵션과 인자] 명령 부분에는 실제로 cvs에게 지시할 명령이 오게 되며, 각 명령마다 요구하는 인자가 있을 수 있다. 실제로 사용되는 명령의 종류와 기능에 대해서는 새로운 명령이 소개될 때마다 언급하도록 하겠다. 2. 저장소 초기화 CVS를 사용하기 위해서 가장 먼저 할 일은 각 프로젝트의 파일들을 저장할 저장소..
지름신 강림 시리즈 - 젠하이져 헤드셋 편 가격 : 135,000 원(나름 싸게 주고 샀다고 생각한다.) 후기 : 엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!!엠프를 사야 한다!! 결론 : 지름은 계속 된다. ..
[C++] 전역 변수 extern 키워드 extern 키워드는 '여기서는 선언만 한다. 그 내용은 어딘가에 정의 되어 있다.' 라는 의미를 가지는 키워드 이다. 여기서 '선언'과 '정의'의 개념을 잠깐 살펴보기 전에 함수를 먼저 떠올려 보자. 예를 들어 int sum(int a, int b); int main() { std::cout
오늘의 교훈 내가 생각하기에도 나는 안되는 것을 붙잡고 오래 늘어지는 경향이 있다. 분명히 이렇게 하면 안되는 것을 뻔히 느끼고 있음에도 다시 한번 똑같은 방법으로 대쉬한다. 내가 생각해도 멍청하긴 하나, 막상 하고 있는 동안에는 잘 느껴지지 않는다. 조금만 생각의 방향을 전환해도 답이 바로 옆에 있는데 오로지 내가 처음 한 방법이 맞다고 끝까지 우긴다. '포기'라는 것을 하라는 것은 아니지만, 한 가지가 실패 했을 경우 다른 길로 돌아가는 방법을 찾아 보는것이 더 효율적이고 똑똑한 사람이다. 오늘도 안되는 것을 붙잡고 하루종일 씨름했다. 알고보면 url에 공백문자 하나가 더 들어와서 파서가 파싱을 제대로 못한 것이었는데..그것이 url이 잘못 들어온다는 생각은 하지도 못하고 도데체 뭐가 잘 못된것인지 하루종일 다른..
소켓 강제 종료시 파이프(pipe) 깨짐 상황 : 서버 프로세스가 떠 있고, 거기에는 수많은(이라고 해봐야 1000개 미만)의 클라이언트 들이 물려 있다. 서버는 select로 read 이벤트를 구분하고, 서버의 listen socket은 blocking이다. 정상적으로 동작하다가 클라이언트(테스트 프로그램으로써 수백개의 connection thread를 생성 시켜 서버로 미친듯이 데이터를 주고 받는 놈)를 강제 종료 하면 항상 그런 것은 아니지만 종종 '파이프 깨짐'이라는 에러를 내고 서버가 종료 된다. 문제 : 프로세스는 종료(그것이 타의든 자의든)를 하게 되면 모든 열려있는 파일디스크립터를 닫게 된다. socket 역시 일종의 파일디스크립터이므로 예외는 아니다. 정상적인 수순을 따르자면 1. client가 죽는다. 2. 모든 열린 파일디스..
헤어스타일 바꾸다 내 나이도 이제 어느덧 27이다. 언제나 내 나이 함수의 리턴은 상수 20이라고 외치던 것이 엊그젠데 지금은 수염 더덕더덕 난 완전 아저씨 feel이다. 새해가 밝아 오기전 한 살이라도 더 먹기 전에 하고 싶은 일 한가지를 하자고 마음 먹고 그 동안 생각해 왔던 호일 퍼머를 했다. 하고난 바로 뒤에는 그럭저럭 봐줄만 했는데...보름정도 지나고 나니 영락없는 폐인 개발자 모습이군.. 사진은 회사에서 같이 일하시는 분이 찍어줬다. (나이 값 못한다고 그러기도 하지만...그렇기에 한살이라도 더 먹기 전에 이 머리를 해야만 했다. 그래도 내가 여지껏 한 머리중에서 가장 나에게 잘 어울리는 헤어 스타일 같다)
CentOS 이리 저리 일 좀 할려고 하니 온 동네가 CentOS 업데이트 한다고 난리다. 이래저래 kernel 2.6이 필요 하고 그 중에 만만한 놈이 CentOS/Ubuntoo 정도 인가보다. 그런데 이 놈에게서 심각한 보안 취약점이 발견되었다고 하긴 하나 나야 뭔지 알수 없고. 그래도 CentOS라는 놈이 어떤 놈인지 궁금하여 Google한테 물어 보니 아래와 같은 답을 주는구먼.. Cent OS란 레드헷 계열 오픈소스 프로젝트 중 하나인 CentOS는 Redhat Enterprise Linux AS 기반의 리눅스 배포판입니다.CentOS는 RedHat 또는 Redhat Enterprise Linux 설치단계부터 운영하는 방법등이 거의 비슷합니다. 눈에 띠는 것은 페도라와 마찬가지로 업데이트용 프로그램인 yum..
코드 날려먹다 이런 염병에 우라질... 열라리 짜놓은 코드를 rm 커맨드 한방에 날려 버리다니.. 뭐..어차피 세그폴트 뜨면서 죽는 찌질한 놈이었기에 그렇게 아깝지는 않다만..그래도..lock하나만 걸어 주면 되는 거였단 말이다(만고 내 생각이긴 하지만)... 이것을 기회 삼아 디자인 부터 다시 해보도록 하자 (일단 오늘은 자고...)
Singleton in Multi Thread 들어가며 이번 포스트는 멀티 스레드 환경에서 싱글톤을 사용할 때 흔히 할 수 있는 실수 한가지에 대해서 살펴 보고자한다. 설명을 위해 한가지 상황을 만들어보자. 우리는 지금 부터 싱글톤 이벤트 큐를 만들어야 한다고 가정. 각종 read/write 작업들을 '싱글톤' 이벤트 큐에 집어 넣고, 몇 개의 '스레드'들이 큐를 감시하다, 큐에 새로운 이벤트가 들어 오면 이벤트에 따라 적적한 작업을 해주는 방식인 전형적인 producer/consumer 방식이다. 이 상황에서 중요한것은 '싱글톤'과 몇개의 '스레드'들이다. 그리고 스레드를 만들게 되면 의례 그렇듯이 아래와 같이 레이스 컨디션이 발생하게 된다. 시간 ThreadA ThreadB 1 if(queue.empty()) -> not empty 2 if(qu..

반응형