Backend
В разделе 249 терминов
В разделе собраны термины, связанные с серверной разработкой и общими принципами программирования. Здесь объясняются архитектура приложений, работа с данными, API, безопасность, тестирование и инфраструктура. Определения написаны простым языком и помогают разработчикам, владельцам сайтов и заказчикам понимать техническую документацию. Понятия из этого раздела не повторяются в последующих частях глоссария.
Термины раздела «Backend»
А
-
Абстракция
abstraction
Приём проектирования, при котором сложную систему представляют упрощённой моделью: видно, что она делает, а подробности того, как именно, спрятаны внутри.
-
Авторизация
authorization
Проверка того, что именно разрешено пользователю или программе, чья личность уже установлена: какие разделы открывать, какие данные читать и какие действия выполнять.
-
Активное обучение
active learning
Подход в машинном обучении, при котором модель сама подсказывает, какие примеры отдать человеку на разметку, чтобы научиться быстрее и на меньшем объёме данных.
-
Алгоритм
algorithm
Конечная и однозначная последовательность шагов, по которой из входных данных получается нужный результат, — будь то сортировка списка или расчёт стоимости доставки.
-
Аргумент функции
argument
Значение, которое передают функции в момент вызова; оно попадает в соответствующий параметр и определяет, с какими данными функция будет работать.
-
Аутентификация
authentication
Проверка подлинности: система убеждается, что пользователь, сервис или устройство действительно тот, за кого себя выдаёт, — по паролю, коду, ключу или сертификату.
Б
-
Баг
bug
Ошибка в программе, из-за которой она ведёт себя не так, как задумано: считает неверную сумму, не отправляет форму, падает при определённых данных.
-
База данных
database
Упорядоченное хранилище данных под управлением специальной программы — СУБД, которая позволяет быстро находить, изменять и защищать записи.
-
Безопасность приложений
Application Security
Направление разработки, которое отвечает за то, чтобы приложение нельзя было взломать: от проектирования и написания кода до настройки сервера и обновлений.
-
Библиотека
library
Готовый код для типовой задачи — работы с HTTP, датами, изображениями, PDF, — который подключают к проекту и вызывают из своей программы.
-
Бинарный оператор
binary operator
Оператор, который работает с двумя значениями — слева и справа от себя — и возвращает результат: сумму, сравнение, логическое «и», склеенную строку.
-
Блок управления процессом
Process Control Block (PCB)
Служебная запись, которую ядро операционной системы ведёт для каждого процесса: номер, состояние, сохранённые регистры, приоритет, память и открытые файлы.
-
Бойлерплейт
boilerplate
Шаблонный код и структура файлов, которые почти без изменений повторяются в каждом новом проекте или модуле и служат отправной точкой для работы.
-
Булево значение
boolean
Тип данных с двумя возможными значениями — «истина» (true) и «ложь» (false); на нём построены все условия и проверки в программах.
-
Буфер
buffer
Область памяти, куда данные складываются на время — пока их не прочитают, не обработают или не отправят дальше, чтобы быстрый и медленный участники не ждали друг друга.
-
Бэкенд
back end
Часть сайта или приложения, которая работает на сервере: принимает запросы, проверяет данные, обращается к базе и внешним сервисам и формирует ответ.
В
-
Веб-браузер
web browser
Программа, через которую человек открывает сайты: она запрашивает страницы у серверов, собирает их из HTML, CSS и JavaScript и показывает на экране.
-
Веб-компоненты
web components
Встроенные в браузер стандарты, которые позволяют создать собственный HTML-тег со своей разметкой, стилями и поведением и использовать его на любой странице.
-
Веб-сервер
web server
Программа, которая принимает HTTP-запросы браузеров и отдаёт в ответ файлы или результат работы сайта; самые распространённые — nginx и Apache.
-
Веб-сервис
web service
Программа, которая предоставляет свои функции другим программам по сети через HTTP и описанный формат запросов и ответов — XML или JSON.
-
Виртуализация
virtualization
Технология, которая делит ресурсы одного физического компьютера между несколькими изолированными системами, каждая из которых считает, что работает на своём оборудовании.
-
Виртуальная машина
Virtual Machine (VM)
Компьютер, существующий программно: его процессор, память, диск и сеть выделены гипервизором из ресурсов физической машины, а внутри работает своя операционная система.
-
Выражение
expression
Фрагмент кода, который вычисляется и даёт значение: число, строку, логический результат, объект. Например, умножение цены на количество или вызов функции.
Г
-
Генератор
generator
Функция, которая отдаёт значения по одному через yield и замирает между ними, сохраняя состояние; следующий элемент вычисляется только при запросе.
-
Геттер
getter
Метод, который возвращает значение свойства объекта и при этом может его вычислить, проверить или подготовить, а не просто отдать хранимое поле.
-
Гибкая разработка ПО
Agile software development
Общее название семейства методов работы — Scrum, Kanban, XP и других, — которые воплощают ценности Agile в конкретных ролях, встречах и правилах команды.
-
Глубокое обучение
deep learning
Раздел машинного обучения, в котором многослойные нейронные сети сами извлекают признаки из сырых данных — пикселей, звука, текста — без ручного описания правил.
-
Готовое из коробки
out of the box (OOTB)
Возможности программы, которые работают сразу после установки — без доработки кода, покупки расширений и долгой настройки.
Д
-
Дерево
tree
Иерархическая структура данных: узлы связаны отношением «родитель — потомок», у каждого узла, кроме корня, ровно один родитель, а циклов нет.
-
Деструктуризация
destructuring
Синтаксис, который за одну операцию раскладывает массив или объект по отдельным переменным, сопоставляя их по позиции или по имени ключа.
-
Документация
documentation (docs)
Тексты, которые объясняют, как устроена программа, как её установить, использовать и сопровождать, — от README в репозитории до справочника по API.
-
Домен
domain
Предметная область, которую описывает программа: понятия, правила и процессы бизнеса — заказы, склады, договоры. В сетевом смысле то же слово означает имя сайта.
-
Дополненная реальность
augmented reality
Технология, которая накладывает цифровые объекты и подсказки на изображение реального окружения в камере смартфона или в очках, не заменяя сам мир.
Ж
-
Жизненный цикл разработки ПО
Software Development Life Cycle (SDLC)
Путь программы от идеи до вывода из эксплуатации: сбор требований, проектирование, разработка, тестирование, выпуск и сопровождение.
З
И
-
Изменяемый объект
mutable object
Объект, данные которого можно поменять после создания: тот же экземпляр в памяти получает новые значения полей, и все ссылки на него видят изменения.
-
Инкапсуляция
encapsulation
Принцип ООП, по которому данные объекта скрыты внутри него, а менять их можно только через методы, следящие за правильностью состояния.
-
Инструкция
statement
Наименьшая самостоятельная команда программы: присвоить значение, проверить условие, повторить блок, вернуть результат. Программа складывается из последовательности таких команд.
-
Интеграция программных систем
software integration
Настройка обмена данными между отдельными программами — сайтом, CRM, 1С, платёжным сервисом, — чтобы они работали как одна система без ручного переноса.
-
Интерпретатор
interpreter
Программа, которая выполняет исходный код по ходу чтения, без заранее собранного исполняемого файла: прочитала инструкцию — выполнила.
-
Информационная архитектура
information architecture
Дисциплина о том, как разложить содержимое сайта или приложения по разделам, назвать их и связать навигацией, чтобы человек быстро находил нужное.
-
Искусственный интеллект
artificial intelligence
Область информатики, которая создаёт программы для задач, традиционно требующих человеческого мышления: понимать речь и текст, распознавать изображения, делать выводы.
-
Исходный код
source code
Текст программы в том виде, в каком его пишут и читают люди: файлы на PHP, JavaScript, Python и других языках до сборки или выполнения.
-
Итератор
iterator
Объект, который выдаёт элементы коллекции по одному и помнит текущую позицию, так что перебирать данные можно, не зная, как они хранятся.
-
Итерация
iteration
Однократное выполнение тела цикла или шага повторяющегося процесса; в управлении проектами — короткий отрезок работы, после которого есть проверяемый результат.
К
-
Кеш
cache
Промежуточное хранилище, куда складывают результат дорогой операции — запроса к базе, сборки страницы, ответа API, — чтобы при повторном обращении отдать его сразу.
-
Кибербезопасность
cyber security
Защита компьютеров, сетей, программ и данных от взлома, утечек, вымогательства и диверсий — набор технических и организационных мер, а не один продукт.
-
Класс
class
Шаблон, по которому создаются объекты: он описывает, какие данные (свойства) будут у каждого экземпляра и какие действия (методы) с ними можно выполнять.
-
Клиент
client
Программа или устройство, которое само отправляет запрос серверу и получает ответ: браузер, мобильное приложение, скрипт, другой сервис.
-
Ключевое слово
keyword
Слово, зарезервированное языком программирования под его собственные конструкции, например if, class или return; использовать его как обычное имя нельзя или можно лишь с ограничениями.
-
Комментарий в коде
comments
Текст внутри программы, который пропускают интерпретатор и компилятор: пояснение для людей, читающих код, — зачем сделано так, какие есть ограничения и подвохи.
-
Компилятор
compiler
Программа, которая целиком переводит исходный код в другую форму — машинные команды, байткод или другой язык — до того, как программа будет запущена.
-
Компоненты
components
Самостоятельные части программной системы, каждая со своей задачей и понятным интерфейсом: из них систему собирают, как из блоков, и заменяют по отдельности.
-
Конвейер разработки
pipeline
Цепочка автоматических шагов, через которую проходит каждое изменение кода: сборка, проверки, тесты и выкладка — без ручных операций между ними.
-
Конкатенация строк
string concatenation
Склеивание нескольких строк в одну: «Заказ №» плюс номер плюс дата дают готовый текст. Одна из самых частых операций в любом коде.
-
Константа
constant
Именованное значение, которое задаётся один раз и не меняется во время работы программы: лимит товаров на странице, адрес API, путь к папке загрузок.
-
Контейнер
container
Изолированный процесс, который запускается из готового образа со всеми библиотеками и настройками приложения и поэтому одинаково работает на ноутбуке разработчика и на сервере.
-
Корпоративная интеграция приложений
EAI (Enterprise application integration)
Подход, при котором внутренние системы компании — CRM, ERP, склад, сайт, бухгалтерия — связывают в единую схему обмена данными через общий промежуточный слой, а не набором разрозненных связок.
Л
-
Лог-файл
log file
Текстовый файл, куда программа или сервер построчно записывают события: запросы, ошибки, предупреждения, действия пользователей — с датой и временем каждой записи.
-
Логическая ошибка
logical error
Ошибка в рассуждении программиста: код синтаксически верен и выполняется без сбоев, но делает не то, что требовалось, и выдаёт неверный результат.
-
Локальная инфраструктура
on-premises
Модель, при которой компания держит серверы, хранилища и программы на своём оборудовании — в офисе или в арендованной стойке дата-центра — и сама их обслуживает.
М
-
Маска подсети
subnet mask
32-битное число, которое показывает, какая часть IP-адреса обозначает сеть, а какая — конкретное устройство в ней; записывается как 255.255.255.0 или префиксом /24.
-
Массив
array
Структура данных, в которой набор значений хранится под порядковыми номерами (индексами) или ключами, так что к любому элементу можно обратиться напрямую.
-
Машинный язык
machine language
Последовательность двоичных команд, которую процессор выполняет напрямую, без перевода; у каждой архитектуры процессора — x86-64, ARM и других — свой набор таких команд.
-
Мемоизация
memoization
Приём оптимизации: функция запоминает результат для каждого набора аргументов и при повторном вызове с теми же аргументами отдаёт сохранённое значение, ничего не вычисляя заново.
-
Менеджер пакетов
package manager
Программа, которая скачивает и устанавливает библиотеки нужных версий, следит за их зависимостями и позволяет одной командой воспроизвести тот же набор на другом компьютере.
-
Мета-тег
meta tag
HTML-элемент meta внутри head, который передаёт сведения о странице — кодировку, описание, директивы для роботов — без отображения на самой странице.
-
Метавселенная
metaverse
Идея постоянного общего виртуального мира, где люди в виде аватаров общаются, работают, играют и покупают цифровые вещи, переходя между пространствами разных компаний.
-
Метод
method
Функция, объявленная внутри класса: она описывает поведение объектов этого класса и имеет доступ к их данным через ссылку на текущий объект — this или self.
-
Методы HTTP
HTTP request methods
Глаголы протокола HTTP — GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS и другие, — которыми клиент сообщает серверу, что он хочет сделать с ресурсом по указанному адресу.
-
Микросервис
microservice
Небольшое самостоятельное приложение, которое отвечает за одну бизнес-задачу, имеет собственные данные, развёртывается отдельно и общается с другими сервисами по сети.
-
Модульное тестирование
unit testing
Автоматические тесты, каждый из которых проверяет одну небольшую часть кода — функцию, метод или класс — в изоляции от базы данных, сети и остального приложения.
-
Монолит
monolith
Архитектура, при которой весь код приложения — интерфейс, бизнес-логика, работа с данными — собран в одну программу, разворачивается целиком и обычно использует одну общую базу.
Н
-
Навигация
navigation
Набор меню, ссылок, хлебных крошек и других элементов, по которым посетитель понимает, где находится на сайте, и переходит в нужный раздел, а поисковый робот находит страницы.
-
Нагрузочное тестирование
load testing
Проверка, как сайт или сервис работает под расчётным потоком пользователей: тест имитирует много одновременных посетителей и замеряет время ответа, ошибки и расход ресурсов.
-
Наследование
inheritance
Механизм объектно-ориентированного программирования, при котором новый класс получает свойства и методы существующего и может добавлять к ним свои или переопределять поведение.
-
Неизменяемый объект
immutable object
Объект, значения которого фиксируются при создании и больше не меняются; чтобы получить другое значение, создают новый объект, а исходный остаётся прежним.
-
Нейрон
neuron
Простейший вычислительный элемент искусственной нейронной сети: умножает входные числа на веса, складывает, добавляет смещение и пропускает сумму через функцию активации.
-
Нейронная сеть
neural network
Модель машинного обучения из слоёв связанных нейронов, которая подбирает миллионы числовых весов на примерах и после этого распознаёт, классифицирует или генерирует данные.
О
-
Область видимости
scope
Часть программы, в которой имя переменной, функции или класса доступно для обращения; за её пределами то же имя либо не видно, либо означает уже другую сущность.
-
Облачные вычисления
Cloud computing
Модель, в которой серверы, хранилища, базы данных и готовые программы берут в аренду у провайдера через интернет, получают за минуты и оплачивают по фактическому использованию.
-
Обработчик события
event handler
Функция, которую программа регистрирует заранее, а вызывает система — в момент, когда произошло нужное событие: клик, отправка формы, сохранение записи, приход сообщения.
-
Общий искусственный интеллект
artificial general intelligence
Гипотетический искусственный интеллект, который мог бы осваивать и решать почти любые интеллектуальные задачи на уровне человека, а не только ту, под которую его создали.
-
Объект
object
Конкретный экземпляр данных в программе, у которого есть собственные значения свойств и действия, доступные через методы; в ООП объекты создаются по описанию класса.
-
Озеро данных
data lake
Общее хранилище, куда данные из разных источников складывают как есть — логи, выгрузки, документы, события — чтобы структурировать и анализировать позже, под конкретную задачу.
-
ООП
object-oriented programming
Подход к программированию, при котором программа строится из объектов: каждый хранит свои данные и сам отвечает за операции над ними, а объекты взаимодействуют через методы.
-
Оператор
operator
Знак или ключевое слово языка программирования, которое выполняет действие над значениями: складывает, сравнивает, присваивает, объединяет строки или проверяет условие.
-
Операционная система
operating system
Комплекс программ, который управляет процессором, памятью, дисками и сетью компьютера и даёт приложениям общий способ ими пользоваться, не обращаясь к оборудованию напрямую.
-
Открытое программное обеспечение
open source software
Программы, чей исходный код опубликован и по лицензии разрешено его изучать, менять и распространять, в том числе в изменённом виде.
-
Отладка
debugging
Работа по поиску причины, из-за которой программа ведёт себя неправильно: воспроизведение сбоя, сужение области поиска, исправление и проверка результата.
-
Очередь
queue
Структура данных или сервис, где элементы добавляются в конец и забираются из начала: кто раньше встал, тот раньше обработан (FIFO).
-
Ошибка 404
404 Not Found
Код ответа HTTP 404 Not Found: сервер работает и запрос понял, но по этому адресу ничего нет — страница удалена, перенесена или адрес набран с ошибкой.
П
-
Пакет
package
Готовый к установке набор кода с описанием: имя, версия, список зависимостей. Также пакетом называют логическую группу модулей внутри проекта.
-
Парадигма программирования
programming paradigm
Общий подход к построению программ: из каких единиц складывается код, как хранятся данные и как описываются вычисления — командами, объектами или функциями.
-
Параметр
parameter
Имя в объявлении функции или метода, под которым функция получает входное значение. При вызове на его место подставляется аргумент.
-
Парсинг
parsing
Разбор текста или потока данных по правилам формата, после которого программа получает удобную структуру: дерево, массив, объект.
-
Паттерн проектирования
design patterns
Описанная и названная схема решения задачи, которая регулярно возникает при проектировании кода: создание объектов, их связи, распределение обязанностей.
-
Переменная
variable
Имя, за которым программа хранит значение и по которому обращается к нему: читает, сравнивает, заменяет новым в ходе работы.
-
Переменная окружения
environment variables
Пара «имя=значение», которую операционная система передаёт процессу при запуске. Через неё программе сообщают настройки и секреты, не записывая их в код.
-
Перенаправление
redirect
Механизм, который отправляет браузер или робота с запрошенного адреса на другой. Чаще всего это HTTP-ответ с кодом 3xx и заголовком Location.
-
Переполнение буфера
buffer overflow
Ошибка, при которой программа записывает в область памяти больше данных, чем та вмещает, и затирает соседние данные. Одна из самых опасных уязвимостей в коде на C и C++.
-
Перечисление
enum
Тип данных, значения которого перечислены заранее и ограничены фиксированным списком: статусы заказа, дни недели, способы доставки.
-
Песочница
sandbox
Изолированная среда, где код запускается с урезанными правами: он не видит лишних файлов, сети и данных и не может повредить основную систему.
-
Плагин
plugin
Отдельно устанавливаемый модуль, который добавляет программе новые возможности через заранее предусмотренные точки подключения, не меняя её основной код.
-
Подвыражение
subexpression
Фрагмент большего выражения, который вычисляется отдельно и даёт промежуточный результат. В регулярных выражениях так называют часть шаблона в круглых скобках.
-
Полиморфизм
polymorphism
Свойство кода, при котором объекты разных классов используются через общий интерфейс, а каждый выполняет общую операцию по-своему.
-
Последовательностная модель
sequence model
Модель машинного обучения для данных, где важен порядок: текст, речь, временные ряды. Она учитывает, что каждый элемент зависит от соседних.
-
Поток выполнения
thread
Самостоятельная цепочка выполнения команд внутри процесса. Несколько потоков одного процесса работают одновременно и делят общую память.
-
Поток управления
control flow
Порядок, в котором выполняются команды программы: подряд, с ветвлением по условию, по кругу в цикле, с переходом в функцию и возвратом из неё.
-
Приёмочное тестирование
User Acceptance Testing (UAT)
Заключительная проверка, на которой заказчик или будущие пользователи решают, принимать ли систему: выполняет ли она реальные задачи бизнеса.
-
Приложение
application (software)
Программа, которой человек пользуется для своих задач: редактор, банк в телефоне, CRM в браузере. В отличие от системного ПО, она решает прикладную задачу.
-
Принцип DRY
Don't Repeat Yourself (DRY)
Правило проектирования «не повторяйся»: каждое знание о системе — формула, правило, настройка — должно жить в одном месте, а остальные части ссылаются на него.
-
Программирование
programming
Создание программ: разбор задачи, придумывание способа её решения и запись этого способа на языке, который понимает компьютер.
-
Программирование, управляемое данными
Data-driven Programming
Подход, при котором логика программы описывается данными — таблицами, правилами, конфигурацией, — а код лишь читает их и выполняет одинаковую обработку.
-
Программная инженерия
software engineering
Инженерная дисциплина о создании программ: как собирать требования, проектировать, писать, проверять, выпускать и сопровождать ПО предсказуемо и с контролем качества.
-
Пространство имён
namespace
Именованная область, внутри которой собраны классы, функции или другие идентификаторы. Позволяет разным библиотекам использовать одинаковые имена без конфликта.
-
Прототип JavaScript
JavaScript prototype
Объект, к которому JavaScript обращается за свойством или методом, если их нет у самого объекта. Так в языке устроено наследование.
-
Процедурное программирование
procedural programming
Стиль программирования, в котором программа — набор процедур (функций), вызываемых по порядку и работающих с переданными им данными.
-
Псевдокод
pseudocode
Запись алгоритма в виде, похожем на программу, но без правил конкретного языка: короткими фразами, отступами и привычными словами «если», «пока», «вернуть».
-
Пул потоков
thread pool
Набор заранее запущенных рабочих потоков, которые по очереди берут задачи из общей очереди. Потоки не создаются и не уничтожаются под каждую задачу.
Р
-
Развёртывание
deployment
Процесс, в ходе которого готовая версия приложения попадает на сервер и начинает обслуживать пользователей: код копируется, окружение настраивается, сервисы перезапускаются.
-
Разрешение экрана
resolution
Число пикселей по ширине и высоте, из которых состоит изображение на дисплее или в графическом файле, например 1920×1080.
-
Расширение
extension
Подключаемый модуль, который добавляет программе новые возможности через предусмотренный для этого механизм, не меняя её основной код.
-
Регрессионное тестирование
regression testing
Повторная проверка уже работавших функций после правок в коде, обновления или смены настроек, чтобы убедиться, что изменения ничего не сломали.
-
Регулярное выражение
regular expression
Шаблон из обычных символов и специальных обозначений, по которому программа ищет, проверяет или заменяет фрагменты текста.
-
Рекурсия
recursion
Приём, при котором функция вызывает саму себя для более простой части той же задачи, пока не дойдёт до случая, решаемого напрямую.
-
Рефакторинг
refactoring
Переработка внутреннего устройства кода без изменения того, что программа делает снаружи: те же входы дают те же результаты, но код становится проще читать и менять.
С
-
Свойство объекта
property
Именованное значение внутри объекта, которое описывает его состояние: название товара, цена, статус заказа. Свойство может хранить данные напрямую или вычисляться.
-
Связанность модулей
coupling
Мера того, насколько части программы зависят друг от друга. При слабой связанности модуль можно изменить или заменить, не переписывая остальные.
-
Связность модуля
cohesion
Характеристика того, насколько части одного модуля или класса работают на общую задачу. При высокой связности модуль делает одно дело и всё в нём относится к этому делу.
-
Связный список
linked list
Структура данных из узлов, где каждый узел хранит значение и ссылку на следующий элемент, а в двусвязном варианте — ещё и на предыдущий.
-
Сервер
server
Компьютер или программа, которые принимают запросы от клиентов по сети и отвечают на них: отдают страницы, файлы, данные или выполняют действия.
-
Сервис-ориентированная архитектура
Service-Oriented Architecture (SOA)
Подход к построению информационных систем, при котором каждая бизнес-функция оформлена как отдельный сетевой сервис с описанным контрактом, доступный разным приложениям.
-
Сессия
session
Механизм, который связывает отдельные запросы одного посетителя в общий контекст: сервер помнит, кто вошёл, что лежит в корзине и какие шаги пройдены.
-
Сеттер
setter
Метод, через который объекту присваивают значение свойства. В отличие от прямой записи в поле, сеттер может проверить, преобразовать или отклонить новое значение.
-
Синтаксис
syntax
Набор правил, которые определяют, как правильно записывать конструкции языка: где ставить скобки, точки с запятой, ключевые слова и как оформлять блоки.
-
Система контроля версий
Version Control System (VCS)
Программа, которая сохраняет историю изменений файлов проекта: кто, когда и что поменял. Позволяет вернуться к любой версии и работать над кодом параллельно.
-
Системная архитектура
system architecture
Общее устройство программной системы: из каких частей она состоит, за что отвечает каждая, как они обмениваются данными и на чём работают.
-
Системное тестирование
system testing
Проверка готовой программы целиком, со всеми модулями и интеграциями, на соответствие требованиям — так, как ею будут пользоваться, но до передачи заказчику.
-
Событие
event
Сигнал о том, что в программе что-то произошло: пользователь нажал кнопку, заказ оплачен, файл загружен. Другой код может подписаться на событие и отреагировать на него.
-
Сокет
socket
Программная точка подключения для обмена данными между процессами — по сети через IP-адрес и порт или внутри одной машины через специальный файл.
-
Сортировка слиянием
merge sort
Алгоритм упорядочивания, который делит набор пополам до отдельных элементов, а затем попарно сливает отсортированные части в один упорядоченный ряд.
-
Состояние
state
Данные, которые программа помнит в конкретный момент и от которых зависит её дальнейшее поведение: авторизован ли пользователь, что в корзине, на каком шаге форма.
-
Список
list
Упорядоченный набор элементов, к которым можно обращаться по позиции, добавлять новые и удалять старые. Значения в нём могут повторяться.
-
Среда выполнения
runtime
Окружение, в котором работает запущенная программа: интерпретатор или виртуальная машина, стандартные библиотеки, настройки и доступ к ресурсам системы.
-
Стек
stack
Структура данных по принципу «последним пришёл — первым вышел»: элементы кладут и снимают только сверху. В другом значении — набор технологий, на которых построен проект.
-
Стресс-тестирование
stress testing
Проверка системы нагрузкой выше расчётной или в условиях нехватки ресурсов, чтобы найти точку отказа и понять, как система ломается и как восстанавливается.
-
Строка
string
Тип данных для текста: последовательность символов, будь то имя, адрес страницы, письмо или фрагмент HTML. Почти любые данные от пользователя попадают в программу строками.
-
Структура данных
data structure
Способ организовать данные в памяти так, чтобы нужные операции — поиск, добавление, удаление, обход — выполнялись быстро и удобно.
Т
-
Текстовый редактор
text editor
Программа для правки файлов с чистым текстом, без скрытого оформления: исходного кода, конфигураций, CSV, robots.txt и других служебных файлов.
-
Тернарный оператор
ternary operator
Условный оператор с тремя частями: условие, значение для «да» и значение для «нет». Позволяет выбрать одно из двух значений прямо внутри выражения.
-
Тестирование
testing
Проверка программы на соответствие требованиям и ожиданиям: запуск её в заданных условиях и сравнение фактического результата с ожидаемым.
-
Тестирование производительности
performance testing
Вид проверки, который измеряет, как быстро система отвечает, сколько запросов выдерживает и сколько ресурсов тратит при заданной нагрузке.
-
Тип данных
data type
Характеристика значения, которая определяет, как оно хранится в памяти, какие операции к нему применимы и какие значения вообще допустимы.
-
Токен
token
Короткая строка или фрагмент данных, который подтверждает право доступа либо служит минимальной единицей при разборе текста.
-
Транзакция
transaction
Набор операций с данными, который выполняется как одно целое: либо применяются все изменения, либо ни одно, если что-то пошло не так.
У
-
Указатель
pointer
Переменная, в которой хранится не само значение, а адрес ячейки памяти, где это значение лежит.
-
Унарный оператор
unary operator
Оператор, который работает с одним значением: меняет знак числа, инвертирует логическое значение, увеличивает или уменьшает переменную на единицу.
Ф
-
Файрвол
firewall
Программа или устройство, которое пропускает и блокирует сетевые подключения по заданным правилам: по адресам, портам и протоколам.
-
Фреймворк
framework
Программный каркас с готовой структурой проекта и набором инструментов, в который разработчик добавляет свой код по правилам этого каркаса.
-
Фреймворк тестирования
testing framework
Набор инструментов для автоматических тестов: даёт правила их написания, команды запуска, проверки результатов и понятный отчёт об ошибках.
-
Функциональное программирование
functional programming
Парадигма, в которой программу строят из функций, не меняющих внешнее состояние, а данные преобразуют, не изменяя исходные значения.
-
Функция
function
Блок кода с именем или без него, который принимает входные данные, выполняет одну задачу и при необходимости возвращает результат.
-
Функция высшего порядка
higher-order function
Функция, которая принимает другую функцию как аргумент, возвращает функцию как результат или делает и то и другое.
Х
-
Хранилище данных
data warehouse
Отдельная база, куда собирают и приводят к единому виду данные из разных систем компании, чтобы строить по ним отчёты и аналитику.
Ц
-
Целое число
integer (int)
Числовой тип для значений без дробной части. Хранится точно, но только в пределах диапазона, который зависит от разрядности.
-
Цель
objective
Заранее сформулированный результат, к которому стремится программа, алгоритм или проект, вместе с критерием, по которому видно, достигнут ли он.
-
Цикл
loop
Конструкция языка, которая повторяет блок инструкций, пока выполняется условие или пока не будут перебраны все элементы коллекции.
Ч
-
Число с плавающей точкой
float
Числовой тип для дробных значений, который хранит число приближённо: в виде мантиссы и порядка, с ограниченным количеством значащих цифр.
Ш
-
Шаблон
template
Заготовка с постоянной частью и местами для подстановки данных, по которой многократно получают однотипный результат: страницу, письмо, документ.
-
Шифрование
encryption
Преобразование данных с помощью ключа в вид, из которого без этого ключа исходный текст получить практически невозможно.
-
Шум в данных
noise
Случайные искажения, ошибки и посторонние записи в наборе данных, которые маскируют настоящие закономерности и мешают анализу.
Э
-
Экосистема ПО
ecosystem
Всё, что сложилось вокруг языка, платформы или продукта: библиотеки, расширения, инструменты, документация, сообщество и специалисты на рынке.
Я
-
Ядро ОС
kernel
Центральная часть операционной системы, которая распоряжается процессором, памятью, файлами и устройствами и выдаёт программам доступ к ним.
-
Язык запросов
query language
Специализированный язык, на котором описывают, какие данные нужно найти, отобрать или изменить в базе, документе или через API.
-
Язык программирования
programming language
Формальный язык со строгими правилами записи и однозначным смыслом конструкций, на котором человек описывает, что и как должен делать компьютер.
-
Язык разметки
markup language
Система обозначений, которыми в тексте отмечают его структуру и роль отдельных частей: заголовки, абзацы, ссылки, поля данных.
A
-
Agile
Подход к разработке, при котором продукт создают короткими итерациями и регулярно сверяют с заказчиком, а план меняют по мере появления новых знаний.
-
API
API (application programming interface)
Набор правил и операций, через который одна программа обращается к другой: запрашивает данные или просит выполнить действие, не зная её внутреннего устройства.
B
-
Bootstrap
CSS-фреймворк с адаптивной сеткой, готовыми компонентами интерфейса и служебными классами, который позволяет сверстать типовую страницу без собственных стилей.
C
-
Callback
Функция, которую передают в другой код как аргумент, чтобы тот вызвал её позже — по событию, после завершения операции или для каждого элемента данных.
-
CDN
CDN (Content Delivery Network)
Сеть серверов в разных городах и странах, которая хранит копии файлов сайта и отдаёт их посетителю с ближайшего узла, а не с основного сервера.
-
CI/CD
Связка практик, при которой каждое изменение кода автоматически собирается, проверяется тестами и доставляется на сервер без ручных шагов.
-
CLI
CLI (Command Line Interface)
Способ управлять программой текстовыми командами: пользователь вводит строку в терминале, программа выполняет её и печатает результат.
-
CMS
CMS (Content Management System)
Программа, через которую сайт наполняют и обновляют в административной панели: тексты, страницы, товары и меню меняются без правки кода.
-
Cookie
cookies
Небольшие именованные строки, которые сервер просит браузер сохранить и затем получает обратно с каждым запросом к своему сайту.
-
CRM
CRM (Customer Relationship Management)
Система учёта клиентов и сделок: хранит контакты, историю общения, заявки и задачи менеджеров, чтобы ни один запрос не потерялся.
-
CSS
Cascading Style Sheets (CSS)
Язык стилей, который задаёт внешний вид веб-страницы: цвета, шрифты, отступы, размеры и расположение блоков на экранах разной ширины.
-
CSV
Текстовый формат таблиц: каждая строка файла — запись, а значения внутри неё разделены запятой, точкой с запятой или другим символом.
D
-
DevOps
DevOps (Development Operations)
Культура и набор практик, в которых разработка и эксплуатация работают как одна команда: код, инфраструктура и выкладка автоматизированы и общие.
-
DHCP
DHCP (Dynamic Host Configuration Protocol)
Сетевой протокол, по которому устройство при подключении автоматически получает IP-адрес, маску подсети, шлюз и адреса DNS-серверов.
-
DOM
Document Object Model (DOM)
Представление загруженной веб-страницы в виде дерева объектов, через которое JavaScript читает и меняет её содержимое, атрибуты и стили.
E
-
ERP
ERP (Enterprise Resource Planning)
Корпоративная система, в которой в одной базе ведутся финансы, закупки, склад, производство и персонал, а данные отделов связаны между собой.
-
ES6
ECMAScript 2015 (ES6)
Шестая редакция стандарта ECMAScript, опубликованная в 2015 году: добавила в JavaScript let и const, классы, модули, стрелочные функции и промисы.
F
-
FTP
File Transfer Protocol (FTP)
Старый сетевой протокол передачи файлов между компьютером и сервером, в базовом виде пересылающий логин, пароль и данные без шифрования.
-
Fullstack
full-stack
Разработка, при которой один специалист ведёт задачу через все слои приложения: интерфейс в браузере, серверную логику, базу данных и интеграции.
G
-
GUI
Graphical User Interface (GUI)
Интерфейс, в котором человек управляет программой через окна, значки, кнопки и меню с помощью мыши или касаний, а не набором команд.
H
-
HTML
HyperText Markup Language (HTML)
Язык разметки веб-страниц: теги описывают, чем является каждый фрагмент содержимого — заголовком, абзацем, ссылкой, таблицей или формой.
-
HTTP
Hypertext Transfer Protocol (HTTP)
Протокол, по которому браузер и другие клиенты запрашивают у сервера страницы, файлы и данные, а сервер отвечает содержимым и кодом статуса.
I
-
IaaS
IaaS (Infrastructure as a Service)
Облачная модель, в которой провайдер сдаёт в аренду виртуальные серверы, диски и сети, а операционную систему и всё программное обеспечение клиент настраивает сам.
-
IDE
IDE (Integrated Development Environment)
Программа для разработки, в которой собраны редактор кода, навигация по проекту, отладчик, запуск тестов и работа с системой контроля версий.
-
IP
Internet Protocol (IP)
Основной протокол интернета: разбивает данные на пакеты, снабжает их адресами отправителя и получателя и доставляет через цепочку промежуточных сетей.
J
-
Java
Объектно-ориентированный язык со строгой типизацией: программы компилируются в байткод и выполняются виртуальной машиной на любой платформе.
-
Java EE
Набор спецификаций для корпоративных серверных приложений на Java: веб, REST, транзакции, очереди сообщений, безопасность и работа с базами данных.
-
jQuery
JavaScript-библиотека для поиска элементов на странице, обработки событий, анимаций и AJAX-запросов с коротким синтаксисом через функцию $.
-
JSON
JSON (JavaScript Object Notation)
Текстовый формат данных из объектов, массивов, строк, чисел, логических значений и null, который одинаково читают почти все языки программирования.
-
JSX
Синтаксическое расширение JavaScript, позволяющее описывать интерфейс тегами, похожими на HTML, прямо внутри кода компонента.
-
JVM
Программа-исполнитель, которая загружает байткод Java и других языков, превращает его в машинные команды и управляет памятью приложения.
-
JWT
JWT (JSON Web Token)
Строка из трёх частей в Base64URL — заголовка, данных и подписи, — с помощью которой сервер проверяет, кто делает запрос, не обращаясь к хранилищу сессий.
K
-
Kubernetes
Система оркестрации контейнеров: сама размещает их по серверам кластера, перезапускает упавшие, масштабирует приложение под нагрузку и обновляет его без простоя.
M
-
Middleware
Промежуточный слой кода, через который проходит запрос до основного обработчика и ответ после него: проверка доступа, логирование, разбор данных, обработка ошибок.
-
MIME-тип
Multipurpose Internet Mail Extensions (MIME)
Стандартное обозначение формата данных вида «тип/подтип», например text/html или image/png. По нему браузер и программы понимают, что пришло и как это показать.
N
-
NAT
Network Address Translation (NAT)
Механизм, при котором роутер подменяет внутренние адреса устройств своим внешним IP, так что вся частная сеть выходит в интернет через один публичный адрес.
-
Node.js
Программа, которая выполняет JavaScript вне браузера: на сервере, в консоли, в сборщиках фронтенда. Построена на движке V8 из Chrome и асинхронной модели ввода-вывода.
-
NoSQL
NoSQL database
Общее название баз данных, которые хранят информацию не в связанных таблицах, а в документах, парах «ключ — значение», графах или колонках.
-
Null
Особое значение «ничего»: переменная или поле существует, но объекта или данных в нём нет. Это не ноль и не пустая строка, а именно отсутствие значения.
P
-
PaaS
Platform as a Service (PaaS)
Облачная модель, в которой провайдер даёт готовую платформу для запуска кода: серверы, операционная система, среда выполнения и масштабирование уже настроены, разработчик загружает только приложение.
-
PHP
Язык программирования для серверной части сайтов: выполняется на сервере, получает данные из базы и формирует HTML-страницы или ответы API. На нём написаны WordPress и 1С-Битрикс.
-
PNG
Portable Network Graphics (PNG)
Формат растровых изображений со сжатием без потерь и прозрачностью. Подходит для логотипов, интерфейсной графики и скриншотов, но не для фотографий.
-
Python
Язык программирования с простым синтаксисом на отступах и огромным набором библиотек. На нём пишут веб-сервисы, скрипты автоматизации, парсеры, ботов и модели машинного обучения.
R
-
RAML
RESTful API Modeling Language (RAML)
Язык описания REST API на основе YAML: в одном файле задают адреса, методы, параметры, типы данных и примеры ответов, а из него получают документацию, заглушки и тесты.
-
REPL
Read-Eval-Print Loop (REPL)
Интерактивный режим языка: вводишь выражение, программа сразу выполняет его, печатает результат и ждёт следующую строку. Удобен для проверки идей без создания файла.
-
REST
Архитектурный стиль для сетевых систем: данные представлены ресурсами с адресами, а действия над ними выражаются стандартными методами HTTP. Это набор принципов, а не протокол или библиотека.
-
RESTful-веб-сервис
RESTful web service
Веб-сервис, построенный по принципам REST: у каждого ресурса свой адрес, операции выполняются методами HTTP, а результат сообщается кодом ответа и данными, чаще всего в JSON.
-
Ruby
Динамический язык программирования, в котором всё — объект, а код стремятся писать так, чтобы он читался почти как английская фраза. Широко известен благодаря фреймворку Ruby on Rails.
-
Ruby on Rails
Серверный веб-фреймворк на языке Ruby, который строит приложение по схеме MVC и множеству соглашений: структура папок, имена таблиц и связи угадываются без настроек.
S
-
SaaS
Software as a Service (SaaS)
Модель, при которой программа работает в облаке поставщика, а клиент пользуется ею через браузер или приложение по подписке: без установки, серверов и обновлений со своей стороны.
-
SAML
Security Assertion Markup Language (SAML)
Открытый стандарт на основе XML, по которому сервер входа сообщает приложению, что пользователь прошёл проверку и какие у него атрибуты и роли. Основа корпоративного единого входа.
-
SDK
Комплект для разработки под конкретную платформу или сервис: библиотеки, документация, примеры кода и утилиты, которые избавляют от ручной работы с низкоуровневым API.
-
Singleton
Паттерн проектирования, который гарантирует, что у класса будет ровно один экземпляр, и даёт к нему общий доступ из любого места программы.
-
SOAP
Simple Object Access Protocol (SOAP)
Протокол обмена сообщениями в формате XML: клиент вызывает операцию удалённого сервиса, а правила вызова, типы и адреса заранее описаны в файле WSDL.
-
SQL
Декларативный язык для работы с реляционными базами данных: им описывают, какие данные нужны, создают таблицы, изменяют записи и управляют правами доступа.
-
SRE
Site Reliability Engineering (SRE)
Подход к эксплуатации сервисов, при котором надёжность измеряют числами и обеспечивают инженерными средствами: автоматизацией, мониторингом и чёткими правилами реакции на сбои.
-
SSL
Secure Sockets Layer (SSL)
Криптографический протокол защищённого соединения, созданный в Netscape в середине 1990-х. Все его версии давно признаны небезопасными и заменены протоколом TLS, хотя само название живёт в обиходе.
-
SVG
Scalable Vector Graphics (SVG)
Формат векторной графики на основе XML: изображение описано фигурами и линиями, поэтому остаётся чётким при любом размере и может меняться через CSS и JavaScript.
T
-
TCP
Transmission Control Protocol (TCP)
Транспортный протокол интернета, который устанавливает соединение между двумя программами и гарантирует, что данные дойдут целиком, без искажений и в исходном порядке.
U
-
UI
User Interface (UI)
Всё, через что человек управляет программой или сайтом: экраны, кнопки, поля, меню, подсказки и сообщения, а также их вид и поведение в разных состояниях.
-
Unix
Семейство многопользовательских операционных систем, созданное в Bell Labs в 1969 году, и набор идей, на которых выросли Linux, macOS и большинство серверов интернета.
-
URI
Uniform Resource Identifier (URI)
Строка, которая однозначно обозначает ресурс: веб-страницу, почтовый ящик, книгу, телефон. Общее понятие, частными случаями которого являются URL и URN.
-
URL
Uniform Resource Locator (URL)
Адрес ресурса в сети, по которому браузер знает, каким протоколом, на каком сервере и по какому пути получить страницу, картинку или файл.
-
UX
User Experience (UX)
Опыт человека при использовании продукта: насколько легко и быстро он достигает своей цели, где путается, что его раздражает и захочет ли он вернуться.
V
-
Visual Basic
Visual Basic (VB)
Язык программирования и среда разработки Microsoft, в которых окно программы собирают мышью из готовых элементов, а к кнопкам и полям пишут код реакции на события.
W
-
Webhook
HTTP-запрос, который сервис сам отправляет на заданный адрес другой системы, как только у него что-то произошло: пришла оплата, сменился статус, появилось сообщение.
-
WebRTC
Web Real-Time Communication (WebRTC)
Набор браузерных API и сетевых протоколов, с которыми две страницы обмениваются видео, звуком и данными напрямую, без плагинов и с минимальной задержкой.
X
-
XHTML
Extensible HyperText Markup Language (XHTML)
Вариант языка HTML, записанный по правилам XML: все теги закрыты, имена в нижнем регистре, значения атрибутов в кавычках, а ошибка в разметке останавливает разбор.
-
XML
Текстовый формат, в котором данные описывают вложенными тегами с произвольными именами; подходит и для документов, и для обмена данными между программами.
Y
-
YAML
YAML (YAML Ain't Markup Language)
Текстовый формат данных, где вложенность задаётся отступами, а списки — дефисами; удобен для конфигураций, которые люди читают и правят вручную.
-
Yarn
Менеджер пакетов для JavaScript: устанавливает зависимости проекта из реестра npm, фиксирует их точные версии в yarn.lock и запускает скрипты сборки.

