Релиз Ruxe Engine 1.9 Beta 5

Снимок экрана 2016-05-14 в 19.16.40

Новая бета версия Ruxe Engine 1.9 отличается появлением дополнения Фотогалерея, которого так долго многие ждали. Дополнение обладает удобным интерфейсом управления альбомами и широкими возможностями кастомизации на сайтах.

Скачать Ruxe Engine 1.9 Beta 5: https://ruxe-engine.ru/download
Инструкция по обновлению: https://ruxe-engine.ru/upgrade
Обсуждение на нашем форуме: https://ruxe-engine.ru/forum/viewtopic.php?f=10&p=3434#p3434

Изменений по сравнению с предыдущей бетой не так много:
1) direx: новое дополнение «Фотогалерея»;
2) Wasilich, dimon: исправления адаптивности админ-центра;
3) Wasilich: улучшения стандартных тем оформления;
4) Includen: исправления незначительных ошибок и доработка.

Никогда не используйте NULL

Когда мы вместе с клиентами проводим код-ревью, регулярно наблюдаем одну и ту же картину, которую я считаю проблематичной во многих отношениях – использование null в качестве допустимого свойства или возвращаемого значения. Можно же сделать лучше.

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

Для чего это используется

Примером частого сценария использования может быть внедрение дополнительных зависимостей через метод класса:

class SomeLoggingService {
    private $logger = null;

    public function setLogger(Logger $logger) {
        $this->logger = $logger;
    }
}

 

В большинстве случаев logger будет установлен, но кто-то забудет об этом при использовании вашего сервиса. На сцену выходит второй разработчик и пишет новый метод в этом классе, используя свойство $logger. Во время разработки свойство всегда устанавливается и тестируется по соответствующим сценариям использования, так что разработчики забывают проверять на null – очевидно, это станет проблемой при других обстоятельствах. Вы полагаетесь на то, что методы будут вызваны в определённом порядке, который сложно документировать. Метод getLogger(), создающий нулевой логгер по умолчанию, мог бы решить эту проблему, но не гарантировано, поскольку второй разработчик может не знать об этом методе и просто использовать свойство.

Читать дальше…

Как сделать HTTPS на сайте и защититься от SSL-атак

Обычной установки SSL сертификата может быть недостаточно, поскольку нужно также обеспечить защиту от атак, направленных на сам SSL. В данной заметке пошагово рассказывается как сделать HTTPS на сайте, работающем под Apache и защититься от известных SSL-атак. Для проверки будет использован популярный сервис тестирования HTTPS:

summary-a

 

Читать дальше…

К Ruxe Engine присоединился Енот Тоне!

2016-05-04_185437

На форуме поддержки Ruxe Engine была тема про выбор маскота для нового Ruxe Engine 2, где варианты с енотами пришлись по душе сообществу, но с каким именно не определились. Мне кажется очень удачным вариантом был бы енот Тоне. Он поможет выделить CMS среди других: где ещё есть такой маскот, вернее в какой CMS вообще есть маскот? А тут не просто персонаж, а живой, с историей и привлекающий. Зачем CMS с серьёзной миной — таких валом. Тоне будет добавлять немного юмора и доброты. Тем более что Ruxe Engine — это CMS для людей, а люди — существа эмоциональные. А ещё он мимими 🙂 Енот Тоне с энтузиазмом согласился участвовать в проекте и быть его маскотом. Ура! 🙂

Кроме того, запущен новый сайт Ruxe Engine, рассказывающий о проекте и разработке Ruxe Engine 2: https://ruxe-engine.ru.

Обсуждение на форуме: https://ruxe-engine.ru/forum/viewtopic.php?f=24&t=236.

Суперскоростной Symfony с помощью nginx

Вкратце: поместите обратный прокси-сервер перед вашим приложением (для HTTP-кэширования или с целью балансировки нагрузки), чтобы увеличить его производительность.

Фреймворки, такие как Symfony, потенциально позволяют создавать суперскоростные приложения. Мы уже видели один способ как добиться этого (путём превращения приложения в HTTP сервер), другой способ заключается в установке обратного прокси перед ним.

В данной статье мы возьмём Symfony приложение и увидим, как увеличить его производительность в 140 раз с помощью nginx.

Читать дальше…

Обновлённый генератор запоминающихся паролей

Снимок экрана 2016-04-20 в 11.37.39

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

Страница сервиса: http://ahrameev.ru/password