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