간단하게 페이지랭크를 구현해 보았다.
원래는 세르게이와 브린이 한 것 같이 제대로 데이터구조도 갖추어 전반적인 검색 구성요소들을 구현해 보려고 했는데 생각같이 잘 되지 않아 몇 일 생각해 보고 그만두기로 했다. 이러다가는 framework을 만들겠다 (이것은 핑계고 사실은 프로그래밍이 잘 될 것 같지 않음). 나중에 필요하면 우리 직원들 시켜야지... 두세명이서 반년이면 될까?
여기에 첨부한 녀석은 그만 두기로 한 날 아침에 시작해서 점심 먹으로 갈 때 거의 완성한 것임.
나는 사실 웹검색기술을 잘 모른다. 관련 글들을 본 것도 작년 11월이 처음이다. 구글과 페이지랭킹 얘기는 전부터 알고는 있었지만 공부해 본 적은 없었다. 그러다가, 내가 가르키는 컴퓨터구조에서 구글의 파일시스템과 Mapreduce 처리를 언급해야 하는데, 이 녀석들이 하는 일이 구글의 검색이니, 검색을 알아보아야 하겠다고 해서 관련 논문을 몇 개 출력해서 집에 갖고 갔다. 저녁 후 읽기 시작해 새벽까지 다 보았다. 내 적성에 잘 맞았다. 이런것에 왜 관심을 안 가졌는지.
따지고보면 나는 꽤 많은 언어를 사용했다. Fortran, C/C++, PASCAL, ADA, LISP, PROLOG. 이 것들 중 내 취미에 맞는 것은 C, PASCAL, LISP 였다. PROLOG, ADA는 과목에서만 썼는데 특히 PROLOG는 어떻게 통과했는 지 기억도 나지 않는을 정도로 개념도 못 잡았다. LISP은 많이 쓰지는 않았지만 처음부터 잘 맞았다. 91년 인가, 기말 프로젝트에서 그래픽모델링 엔진을 만드는 프로젝트를 했는데, 제출 10일 앞두고 xLisp로 거의 10일 밤 새면서 프로그램 짠 적이 있다. 그 때 언어를 다른 것으로 했으면 아마 성적 잘 나오지 않았을 것이다. 그 때가 내가 프로그래머로서 전성기이었다.
JAVA는 참 좋은 언어다. 명쾌하다. API를 많이 접해보지 않은 내가 보기에도 JAVA는 API가 워낙 많아 못하는게 무엇이 있을가 싶다. ArrayList만 해도 Array도 아니고 Linked List도 아닌 놈이 이 두가지 특징을 잘 가지고 있으니 얼마나 편한지... 몇일 걸려 Head First JAVA 10장 까지 보고 코딩은 했지만. JAVA에 익숙해지고 싶은데. 당연히 알겠지만 JAVA 5.0 을 사용했고 일체의 exception handling이 없다. 넋두리가 길다.
앞축을 풀면 3개의 파일이 나온다. 각 클래스들의 간단한 설명을 첨부함. 우리 김중태이사가 프로그램를 설명해주면 좋아하는 사람들이 있을 것이고 또 이 블로그 편수도 늘릴 수 있다고 해서 이 후 몇 번 설명하려고 함. 내가 여러분의 intelligence를 모욕한다고 생각해 주지 않았으면 좋겠음.
원래는 세르게이와 브린이 한 것 같이 제대로 데이터구조도 갖추어 전반적인 검색 구성요소들을 구현해 보려고 했는데 생각같이 잘 되지 않아 몇 일 생각해 보고 그만두기로 했다. 이러다가는 framework을 만들겠다 (이것은 핑계고 사실은 프로그래밍이 잘 될 것 같지 않음). 나중에 필요하면 우리 직원들 시켜야지... 두세명이서 반년이면 될까?
여기에 첨부한 녀석은 그만 두기로 한 날 아침에 시작해서 점심 먹으로 갈 때 거의 완성한 것임.
나는 사실 웹검색기술을 잘 모른다. 관련 글들을 본 것도 작년 11월이 처음이다. 구글과 페이지랭킹 얘기는 전부터 알고는 있었지만 공부해 본 적은 없었다. 그러다가, 내가 가르키는 컴퓨터구조에서 구글의 파일시스템과 Mapreduce 처리를 언급해야 하는데, 이 녀석들이 하는 일이 구글의 검색이니, 검색을 알아보아야 하겠다고 해서 관련 논문을 몇 개 출력해서 집에 갖고 갔다. 저녁 후 읽기 시작해 새벽까지 다 보았다. 내 적성에 잘 맞았다. 이런것에 왜 관심을 안 가졌는지.
따지고보면 나는 꽤 많은 언어를 사용했다. Fortran, C/C++, PASCAL, ADA, LISP, PROLOG. 이 것들 중 내 취미에 맞는 것은 C, PASCAL, LISP 였다. PROLOG, ADA는 과목에서만 썼는데 특히 PROLOG는 어떻게 통과했는 지 기억도 나지 않는을 정도로 개념도 못 잡았다. LISP은 많이 쓰지는 않았지만 처음부터 잘 맞았다. 91년 인가, 기말 프로젝트에서 그래픽모델링 엔진을 만드는 프로젝트를 했는데, 제출 10일 앞두고 xLisp로 거의 10일 밤 새면서 프로그램 짠 적이 있다. 그 때 언어를 다른 것으로 했으면 아마 성적 잘 나오지 않았을 것이다. 그 때가 내가 프로그래머로서 전성기이었다.
JAVA는 참 좋은 언어다. 명쾌하다. API를 많이 접해보지 않은 내가 보기에도 JAVA는 API가 워낙 많아 못하는게 무엇이 있을가 싶다. ArrayList만 해도 Array도 아니고 Linked List도 아닌 놈이 이 두가지 특징을 잘 가지고 있으니 얼마나 편한지... 몇일 걸려 Head First JAVA 10장 까지 보고 코딩은 했지만. JAVA에 익숙해지고 싶은데. 당연히 알겠지만 JAVA 5.0 을 사용했고 일체의 exception handling이 없다. 넋두리가 길다.
앞축을 풀면 3개의 파일이 나온다. 각 클래스들의 간단한 설명을 첨부함. 우리 김중태이사가 프로그램를 설명해주면 좋아하는 사람들이 있을 것이고 또 이 블로그 편수도 늘릴 수 있다고 해서 이 후 몇 번 설명하려고 함. 내가 여러분의 intelligence를 모욕한다고 생각해 주지 않았으면 좋겠음.
'소프트웨어 이야기' 카테고리의 다른 글
안드로이드 ADT에서 GPX 파일 올려 GPS신호 emulation하기 (0) | 2010.10.22 |
---|---|
simple pagerank 코드 설명 (0) | 2007.01.25 |
구글 검색기술과 페이지랭킹 (9) | 2007.01.10 |
Joshua Bloch의 API 강의 (0) | 2007.01.04 |
구글 성공의 진짜 이유 (14) | 2007.01.03 |