개발하면서
-
[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..
-
KMP String matching개발하면서/Algorithm,DS,PS 2010. 11. 16. 01:21
문자열 S, P가있고, S에서 P를 검색한다고 할때, 가장 기초적인건 아래와 같이 검색을 합니다. 비효율적인부분이 있습니다. 그래서 Knuth, Morris, Pratt 세 사람이 만든 KMP 알고리즘을 지금 설명하려고 합니다. 제가 이해한것을 풀어쓰는거라 잘못 이해한 것이 있을 수도 있습니다. 그럴때는 말씀해주시면 감사하겠습니다. KMP는 패턴을 만들어서 검사에 실패했을때 다음 검사에서 불필요한 부분을 생략하는데 있습니다. 위 그림은 검사에 실패했을때 P를 오른쪽으로 한칸 이동하지만 KMP는 안해도 되는부분은 과감히 건너뜁니다. KMP는 크게 나눠보면 찾고자하는 문자열에 패턴을 구하고 그 패턴을 이용해서 검사를 하는 것입니다. 문자열 페턴 구하는것을 설명하기에 앞서 suffix, prefix에 대해 알..
-
내가 개발한 DBManager개발하면서/etc 2010. 11. 10. 22:12
DB 데이타를 가져오는 java 프로그램을 선임이 만들었는데, oracle에서만 실행이 되었습니다. 그래서 MySql, Oracle, MSSql에서 유동적으로 동작하는 프로그램을만들어보자 해서 만들어보았고 혹시나~!!! 정말 혹시나~!! 이것이 필요한 사람이 있을지도 모른다는 생각에 이렇게 글을 올립니다. 이것의 주용도는 C로 개발하는 프로그램에서 DB의 데이타를 가져오는 기능이 있어야하는데 이 부분을 담당합니다. C에서는 아래와 같이 DB 데이타를 가공 및 저장 합니다. 실행 방법은 다음과 같습니다. java -jar DBManager2010.jar [config path] [SQL Query] [option -c|-f|-u|-uf|-unf|-d] [input Filepath] -------------..
-
MessageFormat & split 생각해보기개발하면서/etc 2010. 10. 14. 00:47
요새 자바로 개발을 하고있는데 제목과 같이 두개를 사용할 기회가 있었다. 시시하지만 그저 남기고 싶어서 이렇게 글을 쓴다. Split public class Test { public static void main(String[] args) { String input = "kang#@sdasfd#@asasf#@#@asdfs#@#@"; String name[]; name = input.split("#@"); for (String buf: name){ System.out.println("split:" + buf); } } } 실행하면 결과가 name이 6개 할당될줄알았는데 아니었다. 마지막은 처리하지 않는다~ 굳이 마지막은 안한다는 연산을 왜 했는지 궁금하다....(이부분 아시는 분있으시면 알려주세요~~) M..
-
gVim설정개발하면서/etc 2010. 9. 27. 14:34
윈도우상에서 vim 사용하려고 gVim을 설치했다. 다~~~~ 좋은데 하나 아쉬운게 파일을 열고 닫을때마다 {열었던 파일명}~ 파일이 생긴다는 점이다. 구글링 해보니 C;/Program Files/Vim/_vimrc에 set nobackup 옵션을 추가하면 된다고 했지만 문제는 동일했다. 오호...다른게 있었구나. C:/Program Files/Vim/Vim73/vimrc_example.vim (vim73 폴더는 버젼에 따라 숫자가 틀립니다.) 파일을 열고 혹시 모르니까 else를지우지말고 nobackup로 바꿔주는 센스~!!ㅋㅋ 그리고 파일 열면 .파일명.swp 파일이 숨김파일로 생성이 되는데 이 옵션을 끄기 위해서는 vimrc_example.vim 에서 아래 두개의 설정 중 하나만 적어주면 된다. 참..