-
PHP мини-проект: код, PHPUnit-тесты, debug и deploy
Готовый пример структуры PHP-проекта с бизнес-логикой, PHPUnit-тестами, debug-логированием и безопасным deploy через rsync.
-
Composer на виртуальном хостинге без SSH: локальная установка и загрузка vendor
Как использовать Composer на обычном shared hosting без доступа к консоли: локальная сборка зависимостей, загрузка vendor, проверка и важные ограничения.
-
MODX Revo: session.gc_probability и gc_divisor — чтобы не раздувалась modx_session
Что значит предупреждение про garbage collector сессий в MODX, какие значения ставить в PHP и как безопасно почистить таблицу modx_session.
-
Yandex Translate API (Yandex Cloud): API Key + Folder ID и PHP-класс
Пошаговая настройка Yandex Translate в Yandex Cloud через Service Account и API Key (scope yc.ai.translate.execute) + безопасный PHP-класс translate с SSL-проверкой, обработкой ошибок и примером использования.
-
Защита от Prompt Injection в PHP: guard для LLM + RAG + JSON-валидация
Готовый PHP-guard против prompt injection: изоляция пользовательских инструкций, фильтр попыток сломать правила, политика инструментов, строгий JSON-ответ и валидация. Подходит для chat/RAG/агентов.
-
Эмбеддинги в MySQL без векторной БД: хранение и поиск cosine на PHP
Простая и безопасная реализация эмбеддингов в MySQL: схема таблиц, хранение float32 в BLOB, индексация текста и поиск ближайших через кандидатов + cosine similarity в PHP.
-
Железобетонный .gitignore для веб-проекта: PHP/MODX, Node/Next, Python
Готовый .gitignore для веб-проектов: кэш, логи, бэкапы, IDE, зависимости и секреты (.env, токены, ключи). С примерами, краевыми случаями и проверкой.
-
Архивирование старых данных в MySQL: простая шпаргалка
Архивирование старых данных в MySQL/MariaDB: когда это нужно, общая схема, готовые SQL-шаблоны, batch-удаление, индексы, бэкапы и VIEW для отчётов за всю историю.
-
Обновление MariaDB с 10.3 до 10.11 на сервере RHEL/AlmaLinux 8
Шпаргалка по безопасному major-апгрейду MariaDB на серверах RHEL/AlmaLinux 8 с переходом на официальное репо MariaDB
-
Bulk Fetching — избавляемся от N+1 запросов
Как сократить десятки SQL-запросов до трёх: универсальный приём «bulk fetching» с примером на PHP.
-
Реализации задачи FizzBuzz на Python
Простое решение задачи с помощью range и условной конструкции if-else
-
Импорт с помощью sys.path.append в Python
Метод позволяет импортировать функцию из файла, который находится в другом каталоге
-
Быстрое создание проекта на Django
Быстрое создание сайта на Django с 3 страницами на рабочем сервере
-
Виртуальное окружение для Python-проектов
Virtual Environment — это изолированное окружение для Python-проектов, которое позволяет отделить зависимости (библиотеки) одного проекта от других
-
PHP для базовой аутентификации
Можно реализовать базовую аутентификацию непосредственно в коде PHP
-
REGEXP_INSTR для поиска подстроки с помощью регулярного выражения
Функция помогает эффективно анализировать и обрабатывать текстовые данные с использованием регулярных выражений в SQL-запросах
-
Как исправить ошибку TypeError: sizeof() в PHP 8+ при работе с массивами и Countable объектами
Причины появления ошибки и эффективное решение с использованием функции is_countable()
-
Обновление PHP до 8.2, 8.3 или 8.4 на AlmaLinux 8/9
Пошаговое обновление PHP через Remi на AlmaLinux 8 и 9: выбор версии, резервная копия, DNF-модули, PHP-FPM, проверка расширений и откат.
-
Функция extract() в PHP
Функция используется для импорта переменных из массива в текущую символьную таблицу
-
Ошибка MySQL #1071: слишком длинный ключ — причины и исправление
Ошибка MySQL/MariaDB #1071: почему индекс превышает 767 или 3072 байта, как проверить ROW_FORMAT, сохранить utf8mb4 и мигрировать старую таблицу.
-
Добавить внешний ключ к существующей таблице в MySQL
Команда ALTER TABLE позволяет модифицировать структуру таблицы после её создания
-
Внешние ключи в SQL/MySQL
Внешние ключи позволяют автоматически поддерживать соответствие между связанными таблицами
-
Оператор EXISTS для проверки наличия строк в MySQL
Он возвращает true, если подзапрос находит хотя бы одну строку, и false в противном случае
-
Получить структуру таблицы, представления или результата запроса SQL/MySQL
Команда DESCRIBE является быстрым и удобным способом узнать структуру таблицы или представления
-
Представления в SQL/MySQL
Это виртуальная таблица, которая предоставляет результат SQL-запроса как будто это таблица
-
Атрибуты в PHP 8+
Это способ добавления метаданных к классам, методам, функциям, параметрам, свойствам и т.д. в виде аннотаций
-
Разница между операторами = и LIKE без спецсимволов в SQL
Разница заключается в их предназначении и поведении при выполнении запросов
-
Проверка валидности конфигурационного файла /etc/my.cnf MariaDB или MySQL без перезагрузки сервера
Можно использовать команду mysqld с опцией --help и перенаправлением вывода в /dev/null
-
Запуск PHP скрипта с использованием специального php.ini в командной строке
Параметр -c в командной строке позволяет указать путь к каталогу, где лежит альтернативный php.ini
-
Паттерн MVC (Model-View-Controller) в PHP
Это архитектурный паттерн для разделения приложения на три компонента: Модель, Представление и Контроллер