본문 바로가기

전체 글418

Crontab Unix에서 사용되는 자동 스케쥴러.. 특정 스크립트를 주기적으로 사용하고자 할 때 사용할 수 있다. >> crontab -l [등록된 스케쥴러 출력]>> crontab -e [등록된 스케쥴러 수정]>> crontab -r [등록된 스케쥴러 삭제] >> crontab -u [관리자가 다른 사용자 crontab을 접근할 시] Crontab 등록 방법.1. 프롬프트에서 crontab -e 입력.2. vi 편집기가 열리면 i 누르고 아래 형식대로 입력.[분] [시간] [일] [달] [요일] [명령어] // [분] : 0 ~ 59 [시간] : 0 ~ 23 [일] : 1 ~ 31 [달] : 1 ~ 12 [요일] : 1 ~ 7 [명령어] : 쉘 명령어ex ) * * * * * /home/user1/test.sh /.. 2013. 7. 1.
쉘 정렬(Shell Sort) 삽입 정렬의 단점을 보완한 정렬 방식. 삽입 정렬의 단점??? 삽입 정렬은 한칸씩 이동하면서 비교하기 때문에 만일 가장 멀리 떨어진 곳에서 비교가 이루어진다면 이동 시 많은 오버헤드가 발생할 수 있다. 그 단점을 보완하기 위해 만들어진 방식!! 그림과 함께 살펴보도록 하자 1. 주어진 배열에 대해 반으로 쪼갠 후, 쪼갠 블록을 각 쌍으로 삽입 정렬을 시행한다. 예를 들면 {3,2}, {8,1}, {0,4} 가 쌍으로 삽입 정렬이 실행되고 결과는 {2,3}, {1,8}, {0,4} 로 나타날 것이다. 2. 삽입 정렬이 완료된 블록에 대해 다시 반으로 쪼갠 후, 쪼갠 블록의 각 index를 다시 삽입 정렬로 정렬한다. {2,1,3,8}, {0,4} => {1,2,3,8}, {0,4} 3. 결과에 대해 다시 .. 2013. 6. 24.
삽입정렬(Insert Sort) 가장 작은 범위를 만든 후 해당 범위에서 가장 작은 수를 왼쪽으로 이동시키고, 점점 범위를 넓혀가며 범위 내에서 작은 수를 점차적으로 왼쪽으로 이동시키는 방법. 말로 설명하기엔 역시나 어려움이 따른다. -_- 하지만 직접 그림을 보거나 코드를 보면 금방 이해가 갈 것이다. 1. 처음에는 가장 최소 단위인 2개의 블록만 범위로 잡는다. 기존의 3이란 값에 8을 비교해야 하는 상황이다. 3과 8을 비교하면 8이 더 크기 때문에 따로 swap이 일어나지 않는다. 2. 범위를 3개로 넓힌다. 0이란 값이 새로 첨가된 상황이다. 0과 8을 비교한다. 0이 더 작기 때문에 0 위치에 8을 집어넣는다. 3. 0을 3과 비교한다. 0이 더 작으므로 0 위치에 3을 집어 넣는다. 범위 마지막 위치이기 때문에 현재 위치에.. 2013. 6. 21.
[C] C에서 문자열 처리 C에서 프로그래밍 시 C++이나 JAVA, C#과는 다르게 문자열 처리하는 방식에 대해 일반적으로 포인터를 이동해서 캐릭터 단위로 처리하는 방식으로 많이 구현해왔다. C에서도 문자열 처리하는 함수가 있는데 굳이 이렇게 날코딩 해야하나~~~ 그래서 C에서의 문자열 처리 함수에 대해 알아보기로 했다. 우선.. 문자열에 해당 문자가 포함되어 있는지를 알기 위한 함수. char* strstr(const char* 대상 문자, const char* 찾고자하는 문장) 사용 방법은 다음과 같다.char *str = "test program"; char *find = strstr(str, "pro");만약 해당하는 문자열이 검색이 안될 시 find 값은 NULL을 나타내게 되어 있으며, 해당 NULL을 이용하여 exc.. 2013. 6. 20.
병합정렬(Merge Sort) 전체 원소를 하나의 단위로 분할한 후 분할한 원소를 다시 병합하는 정렬 방식. 1. 분할 아래 그림과 같이 배열 집합을 하나의 원소 단위로 각각을 분할한다. 2. 병합 분할된 각각의 원소에 대해 서로의 쌍을 비교하여 sorting 후 병합한다. 3. Sorting 과정. 병합시의 Sorting 과정을 살펴보면 우선 병합하려고 하는 크기의 메모리를 할당한 다음, 두 개의 원소에 대해 각각을 비교하여 할당된 메모리에 집어넣는다. 그림을 보며 설명하는게 더 나을지도.. 1. 0,3,8 과 1,2,4에 대한 병합 작업이 이루어지고 있다. 두 배열을 합치면 총 6의 공간이 필요하기 때문에 6의 메모리 배열을 새롭게 만들어 두고 작업을 진행한다. 각 배열의 제일 왼쪽 원소부터 서로 비교한다. 두 개의 원소 중 작은.. 2013. 6. 19.
퀵 정렬(Quick Sort) Sorting 알고리즘 중 가장 효율적이고 빠른 방식. 이름 자체에서도 퀵이란 명칭이 붙을 정도로 가장 많이 사용되고 가장 잘 사용되는 방식이다. 1. 먼저 PIVOT 계수를 정한다. PIVOT 계수는 임의로 선정할 수 있으나, 중간 크기의 숫자를 PIVOT 계수로 선정하는 것이 가장 효율적이기 때문에 대부분 3개의 임의의 숫자를 랜덤으로 선택한 후 3개 중 가운데 값을 PIVOT 계수로 정한다. 2. PIVOT 값과 LEFT 값을 비교한다. 만약 LEFT 값이 PIVOT 값보다 크다면 PIVOT 값과 RIGHT 값을 비교한다. RIGHT 값이 PIVOT 값보다 크다면, RIGHT 인덱스를 왼쪽으로 위치시킨 후 다시 PIVOT 값과 비교한다. 3. RIGHT 값이 PIVOT 값보다 작다면, LEFT 값과.. 2013. 6. 18.
[JavaScript] 세션과 쿠키 세션과 쿠키.. 개발을 하면서 주위로부터 듣기는 많이 들은 단어인데 막상 설명하라면 몬지 잘 모르겠다 -_-;;그래서 이번 기회에 두 개에 대해 정리하기로..일단 세션..세션이란 클라이언트와 서버가 통신하는 기간을 의미한다.그럼 왜 세션을 이용해야 하는 것일까?기본적으로 웹 통신은 한번의 요청과 한번의 응답이 진행되면 그 세션은 종료되었다고 말할 수 있다.그럼 다시 로그인을 해서 인증을 받고 다시 통신을 진행해야 하나??이것을 방지하기 위해.. 세션ID라는 것을 사용한다.클라이언트가 처음 접속하였을 때 서버는 해당 클라이언트에 유일한 세션ID를 부여하고 클라이언트는 서버에 요청을 할때마다 이 세션ID를 사용하여 요청을 하게 되는 것이다.이렇게 되면 서버에서는 클라이언트가 누군지 다시 찾을 필요가 없고 계.. 2013. 6. 15.
리눅스 파일 찾기 현재 디렉토리에서 파일 찾기. >> find -name '파일명' 루트에서부터 파일 찾기.>> find / -name '파일명' 루트에서부터 디렉토리 찾기.>> find / -name '디렉토리명' -type d 2013. 6. 14.
버블 정렬(Bubble Sort) 물 속에서 거품이 올라오는 모습과 비슷하게 정렬한다고 해서 붙여진 이름.왼쪽 끝에서부터 인접하는 두 개의 값을 비교하여 교환하는 방식으로 오른쪽 끝까지 가는 방식.구현은 쉽지만 상당히 비효율적인 정렬 방식으로 꼽히고 있다.원본 리스트 3 8 0 1 4 [STEP 1] 3 8 0 1 4 - 3과 8을 비교. 8이 더 크므로 변화가 없어도 된다. 3 8 0 1 4 - 그 다음 8과 0을 비교. 0이 더 작으므로 8과 0을 교환한다. 3 0 8 1 4 - 8과 1을 비교. 1이 더 작으므로 8과 1을 교환한다. 3 0 1 8 4 - 8과 4를 비교. 4가 더 작으므로 8과 4를 교환한다. 3 0 1 4 8 - 이로써 한 스텝이 끝났다. 다시 처음부터 비교를 한다.[STEP 2] 3 0 1 4 8 - 3과 0을.. 2013. 6. 11.