분류 전체보기(422)
-
[Python] 날짜를 시간으로 바꾸기
DB로부터 날짜 정보를 가져오고, DB 날짜에 임의의 수를 더한 후 현재 시간이랑 비교해야 하는데 이걸 어찌해야 할까... 고민 중..검색 하던 중 time.mktime() 이란 함수 발견..mktime은 1970년 이후의 날짜를 초단위로 계산해서 값을 숫자로 리턴해주는 기능을 하고 있다.어짜피 내가 하려고 하는 기능 역시 DB에 저장된 날짜 정보 값에 일정 초를 더한 값이 현재 값보다 큰지 작은지만확인하면 되는 것이었기 때문에 냅다 바로 사용!import time num = time.mktime((2013, 7, 4, 12, 20, 20, 0, 0, 0)) # 년, 월, 일, 시, 분, 초, (뒤에 세 개는 몬지 잘 모르겠음 -_-;;)
2013.07.04 -
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.07.01 -
쉘 정렬(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.06.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.06.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.06.20 -
병합정렬(Merge Sort)
전체 원소를 하나의 단위로 분할한 후 분할한 원소를 다시 병합하는 정렬 방식. 1. 분할 아래 그림과 같이 배열 집합을 하나의 원소 단위로 각각을 분할한다. 2. 병합 분할된 각각의 원소에 대해 서로의 쌍을 비교하여 sorting 후 병합한다. 3. Sorting 과정. 병합시의 Sorting 과정을 살펴보면 우선 병합하려고 하는 크기의 메모리를 할당한 다음, 두 개의 원소에 대해 각각을 비교하여 할당된 메모리에 집어넣는다. 그림을 보며 설명하는게 더 나을지도.. 1. 0,3,8 과 1,2,4에 대한 병합 작업이 이루어지고 있다. 두 배열을 합치면 총 6의 공간이 필요하기 때문에 6의 메모리 배열을 새롭게 만들어 두고 작업을 진행한다. 각 배열의 제일 왼쪽 원소부터 서로 비교한다. 두 개의 원소 중 작은..
2013.06.19