плагин

Kohana 3 merging patch 0.2

Рубрики: Web frameworks
Метки: |
Дата: 17/03/2010 14:08:29
Подписаться на комментарии по RSS

Апдэйт патча, который сливает использованные классы Kohana 3 в один файл и тем самым ускоряет загрузку, даже со включенным акселератором.

Что нового:

  • добавлена возможность кэширования классов в соответствии с роутами. При первой загрузке создается т.н. кэш-загрузчик (preloader), который включает несколько классов, после инклуда которых становится возможным вызвать Request::instance(). Загрузчик общий для всех роутов. Последующие же классы, более специфичные для роутов, могут быть сохранены в соответствующих файлах кэша. А могут и не быть -- если отключить соответствующую настройку, будет создаваться один большой универсальный файл кэша.
  • более удобное задание настроек кэширования
  • сброс кэша закачкой или созданием в каталоге файла со специальным названием
  • рефакторинг кода
Далее...

Kohana 3 merging patch

Рубрики: Web frameworks
Метки: |
Дата: 23/02/2010 11:31:21
Подписаться на комментарии по RSS

Начитавшись Дмитрия Котерова, решил сделать "примочку", ускоряющую работу Kohana 3 за счет объединения файлов фреймворка в один большой. Сначала хотел сделать скрипт, автоматически проходящий по всем директориям и сливающий все файлы в один, однако из-за неясностей в разрешении зависимостей решил сделать нечто подобное форумному топику, когда в один файл объединяются автозагружаемые скрипты. В общем, оно получилось, правда, может ломаться при работе со сторонними библиотеками, с кохановскими вроде все нормально (к сожалению, мой модуль CheatSheet тоже ломается). Установка предельно простая -- копируем файл в APPPATH/classes и прописываем в bootstrap.php строку define('MERGED_CACHE_FILENAME', 'имя-файла'); , я пишу ее перед spl_autoload_register(). Также должен быть включен родной системный кэш Коханы.

(in English see below)

Далее...

Внутренние роуты в Kohana 3

Рубрики: Web frameworks
Метки: |
Дата: 31/01/2010 21:35:21
Подписаться на комментарии по RSS

