Главная
MSK / Europev.1 — 2026
— 00Index / Разработчик

Блог и материалы,
Андрей.
Разработчик

Создаю веб-приложения, пишу о технологиях и делюсь опытом. Битрикс, fullstack, немного DevOps.

Стек
01PHP
02Laravel
03Bitrix
04WordPress
05TypeScript
06JavaScript
07CSS

Популярные теги

Читают больше всего

Все теги
04 / Самое читаемое
001
Как настроить SSL Let's Encrypt в BitrixVM на CentOS: выпуск и продление

Пошаговое решение: выпуск и продление SSL Let's Encrypt в BitrixVM на CentOS — certbot webroot, nginx, cron. Конфиги, команды, проверка, типичные ошибки, чеклист и диагностика.

457
DevOps
002
Папка /local в 1C-Битрикс: структура проекта без боли и костылей

После обновления ядра Битрикс кастомный код пропадает или ломается. Как правильно организовать /local: php_interface, init.php, components, templates — чтобы update и composer не затирали правки. Код и типичные конфликты.

308
Backend
003
1С-Битрикс: как настроить canonical через SetPageProperty и ShowMeta

Пошаговая настройка canonical в 1С-Битрикс через свойства страницы: SetPageProperty, SetDirProperty и ShowMeta с проверкой результата и типичными ошибками.

256
Backend
004
Личный диск Bitrix24 не открывается и не загружаются файлы: восстановление Storage пользователя

Разбираем реальный кейс Bitrix24: у администратора не открывался личный диск, вместо него отображалась лента, а вложения в почте не загружались. Причина оказалась неожиданной — отсутствующее персональное хранилище Disk Storage.

215
Backend
005
Как устранить ошибку Class not found в PHP: настройка автозагрузки PSR-4

Пошаговое решение ошибки Class not found в PHP: настройка PSR-4 через Composer, конфигурация composer.json, рабочий код, проверка и типичные ошибки при переходе к ООП и отказе от ручных require.

205
Backend
006
MySQL не запускается в BitrixVM: ошибка Unix socket lock file is empty

Разбираем ошибку Unix socket lock file is empty в BitrixVM и CentOS. Диагностика MySQL, анализ логов, поиск причины и восстановление запуска сервиса без потери данных.

193
DevOps

Сниппеты кода

Полезные примеры и готовые решения

Все сниппеты
php

Битрикс: поиск правила скидки с fallback по имени и значению

Метод resolveDiscount() для класса BirthdayCouponSender: поиск активного правила скидки сначала по фиксированному ID, затем по точному совпадению процента и USE_COUPONS, затем по ключевым словам в NAME/XML_ID.

databasephpbitrix1c-bitrix
php

Битрикс: защита от дублей купонов через маркер в поле DESCRIPTION

Методы hasCouponForYear() и buildCouponMarker() для класса BirthdayCouponSender: проверка уже выданных купонов за текущий год через строку-маркер 'birthday_coupon:user=N;year=YYYY' в поле DESCRIPTION таблицы купонов.

databasephpbitrix1c-bitrix
php

Битрикс: батчевый обход пользователей для рассылки купонов

Методы sendCouponsInBatches() и processBatch() для класса BirthdayCouponSender: постраничный обход активных пользователей через lastUserId вместо OFFSET, проверка дней до дня рождения, защита от дублей за год.

cronperformancephpbitrix
docker

Docker: 403 Forbidden в Bitrix-окружении

Решение ошибки 403 Forbidden при развёртывании Bitrix в Docker — конфликт именованных томов, права доступа и force-recreate.

js

PostgreSQL: Node.js (pg) — Pool, параметризованные запросы, JSONB

Подключение к PostgreSQL из Node.js через пакет pg: Pool, query с $1 $2, запросы по JSONB. Копируй — вставляй — работает. По документации node-postgres.

databasenodejspgnode
postgresql

PostgreSQL: JSONB и GIN-индекс — таблица, запросы, индексы

Создание таблицы с JSONB, GIN-индекс для быстрого поиска, операторы @> и ?. Копируй — вставляй — работает. По документации PostgreSQL.

jsonindexginjsonb

Берусь за сложное.
Пишу честно.