목차
1. 검색엔진의 역사 6
2. 정보검색시스템의 구성요소 8
2.1. 정보검색시스템이란? 8
2.2. 배경학문 8
2.3. 구성요소 8
3. 검색 기법 13
3.1. Exact match techniques(완전일치 기법) 13
3.2. Partial match techniques(부분일치 기법) 13
3.3. Network(네트워크 모델) 15
3.4. Feedback Methods(피드백 기법) 16
4. 검색엔진 구조도 18
5. 색인기 구조도 20
6. 검색기 구조 23
7. 웹 로봇을 개발하자 - 개요 24
7.1. 개요 25
7.2. 웹 로봇의 구성요소 26
8. 웹 로봇을 개발하자 ? HTML Parser 28
9. 웹 로봇을 개발하자 - HTTP 프로토콜에 대해 38
9.1. HTTP 명세 38
9.2. Telnet을 이용한 HTTP 응답 확인 43
10. 웹 로봇을 개발하자 - 소켓 프로그래밍 45
11. 웹 로봇을 개발하자 - 로봇 배제 표준 49
11.1. 검색엔진에서 내 홈페이지가 검색당하지 않도록 쓰는 방법 49
11.2. robots.txt 작성방법 49
12. 웹 로봇을 개발하자 - 기본 자료구조 52
12.1. dynamic array 52
12.2. array-base tree 56
12.3. array-based trie 58
13. 웹 로봇을 개발하자 - 소켓 타임아웃에 대해 62
13.1. 필요성 62
13.2. 정책 63
13.3. 방법은? 63
14. 웹 로봇을 개발하자 - 멀티 쓰레드 로봇 68
14.1. 화면 설명 68
14.2. 기본 자료구조 69
14.3. 수집 시작 루틴 72
14.4. 쓰래드 처리 75
14.5. 대용량 웹 로봇을 위해서는? 78
15. 웹 로봇을 개발하자 - 대용량 웹 로봇 설계 80
15.1. 전체 시스템 구조 80
15.2. group table 80
15.3. newurl table 81
15.4. timeout table 82
15.5. thread info 82
15.6. host policy 83
15.7. type1 (main thread) 83
15.8. type2 (normal processing thread) 83
15.9. type3 (timed out processing thread) 84
15.10. type4 (alarm thread) 84
15.11. type5 (robot communication thread) 84
15.12. type6 (management thread) 85
15.13. 기타 85
15.14. Group Table 구조 85
15.15. UrlTree 구조 85
15.16. DNS 85
15.17. DNS Protocol 87
15.18. 2차 로봇 92
16. 검색엔진 개발 실습 94
17. 엔진 개발 실습 -모델링 95
17.1. 개요 95
17.2. 순위부여 모델과 실험 95
17.3. 벡터 공간 모델 96
18. 엔진 개발 실습 - Term Weight에 대하여 98
18.1. 문서의 중요도 98
18.2. 문서를 어떻게 수치화할 것인가? 99
18.3. 텀의 가중치를 어떻게 계산하는가? 99
18.4. 문헌의 가중치는? 101
18.5. 용어 정리 101
19. 형태소 분석 102
20. 엔진개발 실습 - 색인 DB 구조 #1 103
20.1. 색인 DB란 무엇인가? 103
20.2. 무엇을 색인 DB화 할 것인가? 103
20.3. 어떻게 구축할 것인가? 105
21. 엔진개발 실습 - 색인 DB 구조 #2 109
21.1. 어떻게 구축할 것인가. 109
21.2. 확장된 검색기능을 제공하기 위한 DB 구축 방법은? 112
21.3. 기타 113
22. 엔진개발 실습 - 메모리 관리정책 115
22.1. 메모리에 상주시킬 데이터들은? 115
22.2. 쓰래드들이 사용할 메모리는? 117
22.3. 메모리로 캐시를 구축할 것인가? 118
23. 엔진개발 실습 ? 논리 연산 처리방법 119
23.1. 기본 개념 119
23.2. 입력되는 질의 형태 120
23.3. 질의 파싱 및 보정 121
23.4. 결과 처리 123
24. 엔진개발 실습 ? 빠른 논리 연산방법 124
24.1. 논리 연산 시 비교 방법들 124
24.2. 해시 테이블을 사용한 비교 방법 125
24.3. 포스팅 파일을 어떻게 구축할 것인가? 125
24.4. 그 외의 고려사항 126
25. 엔진개발 실습 - 빠른 소팅 방법 127
25.1. min-heap을 사용한 소팅 방법 127
25.2. Sorted Map에 대하여 128
25.3. 결론 130
26. 동적색인 시스템 구성에 대해 132
27. 동적 색인 시스템 개요 133
27.1. 동적 색인 시스템이란? 133
27.2. 색인 시스템의 분류 133
27.3. 동적 색인 시스템의 주요 이슈 134
27.4. 발전 방향 135
28. 파일 시스템 구축 ? 개요 136
28.1. 왜 파일 시스템을 구축해야 하는가? 136
28.2. 파일 시스템 구조 136
28.3. Level 0 : Physical I/O Layer 138
28.4. Level 1 : Buffer Manager 139
28.5. Level 2 : Storage Structures 139
28.6. Level 3 : Access Methods 140
28.7. 시스템 평가 140
28.8. 향후 계획 140
29. 파일 시스템 구축 - #1 볼륨 구조 141
29.1. 개요 141
29.2. 볼륨의 기본 구조 142
29.3. 볼륨 헤더의 데이터 구조 144
29.4. 구현 알고리즘 146
29.5. 향후 계획 150
30. 파일 시스템 구축 - #2 버퍼 구조 151
30.1. 개요 151
30.2. 버퍼의 데이터 구조 151
30.3. 버퍼 운영 정책 152
30.4. 구현 알고리즘 153
30.5. 향후 계획 157
31. 동적색인에 대해서 #1 158
32. 검색엔진에 압축은 필수? 160
33. 파일 시스템 구축 - #3 디렉토리 구조 162
33.1. 개요 162
33.2. 디렉토리 페이지 구조 163
33.3. Trie 페이지 구성 164
33.4. 파일 디스크립터 페이지 구성 164
33.5. 메모리 구조 165
33.6. 파일 생성 절차 167
33.7. 파일 소멸 절차 167
33.8. 향후 계획 168
34. 파일 시스템 구축 - #4 인덱스 파일 구조 169
34.1. 개요 169
34.2. 인덱스 파일의 내부 구조 169
34.3. 루트 페이지 구조 170
34.4. 노드 페이지 구조 172
34.5. 리프 페이지 구조 172
34.6. 구현 알고리즘 173
34.7. 향후 계획 179
35. 파일 시스템 구축 - #5 바이너리 파일 구조 180
35.1. 개요 180
35.2. 바이너리 파일의 내부 구조 180
35.3. 바이트 파일에 데이터 쓰기 182
35.4. 응용 184
1. 검색엔진의 역사 6
2. 정보검색시스템의 구성요소 8
2.1. 정보검색시스템이란? 8
2.2. 배경학문 8
2.3. 구성요소 8
3. 검색 기법 13
3.1. Exact match techniques(완전일치 기법) 13
3.2. Partial match techniques(부분일치 기법) 13
3.3. Network(네트워크 모델) 15
3.4. Feedback Methods(피드백 기법) 16
4. 검색엔진 구조도 18
5. 색인기 구조도 20
6. 검색기 구조 23
7. 웹 로봇을 개발하자 - 개요 24
7.1. 개요 25
7.2. 웹 로봇의 구성요소 26
8. 웹 로봇을 개발하자 ? HTML Parser 28
9. 웹 로봇을 개발하자 - HTTP 프로토콜에 대해 38
9.1. HTTP 명세 38
9.2. Telnet을 이용한 HTTP 응답 확인 43
10. 웹 로봇을 개발하자 - 소켓 프로그래밍 45
11. 웹 로봇을 개발하자 - 로봇 배제 표준 49
11.1. 검색엔진에서 내 홈페이지가 검색당하지 않도록 쓰는 방법 49
11.2. robots.txt 작성방법 49
12. 웹 로봇을 개발하자 - 기본 자료구조 52
12.1. dynamic array 52
12.2. array-base tree 56
12.3. array-based trie 58
13. 웹 로봇을 개발하자 - 소켓 타임아웃에 대해 62
13.1. 필요성 62
13.2. 정책 63
13.3. 방법은? 63
14. 웹 로봇을 개발하자 - 멀티 쓰레드 로봇 68
14.1. 화면 설명 68
14.2. 기본 자료구조 69
14.3. 수집 시작 루틴 72
14.4. 쓰래드 처리 75
14.5. 대용량 웹 로봇을 위해서는? 78
15. 웹 로봇을 개발하자 - 대용량 웹 로봇 설계 80
15.1. 전체 시스템 구조 80
15.2. group table 80
15.3. newurl table 81
15.4. timeout table 82
15.5. thread info 82
15.6. host policy 83
15.7. type1 (main thread) 83
15.8. type2 (normal processing thread) 83
15.9. type3 (timed out processing thread) 84
15.10. type4 (alarm thread) 84
15.11. type5 (robot communication thread) 84
15.12. type6 (management thread) 85
15.13. 기타 85
15.14. Group Table 구조 85
15.15. UrlTree 구조 85
15.16. DNS 85
15.17. DNS Protocol 87
15.18. 2차 로봇 92
16. 검색엔진 개발 실습 94
17. 엔진 개발 실습 -모델링 95
17.1. 개요 95
17.2. 순위부여 모델과 실험 95
17.3. 벡터 공간 모델 96
18. 엔진 개발 실습 - Term Weight에 대하여 98
18.1. 문서의 중요도 98
18.2. 문서를 어떻게 수치화할 것인가? 99
18.3. 텀의 가중치를 어떻게 계산하는가? 99
18.4. 문헌의 가중치는? 101
18.5. 용어 정리 101
19. 형태소 분석 102
20. 엔진개발 실습 - 색인 DB 구조 #1 103
20.1. 색인 DB란 무엇인가? 103
20.2. 무엇을 색인 DB화 할 것인가? 103
20.3. 어떻게 구축할 것인가? 105
21. 엔진개발 실습 - 색인 DB 구조 #2 109
21.1. 어떻게 구축할 것인가. 109
21.2. 확장된 검색기능을 제공하기 위한 DB 구축 방법은? 112
21.3. 기타 113
22. 엔진개발 실습 - 메모리 관리정책 115
22.1. 메모리에 상주시킬 데이터들은? 115
22.2. 쓰래드들이 사용할 메모리는? 117
22.3. 메모리로 캐시를 구축할 것인가? 118
23. 엔진개발 실습 ? 논리 연산 처리방법 119
23.1. 기본 개념 119
23.2. 입력되는 질의 형태 120
23.3. 질의 파싱 및 보정 121
23.4. 결과 처리 123
24. 엔진개발 실습 ? 빠른 논리 연산방법 124
24.1. 논리 연산 시 비교 방법들 124
24.2. 해시 테이블을 사용한 비교 방법 125
24.3. 포스팅 파일을 어떻게 구축할 것인가? 125
24.4. 그 외의 고려사항 126
25. 엔진개발 실습 - 빠른 소팅 방법 127
25.1. min-heap을 사용한 소팅 방법 127
25.2. Sorted Map에 대하여 128
25.3. 결론 130
26. 동적색인 시스템 구성에 대해 132
27. 동적 색인 시스템 개요 133
27.1. 동적 색인 시스템이란? 133
27.2. 색인 시스템의 분류 133
27.3. 동적 색인 시스템의 주요 이슈 134
27.4. 발전 방향 135
28. 파일 시스템 구축 ? 개요 136
28.1. 왜 파일 시스템을 구축해야 하는가? 136
28.2. 파일 시스템 구조 136
28.3. Level 0 : Physical I/O Layer 138
28.4. Level 1 : Buffer Manager 139
28.5. Level 2 : Storage Structures 139
28.6. Level 3 : Access Methods 140
28.7. 시스템 평가 140
28.8. 향후 계획 140
29. 파일 시스템 구축 - #1 볼륨 구조 141
29.1. 개요 141
29.2. 볼륨의 기본 구조 142
29.3. 볼륨 헤더의 데이터 구조 144
29.4. 구현 알고리즘 146
29.5. 향후 계획 150
30. 파일 시스템 구축 - #2 버퍼 구조 151
30.1. 개요 151
30.2. 버퍼의 데이터 구조 151
30.3. 버퍼 운영 정책 152
30.4. 구현 알고리즘 153
30.5. 향후 계획 157
31. 동적색인에 대해서 #1 158
32. 검색엔진에 압축은 필수? 160
33. 파일 시스템 구축 - #3 디렉토리 구조 162
33.1. 개요 162
33.2. 디렉토리 페이지 구조 163
33.3. Trie 페이지 구성 164
33.4. 파일 디스크립터 페이지 구성 164
33.5. 메모리 구조 165
33.6. 파일 생성 절차 167
33.7. 파일 소멸 절차 167
33.8. 향후 계획 168
34. 파일 시스템 구축 - #4 인덱스 파일 구조 169
34.1. 개요 169
34.2. 인덱스 파일의 내부 구조 169
34.3. 루트 페이지 구조 170
34.4. 노드 페이지 구조 172
34.5. 리프 페이지 구조 172
34.6. 구현 알고리즘 173
34.7. 향후 계획 179
35. 파일 시스템 구축 - #5 바이너리 파일 구조 180
35.1. 개요 180
35.2. 바이너리 파일의 내부 구조 180
35.3. 바이트 파일에 데이터 쓰기 182
35.4. 응용 184
'IT이야기' 카테고리의 다른 글
Code Craft 뛰어난 코드 작성을 위한 실천 지침 (0) | 2007.12.06 |
---|---|
프로그래머 분류 - 13가지 (1) | 2007.12.06 |
수도쿠(sukodo) 알고리즘 (0) | 2007.06.07 |
[20061108] apache ab를 이용한 벤치마크 (0) | 2007.05.02 |
[20031007] static 과 dynamic 사이의 갈등, 웹사이트 구성에 관해 (0) | 2007.01.06 |