Сапожник в сапогах18 августа 2011 20:14, 1 комментарий

Интернет, Разработки, События

Итак, свершилось! Вышел в свет мой новый сайт. Точнее, новая версия моего старого хомячка. Очередная реинкарнация, можно сказать. Что же в нём особенного? Ну, во-первых, это самый сложный сайт из всех, что мне приходилось создавать. Во-вторых, этот сайт потребовал больше всего времени и труда для своей реализации - около полугода. В-третьих, он содержит максимальное количество сложных и продвинутых штучек, что мне только приходилось вкладывать в один сайт. И, наконец, этот сайт дался мне тяжелее всех на фоне развода, смены работы, подготовки к переезду, нервов, раздумий о смысле жизни и общей сложности работы. Некоторые вещи я делал впервые, некоторые требовали долгих раздумий и проб до тех пор, пока результат не начинал мне нравиться. Что же в этом сайте нового?

Архитектура

Логика и внутренняя организация сайта спроектирована в соответствии с идеями минимизации серверных ресурсов. Поскольку времени на проектирование и разработку у меня было много, и никто меня не подгонял, я имел возможность не спеша выбрать наилучшие варианты реализации на каждом этапе. Дабы результат нравится мне самому.

Единая лента и фотоальбом

Первое и самое заметное, что добавилось к новому сайту - фотоальбом. Кроме того, фотографии и статьи блога теперь объединены в одну общую ленту, видимую прямо с главной страницы. Это даёт возможность значительно упростить адрес страницы и показывать в ленте сразу всё, не заставляя пользователя переходить по разделам сайта туда-сюда. Во время обдумывания решения этой задачи, я прошёл через несколько вариантов организации структуры базы данных. Это было и наследование таблиц с четырьмя уровнями, и их объединение, и разделение на основе правил. Но с четвёртой попытки у меня получилось решение, которое показывает единую ленту разнородных данных без объединений таблиц в виде UNION, без наследований и даже без конструкций JOIN - одним элегантным запросом.

Статьи и фотографии теперь помечены метками, а разделы, которые были на старом сайте, убраны. При этом, все старые ссылки на статьи, разделы и ленты RSS сохранены в видел автоматической переадресации на новые.

Да здравствуют веб-службы

Главное отличие этой работы от всех моих предыдущих является отказ от веб-ориентированной системы администрирования. То есть, от веб-интерфейса управления сайтом. Вся система управления сайтом реализована в виде веб-служб и внешних программ-клиентов. Что это даёт? Не считая более высокого уровня безопасности, такой подход к управлению даёт удобство привычного оконного интерфейса, скорость работы и полный отрыв от веб-технологий - веб-службы могут работать с любым программным обеспечением на любой платформе. Кроме этого, такая постановка вопроса даёт ощутимую разгрузку сервера путём переноса части операций на сторону клиента. Для управления сайтом я написал две клиентских программы: локальную для обычного компьютера на языке си с использованием библиотеки GTK+ и мобильную, для платформы Андроид, которая работает на моём смартфоне.

Согласитесь, куда удобнее иметь под рукой программу с Word-подобным оконным интерфейсом и управлением стилями шрифта, проверкой орфографии, клавиатурными комбинациями, возможностью одновременного редактирования нескольких статей, чем веб-администратор в браузере.

Полная смена всех платформ

Не смотря на то, что я уже давно ушел с Windows и всех привязанных к ней программ, этот сайт до сих пор работал на Windows, Active Server Pages и MS SQL Server. Но руки мои дошли и до него в итоге. Теперь все компоненты сайта, программной платформы веб-приложений, веб-сервера, СУБД и операционной системы - свободные. Это даёт непревзойденную гибкость, значительно более высокую надёжность, скорость работы и скромные требования к ресурсам сервера - он тоже не резиновый.

Микроблог

Наряду со ставшим уже привычным блогом, на сайте появился микроблог. Последняя заметка микроблога показывается в специально выделенной области на всех страницах сайта, а остальные заметки (по сути архив) на отдельной странице. Интересная особенность - программа управления сайтом, запущенная со специальным ключиком не показывает главное окно, а сразу запускает окно создания новой заметки микроблога. А прикрученная к глобальным горячим клавишам среды GNOME, программа с этим ключиком упрощает создание новой заметки до одного нажатия клавиатурной комбинации.

Полнотекстовый поиск

Теперь здесь, как и положено приличному сайту, работает полнотекстовый поиск с морфологией русского языка и подсветкой найденных словоформ. Поиск работает как по блогу, так и по микроблогу с фотоальбомом.

Система антиспама в комментариях

В результате многолетнего слежения за спамом, который оставляют в комментариях к статьям сайта, я выработал ряд простых и эффективных правил для борьбы с ним. На основе них я написал спам-фильтр, который успешно применяю на текущем сайте с эффективностью более 98%.

Большое количество RSS-лент

Теперь на сайте работает шесть основных RSS-лент, плюс по одной на каждую метку, плюс по одной для комментариев на каждую статью или фотографию.

Мобильная версия сайта

Стараясь идти в ногу со временем, я сделал ещё и мобильную версию сайта, специально адаптированную для устройств с небольшими экранами, такими как смартфоны.

Для истории

Ну и вид старого сайта, дизайн которого был любезно создан Борисом Хершбергом около шести лет тому назад:

Добавьте свой комментарий

К этой статье в настоящий момент 1 комментарий. Если вам есть, что добавить, вы можете оставить здесь и свой комментарий. Поля имя и почтовый адрес обязательны для заполнения. Адрес на сайте не публикуется.

Цитаты оформляются так: /* Цитируемый текст */.