Глосарій
Словник веб-розробника
Визначення технічних термінів з PHP, DevOps, MySQL та AI — з прикладами коду та поясненнями простою мовою.
228
термінів
47
літер
Г
Гексагональна архітектура
Гексагональна архітектура (Ports & Adapters, Аліщр Кокберн) — доменна логіка у центрі, ізольована від зовнішнього світу через порти (інтерфейси) і адаптери (реалізації). HTTP, черги, БД, CLI — усе зовнішнє, взаємозамінне.
Порти і адаптери
Port — інтерфейс, що описує взаємодію з доменом. Наприклад: UserRepository, PaymentGateway
Primary adapter — ініціює дію (HTTP-контролер, CLI-команда, черга)
Secondary adapter — реалізація порту (MySQL репозиторій, Stripe gateway, SendGrid mailer)
Чому "гексагон"
Шестикутник у назві — не технічний факт, а символ: у домена є кілька сторін (портів) для зовнішньої взаємодії. Кількість не фіксована.
Спорідненість
Clean Architecture, Onion Architecture — різні назви тієї ж ідеї: бізнес-логіка не залежить від інфраструктури. Різниця — в деталях шарування.
Генератори (yield)
Генератор — функція, яка повертає значення по одному за допомогою yield, не завантажуючи весь результат у пам'ять. Ідеальний для обробки великих наборів даних: CSV-файлів, результатів БД, нескінченних послідовностей.Прикладfunction csvReader(string $file): Generator {
$fh = fopen($file, 'r');
while (!feof($fh)) {
yield fgetcsv($fh);
}
fclose($fh);
}
foreach (csvReader('million_rows.csv') as $row) {
process($row); // лише один рядок у памʼяті
}Переваги над масивамиМасив з мільйонів рядків займе сотні MB. Генератор — O(1) пам'яті незалежно від обсягу. Виконання ліниве: наступне значення обчислюється тільки при запиті.yield fromyield from делегує виконання іншому генератору або ітерованому об'єкту — корисно для композиції генераторів.
Граф (структура даних)
Граф — структура даних із вершинами (nodes) і ребрами (edges) між ними. Моделює будь-які зв'язки: соцмережі, дорожні карти, залежності пакетів, мікросервіси.
Типи графів
Directed / Undirected — ребра спрямовані (A→B) чи ні (A—B)
Weighted — ребра мають вагу (відстань, вартість)
Cyclic / Acyclic — є цикли чи ні
DAG (Directed Acyclic Graph) — спрямований без циклів. Граф залежностей npm/composer
Представлення
Adjacency Matrix — 2D масив. O(1) перевірка ребра, O(V²) пам'ять
Adjacency List — список сусідів. O(V+E) пам'ять, зазвичай ефективніший
Алгоритми обходу
BFS (Breadth-First Search) — рівень за рівнем, черга. Найкоротший шлях в незваженому графі
DFS (Depth-First Search) — в глибину, стек. Виявлення циклів, топологічне сортування