← Август 2025 | ||||||
1 | 2 | 3 | ||||
---|---|---|---|---|---|---|
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
EverStatic: Динамичное постоянство
![]() |
Рекогносцировка
Моё редкое появление в Сети последние два-три месяца могли заметить многие. Думаю, пришла пора немного пояснить, чем же я занимался всё это время и почему.
Конечно, книги. Без этого никуда, и любители фантастики могут заглянуть в мою Библиотеку в облаках. Там не только художественная литература, к слову; там есть и будет много чего ещё.
Но прежде всего я искал ответ на вопрос: существует ли в природе система управления контентом, которая обладала бы следующими характеристиками:
- бесплатная
- способна выдержать высокие пиковые нагрузки — наплывы посетителей (Digg-эффект)
- модульная, позволяющая произвольно расширять функциональность
- с открытым кодом
- позволяющая управлять контентом многих сайтов из единого командного центра
Готовые решения — Drupal, TextPattern, WordPress и пр. не годятся. Этот сайт живёт под управлением Drupal на очень оптимизированном сервере, где всё вручную подстроено под возможность выдерживать пиковые нагрузки (рекорд пока что — 42 одновременных обращения к страницам сайтов; при этом сам сервер весьма скромный и недорогой), но не то, не то, мне нужно как минимум на два порядка мощнее. И чтобы жило НЕ на выделенном сервере.
Такого в природе не нашлось, пришлось писать самому. Упомянутая выше библиотека является попутно тем полигоном, на котором я испытываю рабочие версии своей новой CMS, EverStatic. Кому интересны подробности — читайте дальше.
Концепция
Первый вопрос, который могут задать — почему не было взято что-нибудь с выставки CMS с открытым кодом. Ответ простой: посмотрел, но не нашёл того, что необходимо.
Итак, краеугольные камни концепции EverStatic.
1. Анонимный посетитель читает квазистатический контент. Пояснение: основная масса посетителей блогов, порталов и т.д. — анонимные (не прошедшие аутентификацию). Чем меньше мороки с ресурсоёмкими операциями (динамические страницы, работа с БД и т.д.), тем лучше. В идеале в любой конкретный момент времени анонимные посетители должны получать статические документы. В реальности, понятно, сайты не бывают статическими, но при каждом добавлении контента все прежние статические страницы, требующие обновления, обновляются, едва только их впервые запросят.
На каверзный вопрос, а как поступать с произвольно включаемым пользователем кодом, комментариями и пр. ответ простой: SHTML + JavaScript. Скажем, если использовать для ведения комментариев сторонний или даже локальный, но подключаемый браузером (через JavaScript) сервис комментариев, то привычный нам блог легко и изящно ложится в концепцию статических страниц.
2. Меньше сору, меньше вздору. К динамическому контенту обращаемся только тогда, когда иначе никак. Модули загружаем строго при необходимости. И так далее.
3. Хороший торт долго готовят, но быстро едят. Операции по модифицированию контента могут быть и ресурсоёмкими, и относительно долгими. Чтение обязано быть быстрым. Вся архитектура CMS строится так, чтобы всё было в пользу чтения.
Планы и сроки
В настоящий момент у меня в состоянии разработки несколько продуктов. Ключевым, на базе которого будут доделываться остальные, является теперь EverStatic. Задачи такие:
1. Создать «лёгкий» вариант EverStatic, конкретно для ведения блогов (условное название StaticBlog), перенести на него все мои нынешние блоги (то, чем я сейчас занимаюсь). Ориентировочный срок переноса всех блогов — март-апрель 2010.
2. Доработать агрегатор новостей Blogseer на основании StaticBlog.
3. Выпустить более полную версию собственно EverStatic (отличается только набором модулей), и все прочие запланированные сервисы (eNoto, NanoBlog, Gwaya mailer), уже на базе EverStatic.
Хотите участвовать?
Это просто. Можно следить за записями в этом блоге, с тегом "EverStatic".
Можно подписаться на группу EverStatic. Там будут технические подробности, новости и т.п.
Можно записаться в «тестеры» будущего двигателя. Я, как человек ленивый и прагматичный, в первую очередь пишу для своих нужд. Если вам симпатична сама идея двигателя и открывающиеся перспективы, можете помочь мне с тестированием и впоследствии, если есть время и настроение, с разработкой. Спецификации на CMS будут опубликованы как документ группы, а также в Библиотеке в облаках.
Есть вопросы?
Если есть вопросы — задавайте. По мере появления вопросов будет формироваться и FAQ/ЧаВо.