---------------------------------------------------------------
Конспект для выступления 17 сентября 1999 на конференции
"IREX". "Интернет-технологии для образования" (?)
---------------------------------------------------------------
Книгу - в массы.
Читатели сами знают, чего им нужно
Интернет, как об'единитель читательского клуба
Писатели - "за"
Читатели - "за"
Издатели - "сомневаются"
Принцип Тома Сойера
Принцип Насреддина
Невозможно деньгами - возьмем личным трудом
Минимальные затраты на подготовку текста:
Скорость сканера 2 страницы / 40 секунд
3-6 часов на книгу.
Форматирование, оформление - 0.5-5 часов
Spellcheck 3-6 часов
Вычитка 6-12 часов
Итого 1 книга - 0.5-3 рабочих дня
Себестоимость подготовки 10000 томов: до 500,000$
(при удовлетворительном уровне качества)
Обход:
Предоставление текста в электронной форме.
Машинно-сканировочные фабрики.
1. Интерфейс пользователя.
Гипертекст - лучше ничего не придумано.
Поэтому - интернет/интранет технология:
Netscape, Explorer, веб-сервер.
2. Предварительная разметка документов.
HTML нефункционален!
Необходим внутренний формат хранения (SGML)
Конверторы SGML --> HTML
Например - cgi - с прямым "под'емом дерева файлов в html"
Или по базе данных.
Максимальная простота хранения.
Документ должен лежать в файле.
Максимум, для чего можно держать базу - оглавления и
учетные карточки документов - чтоб стрить по ним
альтернативные рубрикаторы
3. Поиск.
Поиск по оглавлению и рубрикатору - можно делать тупым сканом.
размер индексируемого оглавления 1-10 Мб. База - НЕ НУЖНА!
Полнотекстовый поиск.
Glimpse <= 500 Мб
HtDig ???
Yandex Site 1Мб бесплатно.
1000Мб - порядка 5000$
1. Процессор - некритичен, все упирается в толщину IP-канала и число
посетителей. Вычислительная не требуется.
IBM PC - лучший выбор.
1. Большая память
2. Очень большая память
3. Диск SCSI
2. Операционная система:
Windows NT - требует наличия квалифицированного администратора, ненадежна
при долговременной работе и в standalone-режиме.
Общая оценка: удовлетворительно
Linux - желательно наличие программиста. Не очень принципиальные проблемы с
производительностью (около 25% в "-"). Наибольшее количество поддерживаемого
софта.
Общая оценка: хорошо
FreeBSD - как Linux, без проблем с производительностью
Общая оценка: отлично
Прочие Unix - тот же Линукс, вид сбоку.
Общая оценка: "хорошо с минусом"
3. Софт: Russ-Apache (55% рынка), PHP, Perl, C, MySQL, Postgress.
Из расчета 20,000 человек в день, по 5-20 page-запросов на визит
200,000 page-запросов, 1-4Млн file-запросов (графика)
20Gb исходящего трафика
Время обслуживания одного запроса: (P5-330)
html-request 1/30-1/100 сек
C-cgi 1/15-1/50 сек
perl-cgi 200Кб perl-кода в секунду
Образование очереди (завал)
perl-cgi - после 5 запросов в секунду (200,000 запросов в день)
html - после 100 запросов в секунду.
Узкие места:
Число httpd-клиентов 256 -- 150,000 в день
Число процессов
RAM 1Мб на единовременный запрос. Мораль: 512Мб желательно.
Область оптимизации - избавление от cgi, mod-perl
Word-* masdie
RTF - может жить, но нежелателен.
Неформализуем полнотекстовый поиск
ВИРУСЫ!
Приемлемые форматы
HTML
txt
Предварительно форматированный SGML или его аналоги
Типичный каталог библиотеки
* ФОРМАТ ПРЕДСТАВЛЕНИЯ ТЕКСТОВ В БИБЛИОТЕКЕ *
В тексте могут быть выделены заголовки глав
^TЗаголовок выделяется символами Ctrl-T Ctrl-U^U
^Tи Заголовок должен иметь отступ 8 символов^U
^T * ЗАГОЛОВОК СТАРШЕГО УРОВНЯ выделяется "Ctrl-T *" и "* Ctrl-U" * ^U
^Tи тоже должен иметь отступ 8 символов^U
Заголовок в первой строке считается названием всего документа.
Итак примерная структура текстового файла:
---------------------------------------------------------------
^TФамилия Автора. Название документа^U
Произвольный текст
В тексте могут присутствовать html-таги. Они
воспринимаются "as is"
^TЗаглавие главы^U
Произвольный текст
Произвольный текст...
^TЗаглавие главы^U
Произвольный текст
Произвольный текст...
....
---------------------------------------------------------------
В каждом каталоге лежит файл .dir с оглавлением, все файлы
подписаны примерно так:
---------------------------------------------------------------
В первой строке название каталога
^TС 8-й позиции выделяется заголовок подраздела^U
Произвольный текст
В тексте могут присутствовать html-таги. Они
воспринимаются "as is"
Название текста лежащего в файле ()| filename.txt
Название нежележащей директории ()| dirname/
Указатель на ftp-линк | ftp://host/location
Указатель на www-линк | http://host/location.html
. . .
И так далее. Чтоб добавить в библиотеку новый документ
достаточно положить в подходящий каталог файл, и в писать в
.dir-оглавление строчку вида
Название нового текста ()| newfilename.txt
---------------------------------------------------------------
Все работает через CGI-скрипт
Любой документ в библиотеке запрашивается сквозь
cgi-скрипт "html-KOI" Он перекодирует файл в соответствующую
кодировку русских букв и переводит чисто-текстовые файлы в
html-ные - на лету.
http://www.lib-server.ru/cgi-bin/html-KOI/otnositelnoe/imya/documenta.txt
Все остальные преобразования документа, весь
дополнительный сервис и html-изация выполняется скриптом
При выдаче текстового файла заголовки глав автоматически
раскручиваются в html-таги h3 - /h3
При запросе имени директории скрипт берет лежащий в ней
.dir-файл и генерирует из него оглавление в формате index.html
В начале помещается стандартный заголовок со служебными
линками "Encoding", "What-s-new", "Mirrors"
В конце - стандартный хвостовик "Home", "Mail", "Hosted-by"
Строчки, в которых встречается символ "|" (ASCII 201)
(Вида: Название нового текста | newfilename.txt)
разворачиваются в "A HREF" линки. В зависимости от расширения
имени файла подставляется иконка.
Если в оглавлении имя файла указано символами "()|"
(Вида: название текста ()| newfilename.txt ) то справа
проставляется еще размер и разноцветное время модификации
файла.
Для текстового файла иконка перед именем указывает на
служебный линк "Contents" - оглавление автоматически собирается
из имеющихся в тексте заголовков "________^T ... ^U"
Last-modified: Tue, 21 Sep 1999 05:52:18 GMT