Briefly in English (I'm going to translate this article a little bit later):
A modification of Kohana 3 Request and Route classes allows to hide some controllers/routes from "outside" interaction.

Задача

Разрешить доступ к некоторым контроллерам системы (Kohana 3) только изнутри системы.


Вариант решения

Простейший случай -- проверять в контроллере $this->request === Request::instance() и отказ в случае TRUE. Однако я бы хотел немного усложнить задачу: система вообще не должна знать про "скрытый" контроллер, если запрос осуществляется "извне". Зачем так? Это может быть полезно, в частности, при реализации Front Controller с общей аутентификацией, назначением прав и т.п. Конечно, не так сложно сделать это распределенно, но... тогда считайте рассказанное ниже моим экспериментом.

Далее...

Kohana 3 CheatSheet module 0.3

Рубрики: Web frameworks
Метки: |
Дата: 11/01/2010 11:08:02
Подписаться на комментарии по RSS

Небольшое обновление моего небольшого модуля CheatSheet для Kohana 3

Что нового:

- ручной сброс кэша
- запрет каталогов для отображения классов
- кнопка "закрыть" в блоке подсказки (чтобы не требовалось снайперской подготовки)


A little Kohana 3 CheatSheet module update


Added:

- manual cache invalidation (by clicking a link at the page bottom)
- can set directories to ignore classes
- "close" button for easier description block closing


Скачать/Download v. 0.3 29 (zip ~ 32 KiB)


Пример работы / Demo CheatSheet



Googlitics 0.2 для MaxsiteCMS

Рубрики: CMS
Метки: |
Дата: 24/12/2009 13:47:55
Подписаться на комментарии по RSS

Думаю, что можно называть релизом.


Что изменилось?

  • Пофикшен баг с асинхронной загрузкой статистики. Таки это был баг у меня в скрипте, причем классический -- неинициализация переменной. Иногда срабатывало, видимо, потому, что некоторые браузеры игнорировали. Короче, сейчас это работает. И у меня включено.
  • Исправлен баг с автоматической загрузкой, которая не срабатывала вообще из-за перемены мест уменьшаемого и вычитаемого. Сейчас все ОК, и добавил чтобы не обновляло автоматом только в течение дня. Кажется, так удобнее.
  • Плагин модифицирован под MaxSite CMS 0.36 (изменился  ajax-файл), поэтому всем, кто обновил ЦМС, надо обновить и плагин. Со старыми версиями ЦМС работать тоже будет.
  • "Косметические" правки текстов, кода и т.п.

Скачать полную версию 0.2 35 (~110 KiB)


UPD Скачать инструкцию по установке 0.2 11 (~1 KiB)


ЗЫ Всех, празднующих Рождество Христово 25 декабря -- поздравляю с наступающим!

Проблема с асинхронной статистикой

Рубрики: просто Дневник
Метки: |
Дата: 17/12/2009 13:19:09
Подписаться на комментарии по RSS

Вот и всплыло :(

За вчера согласно статистике Google (в асинхронном режиме) количество посетителей составило 7 человек, тогда как традиционные счетчики дают порядка 50 (ну и обычно где-то около этого и бывает). За позавчера падение есть тоже, но не такое большое. Посему пойду читать мануал по асинхронным запросам, а статистику потестирую с разными настройками.


"До выяснения" плагин можно ставить, только не включайте асинхронный режим (по умолчанию он выключен). Я не уверен, что дело только в плагине, иначе все обнулилось бы и в статусе было бы видно, наверное.

Googlitics 0.2 бета для MaxSite CMS

Рубрики: CMS
Метки: |
Дата: 16/12/2009 16:43:54
Подписаться на комментарии по RSS

Несмотря на сомнительные откровенные заявления гендиректора Google насчет приватности, польза от использования Google Analytics пока что превышает потенциальный вред. Поэтому продолжаю работу над плагином для MaxSite, сегодня у нас версия 0.2 бета. По результатам тестирования полет пока нормальный, поэтому решил выложить плагин для желающих попробовать. 

Далее...

Разработка Googlitics 0.2b

Рубрики: просто Дневник
Метки: |
Дата: 14/12/2009 14:20:41
Подписаться на комментарии по RSS

Написал бета-версию плагина Googlitics, где улучшен интерфейс, добавлена защита статистики от любопытных глаз, а также дописан вариант асинхронного запроса статистики, недавно представленный Google. Сейчас плагин тестируется.


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


Думал добавить еще аналитических данных, но решил, что, возможно, это будет в следующей версии вместе с рефакторингом кода.

Модуль Kohana 3 CheatSheet 0.2

Рубрики: Web frameworks
Метки: |
Дата: 05/11/2009 12:48:08
Подписаться на комментарии по RSS

Следующая версия плагина CheatSheet для фреймворка Kohana 3 -- 0.2. Основное изменение -- добавлен кэш, что уменьшило время генерации страницы более чем на порядок (где-то раз в 13, если быть более точным), а занимаемую память -- примерно на четверть. Инвалидация кэша не по времени, а по изменению данных. Кроме того, немного дополнен дизайн, убрана неприятная особенность, когда код мог вылазить за пределы своего блока. Рекомендую обновиться.

Файл справки в дистрибутиве README.ru


In English:

The next 0.2 version of CheatSheet module for Kohana 3 PHP framework  is presented. The main change is data cache, that strongly increases performance (page generation time become about 10 times less, memory consumption about 1/4 less). Cache invalidates not on expiration time but on data changes. Some other design features fixed and added. I recommend to update.

For more info see README.en file in distributive.

Страница с информацией о модуле

Module info page

Демонстрационная страница/Demo


Скачать/Download CheatSheet v. 0.2 56 (zipped ~32K)

Альфа-версия Googlitics 0.2

Рубрики: CMS
Метки: |
Дата: 03/11/2009 17:28:17
Подписаться на комментарии по RSS

Я тут устыдился того, что совсем забыл про рожденный мною плагин Googlitics для MaxSite CMS. А между тем, много событий произошло за это время, например, Google открыл API для цивилизованной работы со статистикой. Более того, хорошие люди написали кучу кода для применения туда разных красивостей.


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

Далее...