Primary Key 는 Constraints(제한,제약 적)이고 Unique는 인덱스입니다.
이말은 Primary Key는 암묵적으로 Not Null Constraints(Null 을 사용할수없음)을 갖습니다.
그리고 Unique는 컬럼에 Null 값을 인정한다고 가정합니다.

따라서 만일 select count(*) from table_1 이라는 sql 의 경우
테이블에 Primary Key 가 없는 한 Table Full Scan 을 하게 되고
만일 Constraints가 존재하는 경우 index Fast Full Scan 을 하게 됩니다.
Posted by 빨강토끼
,
이야기는 이렇습니다.
어느날 http://some:81/svn/AAA/trunk/ 라고 쓰던 저장소를
http://some:81/svn/BBB/trunk/ 라는 곳으로 옮기자고 이야기가 나왔습니다.
관리자는 단순히 BBB라는 Repository 만 만들어놓고 손놓구 있고
사용자인 제가 client에서 옮겨야되는 상황이었습니다.
물론 새로만든 Repository는 비어있구요.
relocate 를 해도 그리고 switch를 해도 아래와 같은 에거 가나면서 잘안되는 것이었습니다.

relocate UUID(XXXXXXX) doesn't match

저장소의 UUID가 달라서 옮길수없다는 내용이었습니다.

이렇게 해결했습니다.

새로운 폴더를 만들거나 기존 svn정보가 남아있는 폴더를 선택후
Export 를 해서 저장소에 있는 소스들을 백업을 한후
그것을 새로운 저장소에 등록하였습니다.
(몰론 과거의 작업log는 사라졌습니다.)

혹시 전에 작업에 대한 History도 남기고 싶다면....
구글을 찾아보세요^^
Posted by 빨강토끼
,
아무리 인터넷을 뒤져도 리눅스프로그래밍상에서 폴더를 만드는 방법을 찾을 수 없어서
고생했습니다.
(갑자기 생각나서 구글을 뒤져보니 구글에선 검색이 되는군요...ㅡㅡ);

mkdir() 을 쓸것 같긴한데...
무엇을 include 하지?

간단합니다.
#include <sys/stat.h>

mkdir(const char* dirName, mode_t mode);

이상입니다.
Posted by 빨강토끼
,
메모리는 디스크보다 (10의5승 ~ 10의6승)배 이상 빠릅니다.
Posted by 빨강토끼
,
1+2+3+4+.......100 = ?
식은 이렇습니다.

((1+100)*100)/2

공식으로 표현하자면

(S+E)*(N/2)

S는 시작값
E는 마지막값
N는 갯수(S부터E까지)
2는 그수만큼 나눠야되서.....

그냥 외우세요....
자세한 설명을 원하신다면....구글을....
Posted by 빨강토끼
,
Jira : 전회사에서 사용했었음. 손에 익었고 10명까지는 10$ 뿐이지만 어쨌든 유료라는 점에서
회사사람들을 설득 시키는것이 귀찮음....

Mantis : 전전회사(-.-)에서 사용했었음. 아릇한 기억엔 쓰기 귀찮았었음

Redmine : UI가 깔끔하고 Ruby On Rails 기반이라고 합니다.
Posted by 빨강토끼
,
코딩을 마치고 컴파일을 하게되면 실행가능한 프로그램이 만들어지는데
프로그램을 실행할때 만들어지는 것이 프로세스입니다.
프로그램을 실행하면 운영체제는 하드디스크에 있는 프로그램을 있는 그대로
실행하지 않고 프로그램을 메모리에 복사하고 그 복사한 프로그램의 이미지를 실행합니다.
그러므로 한프로그램을 여러번 실행시킬수가 있습니다.

그때 멀티프로세스 운영체제는 동시에 여러개의 프로세스를 관리하기 위하여 유일한 일련번호를
부여하는데 이것을 PID(Process ID)라고 합니다.

리눅스에서는 ps -aux 라고 입력하고
윈도우에서는 tasklist 라고 입력하면
포로세스 목록을 볼수있습니다.

Posted by 빨강토끼
,
윈도우용 gVim에서 UTF8과 CP949를 동시에 쓰려면
set tenc=korea
set fileencodings=utf-8,korea
라고 gVim이 설치된 프로그램 폴더_vimrc 파일의 내용을 추가해주면 됩니다.

터미널(여기서는 쉽게 말해서 윈도우 gVim 편집창) 인코딩은 CP949를 사용하고
UTF-8로 파일열기를 시도하고, 안되면 CP949로 엽니다.
CP949로 열린파일은 CP949로 저장되고
UTF-8로 열린파일은 UTF-8로 저장됩니다.

하나더!
그럼에도 만일 리눅스에서 작성한 문서를 편집하려고 하는데
한글이 깨져보이고 :set enc=utf-8 을 입력하면
이번에는 메뉴와 에디트메시지가 깨지고
iconv.dll 을 설치하고도 문제가 해결되지 않는다면
설치할때 support other languge(?) 를 선택해제해서
설치하면 영어버젼으로 gVim 이 설치되는데 메뉴나 에디츠메시지가 깨지는 문제가
없습니다.(당연히 한글대신 영어가 출력되므로....^^)
Posted by 빨강토끼
,
WinMerge를 사용하여 소스중 다른부분이 있는 파일들을 압축하거나
다른 이유로 압축기능을 사용할있이 있습니다.

그러데 그걸 사용하려면...
추가로 plug-in을 깔아줘야됩니다.


어렵게 어렵게 사이트에 들어가서 http://winmerge.org/downloads/
다운을 받아서 설치를 해도 잘안되고....

일단 페이지의 아래에 Project File Releases 에서
최신 버전의 Merge7zInstaller 를 다운받습니다.
Merge7zInstallerXXXX-XXX-XXX.exe 입니다.

그리고 나서 실행을 한후에 아래와 같이 선택을 해줍니다.


그리고 사용하시면 됩니다.
왜냐고 묻지마세요...ㅡㅡ;
Posted by 빨강토끼
,
탭설정등을 하기위하여 인터넷의 문서를 찾아보면 $HOME/.vimrc 를 수정하라고 나오는데
아무리 찾아봐도 보이지가 않습니다.

사실은....
그냥 없으면 만들어 주면됩니다.

vim ~/.vimrc 를 해서 만들어주세요.

이만...ㅎㅎ
Posted by 빨강토끼
,