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)

    Путь программы от идеи до вывода из эксплуатации: сбор требований, проектирование, разработка, тестирование, выпуск и сопровождение.

З

  • Замыкание closure

    Функция, которая запоминает переменные из того места, где была создана, и продолжает пользоваться ими даже после того, как внешний код завершился.

  • Запрос query

    Обращение к базе данных, серверу или API с описанием того, какие данные нужно получить или изменить и по каким условиям.

И

  • Изменяемый объект 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 и запускает скрипты сборки.

Что будем искать? Например,Продвижение