Блог и материалы,
Андрей.
Разработчик
Создаю веб-приложения, пишу о технологиях и делюсь опытом. Битрикс, fullstack, немного DevOps.
Пошаговая миграция WordPress на Bitrix: перенос контента и URL, 301-редиректы, SEF, импорт в инфоблоки, проверка и типичные ошибки без потери SEO.
Пошаговое решение ошибки Class not found в PHP: настройка PSR-4 через Composer, конфигурация composer.json, рабочий код, проверка и типичные ошибки при переходе к ООП и отказе от ручных require.
Разбираем закон о русском языке для бизнеса без паники: кого касается, что запрещено, что разрешено и где преувеличения.
Произвольные поля (post meta) для Custom Post Type не сохраняются или пустые после обновления. Решение через register_post_meta, add_meta_box и save_post с nonce — код, диагностика и типичные ошибки.
Как сделать кастомную страницу настроек темы в 1С-Битрикс: сохранение параметров через Option::set/get, защита формы CSRF-токеном и проверка в шаблоне.
Пошаговая настройка canonical в 1С-Битрикс через свойства страницы: SetPageProperty, SetDirProperty и ShowMeta с проверкой результата и типичными ошибками.
Сниппеты кода
Полезные примеры и готовые решения
Docker: 403 Forbidden в Bitrix-окружении
Решение ошибки 403 Forbidden при развёртывании Bitrix в Docker — конфликт именованных томов, права доступа и force-recreate.
PostgreSQL: Node.js (pg) — Pool, параметризованные запросы, JSONB
Подключение к PostgreSQL из Node.js через пакет pg: Pool, query с $1 $2, запросы по JSONB. Копируй — вставляй — работает. По документации node-postgres.
PostgreSQL: JSONB и GIN-индекс — таблица, запросы, индексы
Создание таблицы с JSONB, GIN-индекс для быстрого поиска, операторы @> и ?. Копируй — вставляй — работает. По документации PostgreSQL.
PostgreSQL: EXPLAIN ANALYZE — как найти медленный запрос
Как включить и читать план выполнения запроса: EXPLAIN ANALYZE, BUFFERS, Seq Scan vs Index Scan. По официальной документации PostgreSQL.
Nginx в BitrixVM: SSL-конфиг для Let's Encrypt
Минимальный конфиг nginx для использования сертификатов Let's Encrypt в BitrixVM. Файлы в /etc/nginx/bx/conf/ и подключение через include в site_avaliable.
Docker Compose: volumes vs bind mounts — что использовать и когда
Разбор volumes и bind mounts в Docker Compose: различия, сценарии использования и типичные ошибки при работе с данными.