Глоссарий

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

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

228 терминов
46 букв
О
Облачные вычисления
Облачные вычисления — предоставление вычислительных ресурсов (серверы, хранилища, БД, сети) через интернет с оплатой за фактическое использование. Вместо покупки и обслуживания собственного железа — арендуете нужное у провайдера.Модели сервисаIaaS (Infrastructure as a Service) — арендуете VM, диски, сеть. Сами ставите ОС, middleware. AWS EC2, Google Compute EnginePaaS (Platform as a Service) — провайдер управляет инфраструктурой, вы деплоите код. Heroku, Google App Engine, RenderSaaS (Software as a Service) — готовый продукт через браузер. Gmail, Slack, SalesforceПреимуществаПлатите только за использованные ресурсыМасштабирование за минутыГлобальная инфраструктураНет капитальных затрат на железо
Обобщённые типы (Generics)
Generics — механизм параметризованных типов: написать класс или функцию один раз, работающую с любым типом, сохраняя типовую безопасность. Компилятор проверяет типы на этапе сборки, а не в runtime.Пример (TypeScript)function firstItem(arr: T[]): T | null { return arr.length ? arr[0] : null; } const n = firstItem([1, 2, 3]); // number const s = firstItem(['a', 'b']); // stringВ PHPPHP не имеет встроенных generics, но PHPStan/Psalm поддерживают их через аннотации @template и docblock-и. Они проверяются статически, а не в runtime./** @template T */ class Collection { /** @param T $item */ public function add($item): void { ... } }Где используютсяКоллекции, репозитории, Result types, любой контейнер. Java, C#, TypeScript, Go (с версии 1.18) имеют встроенные generics.
Оконные функции SQL
Оконные функции (Window Functions) — SQL-функции, вычисляющие значение для каждой строки относительно связанного набора строк (окна), не сворачивая их в одну. Позволяют получать ранги, накопительные суммы и сравнения без подзапросов.СинтаксисSELECT name, salary, RANK() OVER (PARTITION BY dept ORDER BY salary DESC) AS rank, SUM(salary) OVER (PARTITION BY dept) AS dept_total, AVG(salary) OVER () AS company_avg FROM employees;Популярные функцииROW_NUMBER() — порядковый номер в окнеRANK() / DENSE_RANK() — ранг (с пропусками / без)LAG(col, n) / LEAD(col, n) — значение из предыдущей/следующей строкиSUM / AVG / MAX OVER (...) — агрегаты по окну без GROUP BYVs GROUP BYGROUP BY сворачивает строки в одну. Window function сохраняет все строки и добавляет вычисленное значение к каждой.
Очередь (Queue)
Очередь — механизм асинхронной обработки задач вне основного HTTP-запроса. Вместо того чтобы отправлять email или генерировать отчёт синхронно (заставляя пользователя ждать), задача помещается в очередь и выполняется воркером в фоне.Как это работаетЗадача сериализуется в брокер очереди (Redis, RabbitMQ, SQS, база данных). Отдельный процесс-воркер постоянно считывает задачи из очереди и выполняет их. Если задача упала — она автоматически повторяется N раз перед перемещением в dead letter queue.Типичные задачиОтправка email и SMSГенерация PDF и отчётовРесайз изображенийВызовы внешних APIИндексация в поисковый движокБрокеры очередейRedis — простейший вариант для небольших проектов. RabbitMQ — AMQP-брокер с гибкой маршрутизацией. Amazon SQS — облачное решение без поддержки инфраструктуры. Apache Kafka — для больших объёмов и стриминга событий.