Глоссарий

Словарь веб-разработчика

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