Глосарій
Словник веб-розробника
Визначення технічних термінів з PHP, DevOps, MySQL та AI — з прикладами коду та поясненнями простою мовою.
228
термінів
47
літер
Р
Регулярні вирази (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