Стек

Стек в IT — это набор технологий, программ, языков программирования и инструментов, которые используются вместе для создания программного продукта. Это как набор инструментов мастера: плотнику нужны молоток, пила, рубанок и другие инструменты, чтобы построить дом, так и разработчику нужен определённый набор технологий для создания приложения или сайта.

Происхождение слова

Слово «стек» происходит от английского «stack», что буквально означает «стопка» или «куча» — предметы, сложенные один на другой. В программировании этот термин первоначально использовался для описания особой структуры данных (стек вызовов), где элементы добавляются и удаляются только с одного конца, как стопка тарелок. Позже значение расширилось, и «технологический стек» стал означать набор взаимосвязанных технологий, которые «надстраиваются» друг над другом для работы приложения.

Примеры из жизни

  1. LAMP-стек для веб-сайтов включает Linux (операционная система), Apache (веб-сервер), MySQL (база данных) и PHP (язык программирования).
  2. MEAN-стек состоит из MongoDB (база данных), Express.js (фреймворк), Angular (фронтенд-фреймворк) и Node.js (бэкенд).
  3. Мобильный стек для Android-приложения может включать Java или Kotlin (языки программирования), Android SDK (набор инструментов разработки), Firebase (облачные сервисы) и Android Studio (среда разработки).
  4. Стек дизайнера может состоять из Figma (для макетов), Adobe Photoshop (для обработки изображений) и Illustrator (для векторной графики).

В мире IT

В разработке программного обеспечения стек обычно включает:

  • Языки программирования (Python, JavaScript, Java и т.д.)
  • Фреймворки и библиотеки (React, Django, Spring и т.д.)
  • Базы данных (PostgreSQL, MongoDB, Redis и т.д.)
  • Инструменты разработки (Git, Docker, Jenkins и т.д.)
  • Серверные технологии (Nginx, Apache, Kubernetes и т.д.)

Аналогии

  • Кулинарный набор: Повару нужны не только продукты, но и кастрюли, ножи и другие инструменты — это его кулинарный «стек».
  • Набор для рисования: Художнику нужны холст, кисти, краски разных типов — всё вместе это его художественный «стек».
  • Музыкальная группа: Барабаны, гитары, бас, клавишные вместе образуют «стек инструментов» для создания музыки.
  • Набор автомобилиста: Машина, навигатор, набор инструментов, канистра с бензином — «стек» для путешествия.

Синонимы

  • Технологический стек
  • Набор технологий
  • Технологическая экосистема
  • Tech stack (английский вариант)
  • Тулчейн (toolchain, в узком смысле для инструментов разработки)
  • Стек-решение

Для технологических стеков часто используются аббревиатуры, образованные от первых букв входящих в них технологий:

  • LAMP: Linux, Apache, MySQL, PHP
  • MEAN: MongoDB, Express.js, Angular, Node.js
  • MERN: MongoDB, Express.js, React, Node.js
  • JAM: JavaScript, APIs, Markup
  • LEMP: Linux, Nginx (произносится как «Engine-X», отсюда «E»), MySQL, PHP

Также в IT используется термин «фулстек» (fullstack) — разработчик, который работает и с фронтендом (тем, что видит пользователь), и с бэкендом (серверной частью).

© «Code==Poetry», 2025