반응형

전체 글 805

Socket - server 소스. 다중 프로세스 채팅방

/* * http://sosal.tistory.com/ * made by so_Sal */ / * * 리눅스 기반입니다 * TCP/IP AF_INET 외부 네트워크 도메인 기반입니다. * fork() 함수를 이용한 다중 프로세스 원리 기반 채팅방입니다. * 문자열이 자신이 입력한것인지, client가 입력한 것인지 구분하는 ID는 넣지 않았습니다. * exit를 입력하거나 받으면 종료됩니다. * 최대로 보낼수있는. 받을수 있는 문자열의 길이는 MAXLINE 메크로를 통하여 정하였습니다. * 프로그램의 매개변수는 argv[1]로 port번호를 받습니다. * made by sosal. http://sosal.tistory.com/ * / #include #include #include #include #in..

Linux/Linux_Source 2009.11.07

Socket 05. option 소켓 옵션 getsockopt() setsockopt()

/* * http://sosal.tistory.com/ * made by so_Sal */ 소켓에는 다양한 옵션을 부여할 수 있다. 소켓 옵션은 getsockopt() 함수를 통하여 확인할 수 있고, setsockopt() 함수를 통하여 옵션을 부여할 수 있다. #include #include int getsockopt (int socket, int level, int optname, void *optval, socklen_t * optlen); int setsockopt (int socket, int level, int optname, const void *optval, socklen_t optlen); 첫번째 인자 :: int socket :: socket 설명자. 두번째 인자 :: int level..

Socket 04. close() shutdown() 소켓 서술자 닫기

/* * http://sosal.tistory.com/ * made by so_Sal */ #include int close(int file_descriptor); file descriptor로 지정된 파일 서술자와, 그 파일 서술자가 가리키는 실제 파일과의 연결을 차단. write()함수로 파일 쓰기를 수행할 때에는 자료가 실제로 기억되었는지 확인하지 못할 수 있다. 그래서 이런경우에 close의 반환값을 점검한다. 성공시 0, 실패시 -1 반환. #include int shutdown() :: 부분닫기 소켓 함수로 생성된 파일 서술자에는 (소켓 버퍼라고도 한다.) 송신 버퍼와 수신 버퍼 두가지가 열려있는데, shutdown()함수로 각각의 부분적 연결을 차단 가능. flags :: SHUT_RD 수신..

시간은 금이요

일찍일어나는 새가 먼저 쳐 잡순다라는 얘기가 나오기도 했으니, 그냥 생각나는게 더 있어서. 일새잡 이라든지 시금 같은 격언은 자본주의가 정착하려는 시점에서 나온 격언이야. 대충 알고 있겠지만 말씀.. 농촌에서 일하다가 할일이 사라져서 도시공장으로 모인 얘들을 보니까.. 졸라 시간관념이 없거든.. 당연히 없겠지!! 자본이 집적된 공장의 경우 이익을 창출할려면 그 회전율을 높여야 되는데, 존나 시간관념없는 농부얘들을 부려먹을려면 애로사항이 꽃필거아냐. 공장의 회전율은 하루, 한시간 단위 아니냐. 근데 농부들의 회전율은 절기 단위란 말이야. 일이 안되. 그래서, 자본가들은 저러한 격언을 만들어내고 근대적 시간관념을 갖다가 농부들에게 내면화 시킬려고 한거야. 일찍일어나는 새가 먼저 쳐잡수고, 거기다 시간은 금이..

Stigmatized./Essay 2009.11.05

기획자와 개발자

기획자와 개발자는 개와 고양이 같다라는 얘기를 많이 해. 기획자는 개 개발자는 고양이. 기획자는 개새끼 개발자는 고양이새끼 ? 둘이 맨날 투닥거리는 이유에 대해서 생각해 볼까해. 일단 기획자얘들은 집단극화가 일상적으로 벌어지는 집단이야. 원래 아이디어는 무궁무진하고 물리적 제한을 받지 않잖아. 거기다가 혼자서 생각할적에는 매우 어렵게 생각되던 기능 도, 여럿이 머리를 맞대면 굉장히 쉬워보이는 효과가 생겨. 왜 그런거 있잖아. 들어갈때는 똥누러 가는 마음이였는데, 서로서로 으쌰으쌰 하다보니까. 어느덧 파티장으로 바뀌는 거. 세상 모든게 내것 같고, 모든걸 다 구현할 수 있을거 같고 다 잘될거 같지. 아싸!! 하면된다... 이걸 집단극화라고 하는데, 이거 땜에 기획자들끼리 기획하면 비합리적인 일정과 기능추가..

