Глосарій

Словник веб-розробника

Визначення технічних термінів з PHP, DevOps, MySQL та AI — з прикладами коду та поясненнями простою мовою.

228 термінів
47 літер
Д
Двофакторна автентифікація (2FA)
Двофакторна автентифікація (2FA/MFA) — захист облікового запису двома незалежними доказами особистості. Навіть якщо пароль скомпрометований — зловмисник не увійде без другого фактора.Три типи факторівТе, що ти знаєш — пароль, PINТе, що ти маєш — SMS-код, TOTP-додаток (Google Authenticator, Authy), апаратний ключ (YubiKey)Те, чим ти є — відбиток пальця, Face IDTOTPTime-based One-Time Password — найпоширеніший метод. Застосунок і сервер знають спільний секрет і час. Кожні 30 секунд обидва генерують однакове 6-значне число за алгоритмом HMAC-SHA1.SMS 2FAНайзручніший, але найменш безпечний варіант: SIM-swapping, SS7-атаки. Для критичних систем перевагу надають TOTP або апаратним ключам.
Дедлок (Deadlock)
Дедлок — ситуація в БД або багатопотоковому коді, коли два процеси чекають один на одного і жоден не може продовжити роботу. Транзакція A заблокувала ресурс 1 і чекає ресурс 2, транзакція B — навпаки.Як виникаєКласичний приклад: переказ грошей. Транзакція A блокує рахунок 1, потім намагається заблокувати рахунок 2. Транзакція B заблокувала рахунок 2 і чекає рахунок 1. Обидві чекають вічно.Як СУБД вирішуєMySQL та інші СУБД автоматично виявляють дедлок і «вбивають» одну з транзакцій (з меншим обсягом змін). Ця транзакція завершується помилкою і повинна бути перезапущена додатком.ПрофілактикаЗавжди звертатись до ресурсів в одному порядку в усіх транзакціяхСкорочувати час утримання блокувань — тримати транзакцію якомога коротшоюВикористовувати SELECT ... FOR UPDATE лише де справді потрібно
Дерево (структура даних)
Дерево — ієрархічна структура даних з вузлами і ребрами. Один кореневий вузол, кожен вузол може мати дочірні. Немає циклів. DOM HTML, файлова система, синтаксичне дерево програми — всі є деревами.Ключові терміниКорінь (root) — єдиний вузол без батькаЛистя (leaf) — вузол без дочірніхВисота — максимальна глибина від кореня до листяТипи деревBinary Tree — кожен вузол має ≤ 2 дочірніхBST (Binary Search Tree) — ліве дочірнє < вузол < праве. Пошук O(log n)B-Tree — багатошляхове, збалансоване. Основа індексів MySQL/PostgreSQLTrie — рядкове дерево для швидкого пошуку за префіксом (автодоповнення)ОбходиPre-order (корінь → ліво → право), In-order (ліво → корінь → право, дає відсортований BST), Post-order, BFS (рівень за рівнем).
Дизайн-система
Дизайн-система — колекція готових UI-компонентів, патернів, токенів (кольори, шрифти, відступи) і правил їх використання. Єдина «мова дизайну» для всієї продуктової команди — дизайнери і розробники говорять одними термінами. З чого складається Токени — іменовані значення: --color-primary: #c05c08, --spacing-md: 16px Компоненти — кнопки, форми, модалі, картки. Готові до використання блоки Патерни — правила комбінування компонентів (форми реєстрації, пагінація) Документація — коли і як використовувати кожен компонент Популярні дизайн-системи Material Design (Google), Fluent (Microsoft), Tailwind UI, Ant Design, Radix UI. Чому важливо Без дизайн-системи: кожна нова сторінка має трохи інші відступи, кольори, розміри кнопок. Consistence погіршується з часом. З дизайн-системою: зміна токену --color-primary оновлює весь продукт.
Динамічне програмування
Динамічне програмування (DP) — техніка оптимізації рекурсивних алгоритмів: результати підзадач кешуються, щоб не обчислювати їх повторно. Перетворює задачі з O(2ⁿ) на O(n) або O(n²). Дві підходи Top-down (мемоізація) — рекурсія + кеш результатів. Природніший для запису Bottom-up (табуляція) — ітеративно заповнюємо таблицю від базових випадків Числа Фібоначчі // Без DP: O(2^n) fib(n) = fib(n-1) + fib(n-2) // З мемоізацією: O(n) $memo = []; function fib(int $n): int { global $memo; if ($n
Доступність (a11y)
Доступність (Accessibility, a11y) — розробка вебу так, щоб люди з обмеженими можливостями могли повноцінно ним користуватись. Близько 15% населення має якесь обмеження. В багатьох країнах доступність вебу — законодавча вимога.Основні категоріїЗорові — сліпота, слабкий зір. Інструмент: screen reader (NVDA, VoiceOver)Слухові — глухота. Потрібні субтитри та транскриптиМоторні — керування лише клавіатурою. Весь функціонал має бути доступний без мишіКогнітивні — простота мови, передбачувана навігаціяПрактикаСемантичний HTML: &lt;button&gt; замість &lt;div onclick&gt;Alt-тексти для зображеньКонтрастність тексту: мінімум 4.5:1 (WCAG AA)aria-label, role для кастомних компонентівВидиме фокусування клавіатури (:focus-visible)