Все записи категории ‘Программирование’

SQL-антипаттерны: плохие JOIN’ы и как их избежать

 6 Июл, 2025

JOIN — один из мощнейших инструментов в SQL. Но с большой силой приходит большая ответственность. Неверное использование JOIN может приводить к дублированию строк, утечке производительности, неявным ошибкам и даже разрушению логики приложения.

В этой статье рассмотрим примеры антипаттернов при использовании JOIN’ов, объясним, почему они плохи, и как их избегать.

Читать далее »

JOIN vs UNION — в чём разница?

 4 Июл, 2025

Эти два оператора в SQL на первый взгляд делают похожее — они «объединяют» таблицы. Но делают это по-разному и для разных целей.

Читать далее »

Что такое CROSS JOIN

 4 Июл, 2025

Конструкция CROSS JOIN в SQL — это один из видов JOIN, который создаёт декартово произведение двух таблиц: каждая строка из первой таблицы соединяется со всеми строками второй.

Читать далее »

Как получить код языка по умолчанию в Drupal

 4 Июл, 2025

В Drupal (начиная с версии 8 и выше, включая 10 и 11), чтобы получить код языка по умолчанию сайта (например, en, ru, fr), используйте следующий способ:

Читать далее »

urlencode vs rawurlencode: разница и примеры в PHP

 3 Июл, 2025

Если вам нужно передать данные в URL в PHP, вы наверняка сталкивались с функцией urlencode(). А может быть, слышали и о rawurlencode(). И ещё третья функция — http_build_query() — всплывает в ответах на форумах и в рекомендациях официальной документации.

Читать далее »

Настройка ЧПУ в Drupal 10: path_alias, Pathauto и Token

 2 Июл, 2025

Drupal — мощная, гибкая и в то же время довольно сложная CMS. Один из важных аспектов SEO и удобства пользователей — это ЧПУ (человекопонятные URL). В этой статье мы рассмотрим, как настроить такие адреса в современных версиях Drupal (9 и 10) с помощью ядра и популярных модулей.

Читать далее »

Unit-тесты в Drupal 11: настройка PHPUnit и примеры запуска

 30 Июн, 2025

Если вы только начинаете писать тесты в Drupal, то официальная документация — первое место, куда стоит заглянуть. Однако она не всегда отвечает на все вопросы новичков. В этой статье разберём несколько моментов, которые часто вызывают недоумение.

Читать далее »

Как сделать кликабельные ссылки внутри SVG при использовании Fancybox

 21 Июн, 2025

Когда вы используете Fancybox для отображения изображений, SVG и других медиа-объектов, возникает интересная проблема: если внутри SVG находятся ссылки (<a>), они перестают работать. Почему? Потому что Fancybox «перехватывает» клик, и вы не попадаете на нужный href.

Вот простое решение этой задачи.

Читать далее »

WP Plugin Active Contour для WordPress — визуальное редактирование контуров на изображениях

 17 Июн, 2025

Идея сделать этот плагин возникла у меня уже давно, но как это часто бывает, не хватало времени «сесть и реализовать». Но не давно, я остался без контракта, и у меня появилось время на собственные проекты. Одновременно хотелось попробовать давно интересовавшую меня тему — создание собственных Gutenberg-блоков для редактора WordPress. Так родился Active Contour — плагин, позволяющий создавать и редактировать контуры поверх изображений прямо в интерфейсе WordPress.

GitHub репозиторий:
https://github.com/sshra/active-contour

Страница на wordpress.org
https://wordpress.org/plugins/active-contour/

Читать далее »

Xdebug + PHP-FPM + WSL + VS Code: Настройка за 5 минут

 13 Июн, 2025

Уже писал гайдик на эту тему, но там я рассказывал о процессе настройки на примере PHP7. Решил обновить информацию, т.к. PHP 8 используется 3я версия xdebug, а также есть нюансы, связанные с определением адреса клиентского хоста.

Читать далее »