Stigmatized./Essay 2009.11.05

사람답게 살아보기

음.. 글쎄.. 일단 트랜드를 따라가는 삶은 버려라. 노동자에게 적당한 혜택을 주어서 구매력을 높이고 상품의 소비로 이어지게 한다. 이게 포디즘아니냐. 근데 이게 문제가 되는게, 기술이 발전할수록 제품도 졸라 좋아져서 엥간해서는 고장이 안나. 그러면 상품소비가 줄어들수 밖에 없으니.. 어떡하냐.. 물리적 내구력대신 심리적인 내구력의 개념 즉 트랜드라는 것을 만들어서, 제품수명이 다하기 전에 제꺼덕 소비를 하게 만들어낸거지. 대중매체들을 보면 이렇게 트랜드를 따라 생활하는 얘들을 "얼리아답터"라고 해서 매우 긍정적인 삶의 방식인 것으로 보여주지. 그렇게 살지마라.. 긍정적인 삶 아니다. 새로운걸 쫓는 것 != 새로운 상품을 구입하는거. 지름신 같은거 경계해라. 사람답게 사는 길이다. 다 형들을 일하는 노예..

Stigmatized./Essay 2009.11.05

프로그래머는 세계관이 좁은 경우가 많다.

뉴욕에서 실제 있었던 일이다. 한 경관이 있었는데, 원리원칙대로 업무를 처리하는 스타일이였다. 얘가 주차단속을 하게 되었는데, 모든 도로에 있는 모든 불법주차라고 생각되는 차들에 딱지를 붙였다. 결국 시 외곽으로 좌천.. 원리원칙대로 아주 부지런하게 일했는데, 왜 좌천되었을까 ? 불법주차단속은 "상징"이라는 걸 이해하지 못한 "하드한(딱딱한) 마음을 가진" 사람이기 때문이였다. 세계는 상징이라는걸 이해하지 못하면 저런 경관같은 삶을 살게 되는 거다. 위에 법을 예로 들었으니, 법으로 설명하자면 법은 집행그 자체가 목적인 시스템이 아니다. 상징적인 시스템이지. 이걸 이해하지 못하는 얘들이 쟤도 꽁초버렸는데 왜 나만 잡삼? 쟤들도 불법주차하는데 왜 나만 잡삼 ? 다른 얘들도 술마시고 운전하는데 왜 나한테만 ..

Stigmatized./Essay 2009.11.05

cp. 파일 복사 프로그램 copy

/* * http://sosal.tistory.com/ * made by so_Sal */ cp.c 파일 복사 프로그램 소스입니다. 가장 기본적인 소스입니다. #include #include #include #include #include #include int main(int argc,char* argv[]){ if(argc!=3){ printf("%s [file name] [copy file name]\n",argv[0]); exit(0); } char *cmd1; char *cmd2; cmd1 = argv[1]; //file name cmd2 = argv[2]; //copy file name char block[BUFSIZ]; int in, out; int nread; in = open(cmd1,O..

Linux/Linux_Source 2009.11.01

Linux 간단한 ls 디렉토리 출력 프로그램 구현

/* * http://sosal.tistory.com/ * made by so_Sal */ LINK 2){ perror("Usage :: _ls [Directory] \n"); exit(EXIT_FAILURE); } char* position; position = argv[1]; // 메인함수는 디렉토리 목록을 출력할 위치를 _ls(position,0); // 인자로 받아 _ls 함수의 매개변수로 전달하는 일만 수행합니다. exit(0); } void _ls(char* pos,int depth){ //depth는 처음 0이고, 디렉토리 출력중 새로운 디렉토리를 만나면 //depth를 증가시켜 재귀적으로 함수를 다시 호출합니다. DIR *dp; // 실제 파일을 가리키는 포인터 struct dirent *..

Linux/Linux_Source 2009.11.01
반응형