|
Веб-программирование
Ниже представлены различные задачи, выполненные мной с помощью языков программирования perl и PHP.
- Поисковые базы данных
Разработка унифицированного ПО для "внутреннего пользования"(примеры: 1,2,3).
Поисковая база собирается по списку тематических сайтов с помощью паука, поддерживающего редиректы и
динамические ссылки. В отдельных полях базы сохраняются ключевые слова, заголовок, описание страницы, текст.
Обратный индекс разделен по диапазонам на файлы, каждый из которых занимает 1 кластер. В принципе, для решения
такой задачи можно было использовать mysql, но специализированный скрипт работает эффективнее.
- Создание веб-представительств
Пример взаимодействия с пользователем и создания сайта в режиме реального времени. При вводе
информации о фирме создается мини-сайт из 5 страниц, с логотипом, схемой проезда, и прайс-листом. Также можно создать электронный прайс-лист. Для каждого мини-сайта
ведется своя статистика, отслеживается количество заходов, от которого зависит положение бизнес-сайта в рейтинге.
- Рейтингующий каталог
Система управления обменом баннерами и ссылками (примеры: 1 и 2).
Каталог запоминает информацию о пользователе, url сайта и баннера, выдает персональный код баннера и кнопки.
Система начисляет сайту-участнику показы, от которых зависит его положение в рейтинге. Есть возможность просмотра в рейтинге баннеров или текстовых ссылок - по выбору пользователя.
- Системы ограничения доступа
Или системы авторизации. Обычный недостаток систем авторизации - перенаправление пользователя на страницу с
регистрацией, откуда, введя пароль, пользователь с трудом может найти нужный материал. Второй недостаток - то, что поддержка куки (cookies)
отключена в некоторых броузерах, и пользователь не может ее включить.
Идея моей системы - запрос пароля только при обращении к закрытой странице, с помощью метода
Basic Authentification (он поддерживается всеми броузерами - при этом появляется серое окошечко ввода пароля), и немедленный показ содержимого закрытой страницы.
Затем, если посетитель захочет просмотреть другие закрытые материалы, пароль устанавливается в куки, если же они отключены - все работает и без них.
Комплект скриптов включает все системы управления аккаунтом - напоминание пароля, изменение настроек, удаление аккаунта.
- Утилиты
- Автоопределение языка
Это система, которая устанавливается на все страницы сайта и меняет содержимое страницы в зависимости от вероятного языка посетителя.
При первичном заходе на страницу анализируются: языки броузера (ACCEPT_LANGUAGE),
с какой страницы пришел посетитель (HTTP_REFERER), язык поискового запроса
(если он пришел с поисковика), в какой доменной зоне находится его компьютер (по REMOTE_ADDR).
Информация о языке запоминается в куки, язык можно всегда переключить.
- Системы сбора статистики
Очень ценной является информация не просто о количестве хостов и ссылках, но о поведении посетителя на сайте.
Если такая информация и предоставляется системой статистики,
обычно это т.н. "пути по сайту". Тот, кто пытался анализировать эти пути, знает, что их очень трудно
интерпретировать - есть пути, в основном похожие друг на друга, но отличающиеся в какой-нибудь мелочи.
Идея моей системы статистики - определение для каждой страницы вероятностных характеристик -
с каких страниц приходят на нее и куда уходят - в виде распределения вероятностей по всем страницам сайта. С помощью
таких данных можно легко определить "усредненные пути по сайту".
- Оценка юзабилити сайта
Система предназначена для получения данных о том, как пользователь двигает мышкой на различных страницах сайта.
Написана на javascript под MSIE (93% всех посетителей). При пересечении мышкой границ к.-л. "элемента" или при изменении
координаты мыши на 5-10 пикселей запоминаются координаты и время. Куки позволяют записать довольно большое число координат,
сохранение информации на сервере происходит при клике - скорость работы сайта не уменьшается.
Полученная информация позволяет понять, как пользователь сайта переходит по ссылкам, какие области экрана исследуются им более внимательно.
Конечно, такую систему имеет смысл устанавливать только в период тестирования дизайна сайта.
- Клоакинг
Это технология работы с поисковыми системами, которая основана на выдаче различных страниц броузеру
посетителя и роботу поисковой машины. Определение - по ip-адресу и(или) полю USER_AGENT запроса. Сложность в
том, что некоторые поисковики меняют ip-адреса своих пауков (поэтому требуется обновление базы ip)
и выбрасывают сайт из индекса при явном обнаружении клоакинга.
- Оптимизация заголовков HTTP
Выдача "правильных" HTTP-заголовков для поисковых систем - важное дело. Возможно, Ваш сервер не выдает дату
обновления документа - тогда сайт будет менее ценен для некоторых посиковиков. Или же выдает дату правильно, но
документ довольно старый - тогда он, опять-же, ценится ниже. Лучший вариант - выдавать заголовки Last-Modified и Expires
так, чтобы казалось, будто документ утром создан и вечером устареет. Конечно, нужно обновлять и содержимое страницы
(автоматически) - тогда поисковик будет ходить к вам чаще.
|
|