- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록★─Programing (620)
드럼치는 프로그래머
프로세스 란? - 실행중인 프로그램 - 프로세서(cpu)에게 할당된 개체 - 프로세스는 순차적 실행 - 프로세스 제어 블록에 의해 관리 된다. 이는 나중에 알아 보도록 하자. 작업스캐줄러 역활 -작업을 시스템 내로 넣는 작업 으로 상위 단계 스케줄라 라고도 한다. -작업을 선택하여 준비 큐에 전달 하고, -가능한 시스템 자원의 사용을 극대화 할 수 있도록 작업을 배치 한다. -I/O 위주의 작업(I/O사이클)과 연산위주의 작업(cpu사이클)을 균형있게 선택하는 것이 좋다. I/O 작업이 많으냐 cpu작업이 많으냐에 따라 입출력 바운드 작업이냐 cpu바운드 작업이냐로 부른다. 프로세스 스캐줄러의 역활 -하위 단계 스캐줄러 라고도 부르며 -cpu를 언제 얼마나 사용 할 것인지를 결정한다. -준비큐에 있는 작..
/* 함수 : 날짜 관련 함수. -> (time, localtime, asctime, tm) 2005년 11월 07일 Son Byeong Hun cidsang@naver.com */ #include #include void main(void) { time_t time1; //time_t형 변수 time1 선언 struct tm * time2; //tm구조체 time2 선언 char *str; int nowYear, nowMonth, nowDay, nowHour, nowMin, nowSec; time(&time1); //time함수를 이용해 현재 시간을 가져온다. time2 = localtime(&time1); //tm 구조체를 이용해 시간을 표현하기 위해 localtime 함수를 사용. str = cti..
#include size_t fread(void *ptr1, size_t size, size_t obj, FILE *fp); size_t fwrite(const void *ptr2, size_t size, size_t obj, FILE *fp); return : number of object read or written. 우선 짚고 넘어가자. fprintf()나 fscanf()의 경우에는 특정 데이터를 형태별로 입/출력한다. 즉 %d나 %c형으로 읽고 쓸 수 있다는 점에서 text파일용으로 사용을 많이 한다. 하지만, fread()나 fwrite()의 경우에는 사용자정의 데이터타입(구조체나 define된 것등)등을 스트림형태로 입/출력(컴퓨터에서 있어서는 데이터란 문자, 숫자로 나뉘는 것이 아니라 연속 ..
가장 간단하게 파일을 만들어서 거기에 무언가를 쓴다고 하자. 대충 이렇게 될 것이다. FILE *pf = NULL; fopen_s( &pf, "Test.txt", "wt" ); if( !pf ) return 0; fwrite( writeData, sizeof(writeData), 1, pf ); fclose( pf ); 이렇게 하면 writeData 의 내용이 Test.txt 파일에 쓰인다. 문제는 텍스트로 쓰인다는 것이다. 그냥 일반 메모장으로 열면 안의 내용이 눈에 들어오는 텍스트이다. 텍스트는 무엇이 쓰인건지 그 자리에서 확인이 가능하기에, 디버깅에 좋지만 용량이나 속도면에서는 바이너리를 쫓아가지 못한다. 물론,무엇이 쓰여져 있는지 알수 없으니 보안에도 좋다. 그래서 바이너리로 바꾼다고 하자면, F..
파일 확장자가 txt 인 파일을 우리는 흔히 텍스트 파일이라 부른다. 그리고 바이너리 파일의 대표는 exe 파일이 있다. 그럼 이 두가지 파일의 차이점이 무엇일까?? 말그대로 텍스트 파일은 글자를 그대로 저장한다는 말이고 바이너리 파일은 2진법의 형태로 저장했다는 말이다. (물론 텍스트 파일도 2진법(바이너리)으로 저장되긴 하지만 ASCII코드표대로 저장된 파일을 특별히 텍스트 파일이라 부른다.) 이게 무슨 말인가?? 글자를 표현하는데에는 ASCII 코드라는 코드표가 사용된다. 이 아스키 코드는 1바이트 (8bit) 로 하나의 문자를 표시한다. 예를 들면 영문자 'A'를 아스키 코드로 표시하면 십진수 65, 이진수(bit) 01000001 로 표시된다, 'B'는 십진수 66, 이진수 01000010 이다..
'\r' 은 아스키값 0x0d (텍스트문장에서 맨앞으로 이동하는 특수문자) '\n'은 아스키값 0x0a (텍스트문장에서 다음 줄로 이동하는 특수문자) 로 사용합니다. 도스, 유닉스, 윈도우 등 OS의 파일 시스템에 따라 텍스트 개행문자가 특성이 조금 다릅니다. 윈도우에서는 보여주는것은 \r 이 있든 없든 보여주는것 같던데... 예전에 그래픽모드가 거의 없던시절에 (MSDOS시절 거의 텍스트문서로 이루어질때) printf ("abcdefg\rhi"); 화면표시결과는 abcdefg 표시후 맨앞줄로 이동후 hi를 표시하면 hicdefg 로 나타나고, printf("abcdefg\nhi"); 화면표시결과는 abcdefg 표시후 다음줄로 이동후 hi를 표시하면 abcdefg hi 위에서 g 바로밑 다음부터 hi임..
순위 연산자 결합순서 1 ( ) [ ] -> . 왼쪽 우선 2 ! ~ ++ -- + -(부호) *(포인터) & sizeof 캐스트 오른쪽 우선 3 *(곱셈) / % 왼쪽 우선 4 + -(덧셈, 뺄셈) 왼쪽 우선 5 > 왼쪽 우선 6 = 왼쪽 우선 7 == != 왼쪽 우선 8 & 왼쪽 우선 9 ^ 왼쪽 우선 10 | 왼쪽 우선 11 && 왼쪽 우선 12 || 왼쪽 우선 13 ? : 오른쪽 우선 14 = 복합대입 오른쪽 우선 15 , 왼쪽 우선 ※ 순위끼리 봤을 때, 왼쪽에 있는 것이 더 순위가 높다. (++가 *보다 우선순위가 높다) int* a; int b = 3; a = &b; *a++; // *(a++)과 같은 결과다!!! [출처] 연산자 우선순위|작성자 스커드
Iterative 서버: 클라이언트의 서비스 요구를 순서대로 처리해 주는 서버이다. request 처리시간이 짧거나 별로 문제가 되지 않는 경우에 사용한다. 이 서버는 프로그램 구현이 비교적 간단하지만 서비스를 순서대로 처리 할 때 처리 시간이 빠른 서비스가 처리 시간이 느린 서비스뒤에 올 경우 기다리는 시간이 길어 진다. 일반적으로 각 서비스의 처리 시간이 짧을 때 사용한다. concurrent 서버: 여러 요구를 동시에 서비스 할 수 있는 서버이다. 새로운 클라이언트가 접속 될 때마다 서비스를 담당할 프로세스를 새로 만드는 방법이 있으나 이 방법은 클라이언트 수가 늘어남에 따라 프로세스 수도 계속 늘어나게 된다. 그래서 실제로 많은 클라이언트를 처리 해야 할 경우에 프로세스는 하나만 이용하여 여러 서..
이 카테고리의 처음에 있는 TCP/IP 소켓 프로그래밍의 기본흐름(http://blog.naver.com/floveahn/52261183)에서는 아주 단순한 기능으로 서버프로그램이 실행되고, 클라이언트 프로그램이 실행이 되면, 클라리언트에서 연결요청을 하고 연결이되면, 서버프로그램에서 보내주는 "Hello World!!"라는 문자열을 받아서 출력해주고 있다. 여기서 서버프로그램은 클라이언트의 연결 요청을 받고, 연결 요청을 수락하고, 클라이언트로 문자열을 보내고 종료가 된다. 여기서 한단계 나아가 서버프로그램은 계속 실행이 되면서 클라이언트의 요청을 받아 들이고, 연결되는 클라이언트마다 "Hello World!!"라는 문자열을 반복적으로 보내주는 서버 프로그램을 프로그래밍 해보자. 윤성우씨 책에 나와있는..
#include #include #include #include #include #include int main(int argc, char** argv) { // char *serv_port = "8080"; char *str; struct sockaddr_in addr_ip_address; socket(PF_INET,SOCK_STREAM,0); memset(&addr_ip_address, 0, sizeof(addr_ip_address)); addr_ip_address.sin_family = AF_INET; addr_ip_address.sin_addr.s_addr = htonl(INADDR_ANY); printf("INADDR_ANY : %s\n",INADDR_ANY); str = inet_ntoa(ad..