Глоссарий
Словарь веб-разработчика
Визначення технічних термінів з PHP, DevOps, MySQL та AI — з прикладами коду та поясненнями простою мовою.
228
терминов
46
букв
Р
Регулярные выражения (Regex)
Регулярные выражения — язык описания шаблонов для поиска, проверки и замены строк. Мощный инструмент, но сложный для чтения: выражение /^[\w.-]+@[\w.-]+\.[a-z]{2,}$/i проверяет формат email.Основной синтаксис. — любой символ; * — 0+; + — 1+; ? — 0 или 1[abc] — один из символов; [a-z] — диапазон^ — начало строки; $ — конец(…) — группа захвата; (?:…) — без захвата\d — цифра; \w — буква/цифра/подчёркивание; \s — пробельный символКогда не стоитRegex — не лучший инструмент для парсинга HTML/XML (используйте DOM-парсеры) или сложных форматов как JSON. Но идеален для валидации форматов и поиска в тексте.Инструментыregex101.com — онлайн-тестирование с объяснением каждого токена. Незаменим при отладке сложных выражений.
Рекурсия
Рекурсия — функция, вызывающая сама себя для решения подзадачи меньшего размера. Классическое применение: обход деревьев, разделение задачи на подзадачи (divide and conquer), математические последовательности.Два обязательных элементаBase case — условие остановки. Без него рекурсия бесконечна → stack overflowRecursive case — вызов себя с меньшим/более близким к базовому аргументомПример: обход каталоговfunction scanDir(string $path): array {
$result = [];
foreach (scandir($path) as $item) {
if ($item === '.' || $item === '..') continue;
$full = "$path/$item";
$result[] = is_dir($full) ? scanDir($full) : $full;
}
return $result;
}Рекурсия vs ИтерацияРекурсия элегантна для задач с естественной древовидной структурой. Но каждый вызов занимает место в стеке. Глубокая рекурсия может вызвать stack overflow. Для больших глубин — итерационный подход с явным стеком.
Репликация БД
Репликация — синхронизация данных между несколькими серверами БД. Есть первичный (primary/master) и один или несколько вторичных (replica/slave) серверов. Реплики получают изменения от primary и дублируют их у себя.Зачем нужнаМасштабирование чтения — запросы SELECT распределяются между репликами; primary обрабатывает только записиОтказоустойчивость — при падении primary реплика становится новым primary (failover)Резервное копирование — бэкап снимают с реплики, не нагружая primaryСинхронная vs асинхроннаяСинхронная — primary ждёт подтверждения от реплики. Нет потерь данных, но выше задержкаАсинхронная — primary не ждёт. Меньше задержка, но риск потери последних записей при failover