Глосарій

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

Визначення технічних термінів з 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) — в глибину, стек. Виявлення циклів, топологічне сортування