전체 글 230

구글 페이지랭크(PageRank) 알고리즘 (구글 개발자 세르게이 브린 논문 번역)

웹 페이지의 '중요성'은 본질적으로 주관적인 문제여서 읽는 사람의 관심사나 지식 그리고 태도 등에 의존한다. 하지만 웹 페이지의 상대적 중요성에 관해서는 객관적으로 얘기할 수 있는 부분이 많다. 이 논문은 객관적이고 기계적으로 웹 페이지를 랭킹해서 읽는 사람의 관심이나 기울이는 주의를 효과적으로 측정할 수 있는 수단인 "PageRank"를 소개한다. 우리는 페이지랭크(PageRank)를 이상적인 랜덤 웹 써퍼(random web surfer)에 비교해 볼 것이며, 어떻게 많은 웹 페이지를 대상으로 PageRank를 능률적으로 계산할 수 있는지를 설명할 것이다. 그리고 어떤 방식으로 PageRank를 검색이나 사용자 네비게이션에 응용할 수 있는지도 보여 주고자 한다.1. 도입과 동기(Introduction..

카테고리 없음 2008.11.25

반복의 중요성

우연히 방문한 블로거의 글에서 에자일 컨설팅에 김창준님이 쓴 칼럼을 다시 읽게 되었다.읽으면서, 어디선가 본 글인데 해서 봤더니 김창준님이 쓴 글이었다.알고리즘에 대한 내용을 보면서 이전에 봤을 때보다 더 공감가는 구절이 있었으니, 바로 반복이었다.동일한 문제를 반복해서 풀어보는 것..  이 반복의 중요성을 요즘들어 더 깨우치는 거 같다.그 계기가 된 것들을 생각나는데로 적어보면..* Topcoder에서 SnapDragon이 동일한 문제에 대해 10번이상 짜보면 정말 견고하고 우아한 소스가 나올 것이라고 한 얘기* 동일한 내용에 대한 여러 책들을 읽다보면 이전에 깨우치지 못한 많은 것들을 느낄 수가 있을 것이다.(ex. C++문법책 등)* Oracle 어드민, 대용량 데이터베이스 등 교육을 받다보니 반복..

[교육] 새로쓴 대용량 데이터베이스 솔루션

지난주에는 1주일동안 엔코아 컨설팅에서 새로쓴 대용량 데이터베이스 솔루션1 과정을 듣고 왔다. 개인적으로 오라클에서는 대용량 데이터를 핸들링할 일이 별로 없어서 아쉬웠는데, 교육을 통해 대용량 데이터 운용에 대해 많이 배운 느낌이다. 특히 온라인과 배치작업의 차이, 부분범위처리 개념, 다양한 힌트적용방법 등은 깊이 이해하지 못하였던 부분이라 꽤 유용할 거 같다. 강의에서 나왔던 주요 내용들을 정리해 보자. - 자주 사용되는 코드성 테이블에서 좀더 성능개선이 필요하면 일체형테이블(IOT)을 고려하자. 변경사항은 거의 없고, 조회가 많은 데이터 크기가 작은 테이블 - RowID : 인덱스는 인덱스 칼럼 다음에 RowID로 소팅된다. RowID에는 Block No, Slot No 등이 포함되어 있다. - 오라..

오라클 2008.11.21

[책] 아는만큼 보이는 데이터베이스 설계와 구축

전체적으로 지난주에 엔코아에서 교육받은 대용량 데이터베이스 솔루션 과정 내용과 겹치는 내용이 많아, 복습효과도 있고 이해도 잘 되었던 거 같다. 전반적으로 DB모델링에 있어서 중요한 내용들과 협업에서 주로 잘못 사용하는 내용들에 대해 다뤄주고 있어서 도움이 많이 됐다. 전반적으로 이해는 하면서 읽었는데 나중에 다시 한번 읽어볼 만한 책이다. 원래 책을 통해 습득하는 지식이란 본인이 가지고 있는 지식에 비례하여 얻게 되는 법이니까.. * 책에 나오는 주요내용들 1. PK나 인덱스 구성시 결합인덱스의 경우 분포도나 조회패턴을 고려하여 순서를 결정짓자 . 2. 이력 데이터 저장시에 용도에 따라 모델을 설계하자. 컬럼단위 추적여부, 대량여부, 컬럼수 대소 등 3. Unique Index보다는 PK를 사용하자. ..

책 이야기 2008.11.21

[DB] ORACLE import, export

출처 : http://www.superuser.co.kr, http://blog.empas.com/bkseo21/18491412 import, export사용(imp, exp) linux라는 사용자로 연결한다 SQL> connect linux/linux 연결되었습니다. SQL> set pagesize 30 linux가 가진 테이블은 다음과 같다 SQL> select * from tab; TNAME TABTYPECLUSTERID ------------------------------ ------- ---------- S_CUSTOMER TABLE S_DEPT TABLE S_EMP TABLE S_IMAGE TABLE S_INVENTORY TABLE S_ITEM TABLE S_LONGTEXT TABLE S_O..

[Topcoder] SRM424 DIV2

어제 저녁 9시에 있었던 매치다. 집에서 하면 애들때문에 제대로 못할 거 같아서 회사에 남아서 했다. 간만에 500점 문제가 비교적 쉬웠던거 같고, 900문제도 그리 어렵지 않은거 같아 풀었는데 900문제는 문제이해를 잘 못해서 system fail됐다. 500문제를 challenge time에 두명 걸어봤는데, 둘다 실패났다. 9부터 나누어지는 수를 계산하면 되는 문제인데, 정말 엉뚱하게 소스가 빙빙 둘려졌길래..분명히 틀릴 거야 하고 챌린지를 했건만.. 실패라나 ㅎㅎ; 역시 챌린지는 확실할 때만 해야 될 듯하고, 다른 사람 소스를 파악하는 연습을 많이 해야 겠다는 것을 느꼈다. rating은 1점의 변경도 없이 그대로 고정이다; 250pt. 주어진 스트링에서 A, Z가 들어간 부분만 뒤집고, 다른 c..

[Topcoder] SRM144 ~ 148 DIV2 500pt 연습

Topcoder DIV2 medium문제들을 한번 풀어보자. SRM144 550pt. : encrypt된 문자를 decrypt하는 문제. 문제는 어렵지 않았으나 예외처리 같은 부분에 시간이 좀 소요 class BinaryCode { public: vector decode(string m) { vector ret; int n = m.size(); vector d; REP(i, n) d.pb( m[i] - '0'); int inx = 0; while(inx < 2) { vector out; bool is_fail = false; for(int i=0; i 1 || p < 0 ) { is_fail = true; break; } else { out.pb(p); } } inx++; if( is_fail || ( ..

Problem Solving 2008.11.03

[Topcoder] SRM 423 DIV2

지난주 수요일(10/29) 오전에 있었던 매치다. 난이도가 쉬웠던 250은 다들 쉽게 푼거 같고.. medium문제가 이번엔 600점으로 조금 어려운 난이도로 나왔다. 600점 문제는 x좌표와 y좌표로 나누어서 생각해 볼 수 있는데, 최소점과 최대점을 모두 검사하게 되면 시간초과가 난다. 그래서, 전체 좌표의 평균에 -10과 +10 사이로 계산하면 되지 않을까 해서 풀어봤는데, Challenge에서 걸렸다. ㅎㅎ DIV Summary 보니 600문제는 맞춘 사람이 몇명 없었고, 1000점은 맞춘 사람이 하나도 없는 평균이 꽤나 낮은 매치였다. 나는 600문제에서 Challenge가 두개 성공해서 rating이 좀 올랐다. ㅎ; 나중에 풀이를 보니 600문제는 이해도 잘못하고 있었다. 체커의 순서에 상관없..

[세미나] Daum Google 위젯=가젯 개발 컨퍼런스

어제 10/30일 저녁에 있은 Daum Google 위젯=가젯 개발 컨퍼런스에 다녀왔다. 300명 정도 참석한다고 했는데, 실제로 사람들이 더 많이 온 거 같았다. 개발자 행사라고 했는데, 실제로 개발자가 아닌 듯해 보이는 분들도 많다는 느낌을 받았다. 실제로 "개발자분들 손들어보세요." 하니까 반정도만 손을 들던데.. 위젯이 기획이나 마케팅 담당자들도 관심이 많은 이슈인 듯 하다. 이번 행사는 다음과 구글에서 위젯,가젯을 홍보하고 국내 개발자들에게 위젯 개발을 활성화 하고자 하는 의도인 거 같았다. 다음에서 최근 출시한 위젯뱅크에 대해 다음측에서의 관심도가 꽤 높다는 것을 알 수 있었고, 구글코리아에서도 iGoogle을 국내에 활성화 시키는데 관심이 많다는 인상을 받았다. 컨퍼런스 내용은 크게 다음과 ..

about Web 2008.10.31
반응형