분류 전체보기
-
How to install git on ubuntu개발하면서/etc 2010. 12. 7. 20:03
제목을 영어로 한 이유는... 구글링에 How to Install git on ubuntu로 검색한 결과를 포스팅 하기 때문입니다...자료가 엄청나네요...어휴... 자료를 보면서 제가 설치했던 과정을 기록하려고 합니다. web에서 git의 기록들을 보고 싶다면 우분투에서 gitweb 설치 방법 git 명령어 (이건 좀 대박인듯...) git 명령어 모음 git 사용설명서 (한글) 자신의 컴퓨터에 git 호스팅을 설치해보자~!! pro git 번역 이 자료 좀 짱인듯...ㅜ,ㅜ (영어의 필요성 절감...) 마지막 하이라이트 소스 코드 개발 + 소셜 네트웍 기능이 가능한 Github 입니다. github 등록 방법 제가 C를 주로 사용하는데 Github에 있는 프로젝트 중에 redis가 재밌어 보여서 분석..
-
[Algorithm] Brute Force개발하면서/Algorithm,DS,PS 2010. 12. 3. 12:42
가장 간단한 알고리즘입니다. 만약 찾고자 하는 패턴은 ABTBA, 원본 텍스트는 AAABTABTBAB일 경우 아래 그림과 같이 비교를 합니다. 아래와 같은 방법으로 문자열을 찾습니다. 패턴첫글자와 원본을 비교하면서 일치가되는것을 찾습니다. 일치가 되었으면, 다음글자가 일치되는지 확인하고, 중간에 일치하지 않는다면 바로 다음칸으로 이동해서 다시 패턴 첫 글자부터 일치여부를 판단합니다. 구현이 간단하지만 비효율적인 문자열 검색 알고리즘 이네요. int main() { char str[12] = "AAABTABTBAB"; char pattern[5] = "ABTBA"; int i = 0; int j = 0; for (; i < 11; i++) { for (; j < 5; j++) { if (str[i+j] !..
-
[Algorithm] Binary Heap개발하면서/Algorithm,DS,PS 2010. 12. 2. 23:12
Heap 이란? complete binary tree이고, 부모 노드는 항상 자식 노드보다 크거나 같음을 만족하는 자료구조이다. 출처: http://code.cloudkaksha.org/binary-tree/types-binary-tree 위 사진은 binary tree의 3가지 타입을 보여준다. full binary tree는 잎 노드를 제외한 노드들의 자식 노드가 0개 혹은 2개인 트리를 말한다. complete binary tree는 마지막 level을 제외한 모든 level에 노드가 채워져 있고 마지막 level은 최소한 왼쪽으로 노드가 채워진 트리를 말한다. perfet binary tree는 잎노드를 제외한 모든 노드들의 자식 노드가 2개인 트리를 말한다. 노드의 개수는 2^n-1개 있다.(n..
-
[Algorithm] Binary tree개발하면서/Algorithm,DS,PS 2010. 12. 2. 22:56
이진트리란 ? 모든 노드의 자식노드가 2개 이상을 넘지 않는 트리를 말한다. 왼쪽자식노드는 부모노드의 값보다 작이야 하며 오른쪽 자식노드는 부모노드의 값보다 커야한다. 이진트리 의 종류 모든 레벨의 노드가 꽉 차있는 트리를 말한다. Full Binary Tree의 총 노드수는 2 ^ n -1 이다.(n은 마지막 레벨) 높이가 h인 트리의 경우 h-1까지는 모두 채워져있고 마지막 높이 h는 다 채워져있지는 않지만 왼쪽에서 오른쪽으로 순서대로 채워져있는 트리 이진트리를 순회하는 방법은 preorder, inorder, postorder가 있다. 루트 방문순서를 기준으로 이름이 붙여진것으로 이해하면 좋다 pre : 처음, in : 중간, post : 나 쓰레드 이진트리란 ? 이진트리를 구성하다보면 null 포..
-
[Algorithm] Tree 기초개념개발하면서/Algorithm,DS,PS 2010. 12. 2. 22:52
>다양한 트리를 배우기전에 트리에 나오는 명칭에 대해 알아보는 시간을 가져보자. node란 A, B, C, D, E, F, G, H, I, J, K, L처럼 데이터를 가지는 분기점을 말하고, node와 node사이의 연결선을 edge라 한다. B의 parent node는 A 이며, parent node가 없는 node를 root라하며 여기서는 A이다. B의 child는 E, F 이다. degree(차수)란 child node의 수를 말한다. A의 Degree는 3, C의 Degree는 1이다. leaf node란 child node를 가지지 않는 node로서, 여기선 K, L, F, G, M, I, J 를 말한다. B 의 subtree는 위 그림과 같이 E, K, L과 F 이다. level이란 root ..
-
Google calendar 팁개발하면서/etc 2010. 12. 1. 21:42
일정같은건 Google calendar를 사용하는데 어느날 켈린더를 연 상태에서 실수로 w를 눌렀더니.....와우~!! 단축키가 있었다니~!! 그래서 하나하나 누르면서 알아보기로 했습니다. ㅎㅎ w : 주간단위로 보기 m : 월간 단위로 보기 d : 일일 단위로 보기 r : reload s : 켈린더 환경설정 a : 등록한 일정들 모두 펼치기 x : 4일 단위로 보기 c : 일정 등록하기 j, n : 미래이동(ㅋㅋㅋㅋ) p,k : 과거이동 미래이동, 과거이동은 어떻게 표현할까......고민에 고민을 하다가 정했습니다. 눌러보시면 아실거에요. 검색해보니 이런게 있었군요......흑흑 calendar shortcuts http://www.google.com/support/calendar/bin/answer...
-
[패스트캣]1. 시작하기개발하면서/코드보면서 2010. 11. 24. 21:42
국내 오픈소스 검색엔진 Fastcat이 1차 개발이 완료되었습니다. 포스팅해야지 해야지 하다가 드디어 처음 시작하기를 하게되었네요. 이번 포스팅에서는 검색하는 방법에 대해 알아보겠습니다. 처음 sample Collection을 검색하기까지의 순서를 보겠습니다. 1. http://getfastcat.org 에 들어간후, 무료 다운로드를 클릭합니다. 2. 받은 파일을 압축을 풀고 폴더안에 start.cmd를 실행합니다. 검색서버가 실행됩니다. 3. http://localhost:8080/admin에 접속을 하고, Execute Job항목을 들어갑니다. 4. 전체 색인입니다. args에는 전체색인을할 Collection명을 입력합니다.(Join이 뭔지 세미나할때 들었는데 까먹었네요;;;) 5. 자~ 검색을 실..
-
[Algorithm]Shift or String matching개발하면서 2010. 11. 21. 18:48
Shift or 알고리즘에 대해 알아보기로 합니다. 명칭부터가 비트 연산으로 비교할 것 같은 느낌이 물씬 나는데요. . .ㅎㅎ;; 알고리즘을 진행하면서 text, pattern 문자열 외에 필요한 변수는 다음과 같습니다. 현재 진행 상태를 나타내는 unsigned long형의 변수 비교할 pattern의 위치를 bit로 표시해줄 unsigned long형의 변수 KMP알고리즘에서도 그랬지만 여기서도 전처리 과정이 필요합니다. 첫번째, 현재 진행 상태를 나타내는 변수, 32개 비트를 0으로 초기화 합니다. move_bit = ~1; 두번째, 비교할 pattern에서 해당되는 위치는 0, 나머지는 1로 초기화합니다. for ( i = 0 ~ pattern length ) pattern_mask[i] = ~0..