Перейти к основному содержимому

9.03. IT лексика

Родителям и детям
ИТ-лексика (50-60 ключевых слов на английском с произношением и контекстом: file, save, run, debug, loop, function)

Представь, что ты пришёл в новую страну. Вокруг всё интересно: дома не такие, как у тебя, люди ездят на необычных машинах, едят незнакомую еду. Но самое странное — они говорят на другом языке. Не по-русски. Может быть, по-английски, по-японски или даже на каком-то совсем особом — как в фантастическом фильме. Ты слышишь слова, но не понимаешь, что они значат. И тогда ты либо молчишь, либо начинаешь учить язык этой страны.

С IT — почти так же.

Когда ты начинаешь изучать информационные технологии, ты попадаешь в особую «страну» — страну кода, компьютеров, программ и данных. И у этой страны тоже есть свой язык. Он не совсем отдельный — он встроен в обычный русский (или английский, или любой другой), но состоит из особых слов, которые в повседневной жизни почти не встречаются. Их называют IT-лексикой (от греч. lexis — «слово», «речь»). Это набор ключевых слов и выражений, без которых невозможно говорить по-настоящему о том, как работают компьютеры и программы.

Почему так много английских слов?

Коротко: потому что «страна IT» родилась в основном на английском языке.

Современные компьютеры, интернет, первые языки программирования — всё это появилось в США и других англоязычных странах. Когда учёные и инженеры писали первые программы, они использовали английские слова: run — «запустить», file — «файл», error — «ошибка». Так было удобнее — ведь наука и техника уже давно общались на английском. Потом эти слова распространились по всему миру. В русском языке их не перевели — просто начали произносить по-русски, но писать как в оригинале.

Например:

«Запусти программу» → «Run программу».
«Сохрани документ» → «Save документ».
«У меня bug» → «В программе ошибка».

Это не «модно» и не «высокомерно» — просто так сложилось исторически, и менять это уже слишком поздно: миллионы программ, книг, инструкций написаны именно так. К счастью, почти все эти слова очень простые, и их легко выучить — как пароли к разным уровням игры.

Именно этим мы сейчас и займёмся.


20 ключевых слов (часть 1)

Ниже — не просто список. Каждое слово — это ключ. Мы рассмотрим его:

  • как оно пишется и произносится (с транскрипцией на русский манер — не идеально, но чтобы начать),
  • что означает на самом деле (не в словаре, а в реальной работе),
  • где и когда его используют,
  • и как его можно представить в голове, чтобы запомнить надолго.

1. File [файл]

Что значит: документ, запись, единица информации. Фотография, текстовый документ, музыкальный трек, программа — всё это файлы.
Контекст:

«Не забудь сохранить файл перед закрытием».
«Где ты сохранил файл с проектом
Почему так? Слово пришло от английского to file — «кладать в папку», «архивировать». В старых офисах документы складывали в файлы (папки-скоросшиватели). Потом этот термин перекочевал в компьютеры.
Как запомнить: Представь толстую папку-скоросшиватель — файл. Внутри — листы. В компьютере — тоже файл, только цифровой.


2. Save [сэйв]

Что значит: сохранить. То есть — записать текущее состояние на диск, чтобы не потерять.
Контекст:

«Save изменения, иначе всё пропадёт».
Нажми Ctrl+S, чтобы save.
Важно: Save — это не «сделать копию», а «зафиксировать текущий вариант». Если ты изменил текст и не сделал save, при выключении компьютера изменения исчезнут.
Аналогия: Как запечатать письмо в конверт. Пока не запечатал — можно что-то дописать. Запечатал (saved) — готово к отправке.


3. Run [ран]

Что значит: запустить, заставить работать. Программа «лежит» на диске — как книга на полке. Чтобы она сделала что-то, её нужно run.
Контекст:

«Run программу двойным кликом».
В редакторе кода — кнопка Run, чтобы проверить, как работает скрипт.
Произношение: Не «ранн», не «рун» — короткое ран, как «вран».
Как запомнить: Run — это «бег». Программа «начинает бегать», когда её запускают.


4. Code [коуд]

Что значит: код — инструкции для компьютера, написанные на языке программирования.
Контекст:

«Этот code слишком сложный, давай упростим».
«Я пишу code на Python».
Важно: Code — и существительное (покажи мне код), и глагол (кодить задачу). Но профессионалы чаще говорят to write code, а не to code — последнее звучит слишком разговорно.
Аналогия: Код — как партитура для оркестра. Музыканты (компьютер) ничего не сделают, пока не увидят ноты (код).


5. Bug [баг]

Что значит: ошибка в программе, из-за которой она ведёт себя странно или ломается.
Контекст:

«У меня bug: программа зависает при нажатии кнопки».
«Нашли и исправили три бага за день».
История: В 1947 году в одном из первых компьютеров (Harvard Mark II) застряла настоящая моль (bug по-английски). Её приклеили к странице журнала с пометкой «First actual case of bug being found». С тех пор слово прижилось.
Как запомнить: Баг — не просто ошибка, а живая проблема внутри машины. Она где-то прячется — и её нужно найти.


6. Debug [дибаг]

Что значит: искать и исправлять баги.
Контекст:

«Потратил два часа на debug — оказалось, перепутал + и −».
«Во всех IDE есть встроенные инструменты для debug».
Производное: От de- («удалить») + bug → «убрать бага».
Важно: Debug — не «проверить, работает ли», а целенаправленный поиск неисправности. Как детектив, который ищет улики.


7. Loop [луп]

Что значит: цикл — повторение одних и тех же действий заданное число раз или пока не выполнится условие.
Контекст:

«Сделай loop, чтобы вывести числа от 1 до 10».
«Бесконечный loop — частая причина зависания».
Аналогия: Лупа — увеличительное стекло. Но loop — это не лупа! Это петля, как на верёвке. Компьютер «ходит по петле», пока не скажут: «хватит».
Как запомнить: Петля на шнурке. Раз — прошёл. Два — снова. Три… и так далее.


8. Function [фАнкшн]

Что значит: функция — именованный блок кода, который делает одну чёткую задачу и может использоваться много раз.
Контекст:

«Напиши function calculateArea(), чтобы считать площадь».
«Эта function принимает два параметра».
Суть: Функция — как кнопка на микроволновке: «Разогреть». Ты не знаешь, как внутри греется, но нажимаешь — и получает еду.
Произношение: Ударение на первый слог — ФА-нкшн, не фанк-ШН.


9. Variable [вЭриэбл]

Что значит: переменная — «коробочка» с именем, в которую можно положить значение (число, текст, да что угодно) и потом его менять.
Контекст:

«Создай variable userName и присвой ей своё имя».
«Значение variable изменилось после ввода».
Аналогия: Коробка с наклейкой. Наклейка — имя (score, age). Внутри — содержимое (100, 13). Можно вынуть старое и положить новое — имя коробки не меняется.
Важно: Переменная не хранит само значение вечно — только пока программа работает.


10. String [стринг]

Что значит: строка — последовательность символов (букв, цифр, знаков), заключённая в кавычки.
Контекст:

"Привет, мир!" — это string.
«Преобразуй число в string, чтобы склеить с текстом».
Происхождение: От string of pearls — «нитка жемчуга». Каждый символ — «жемчужина» на нитке.
Как запомнить: Нитка бусин: Привет… — вот и стринг.


11. Number [нАмбэр]

Что значит: число — значение без кавычек, с которым можно делать математику.
Контекст:

42 — это number, а "42"string.
«Сложи два numbers: a + b».
Разница: Если ты сложишь "10" + "2", получишь "102" (склеивание строк). А если 10 + 2 — будет 12 (сложение чисел).
Важно: Компьютер очень строго разделяет типы. Это не «мелочь» — это основа.


12. Boolean [булИэн]

Что значит: логическое значение — только true (истина) или false (ложь).
Контекст:

«Условие if (x > 5) возвращает boolean».
«Функция isLoggedIn() должна вернуть boolean».
История: Названо в честь Джорджа Буля — математика XIX века, создавшего булеву алгебру (основу логики в компьютерах).
Как запомнить: Как выключатель: либо включено (true), либо выключено (false). Никаких «может быть».


13. If [иф]

Что значит: условие — «если… то…». Позволяет программе принимать решения.
Контекст:

if temperature > 30:  
print("Жарко!")

Как работает: Компьютер проверяет выражение после if. Если оно true — выполняет блок. Если false — пропускает.
Аналогия: Светофор. Если зелёный — иди. Если красный — стой.


14. Else [элс]

Что значит: «иначе» — продолжение условия if.
Контекст:

if isRaining:  
take("зонт")
else:
take("очки")

Важно: else — не отдельное слово, а часть конструкции if-else. Как вторая половина монеты.


15. Array [эрей]

Что значит: массив — упорядоченный список значений, пронумерованный с нуля.
Контекст:

colors = ["красный", "зелёный", "синий"]
colors[0]"красный"
Особенность: Нумерация с нуля. Почему? Это исторически — и удобно при расчётах.
Аналогия: Коробка для яиц. Ячейки: 0, 1, 2… В каждой — своё яйцо (значение).


16. Object [Обджэкт]

Что значит: объект — структура, которая хранит данные (поля) и действия (методы) вместе.
Контекст:

let cat = {  
name: "Мурзик",
meow: function() { console.log("Мяу!"); }
};
cat.meow(); // → "Мяу!"

Идея: В реальном мире всё — объекты: машина (модель, цвет, ехать), человек (рост, имя, думать). В программировании — точно так же.
Как запомнить: Не «предмет», а сущность с внутренним устройством.


17. Method [мЭтод]

Что значит: функция, которая принадлежит объекту.
Контекст:

array.push(item)push это method массива.
string.toUpperCase()method строки.
Разница от function: Метод всегда вызывается на чём-то: чего-то.метод(). Функция — сама по себе: функция().
Пример: У кошки (cat) есть метод meow(). У собаки — bark(). У каждого объекта — свои методы.


18. Parameter [парамИтэр]

Что значит: параметр — «входные данные» функции, указанные при её определении.
Контекст:

def greet(name):  # ← `name` — параметр  
print("Привет, " + name)

Важно: Не путать с аргументом — это то, что передаётся при вызове:

greet("Анна")"Анна" — аргумент.
Аналогия: Рецепт пирога говорит: «Возьми муку (параметр)». Ты берёшь 500 г пшеничной муки (аргумент).


19. Return [ри:тЁ:н]

Что значит: вернуть результат работы функции.
Контекст:

def double(x):  
return x * 2

result = double(5)result = 10.
Суть: Функция — как чёрный ящик. Ты кладёшь что-то внутрь (аргументы), жмёшь кнопку — и из отверстия вываливается результат (return).
Если нет return? Многие языки вернут undefined или None — «ничего».


20. Console [кАнсоль]

Что значит: специальное окно (или инструмент), куда программа может выводить служебные сообщения — для отладки и проверки.
Контекст:

console.log("Проверка!") в JavaScript.
В Python — print() (но часто тоже называют «вывод в консоль»).
Факт: В старых компьютерах вся работа шла через консоль — без окон, без мышки. Поэтому даже в графических программах осталось это «окно отладки».
Как запомнить: Как приборная панель самолёта — много цифр, ошибок, сигналов. Пилот (программист) смотрит туда, чтобы понять, всё ли в порядке.


21. Client [клАйэнт]

Что значит: клиент — программа или устройство, которое запрашивает что-то у другой программы.
Контекст:

«Браузер — это client для веб-сайтов».
«Мобильное приложение — client, а сервер обрабатывает запросы».
Суть: Клиент не хранит основные данные и не решает главные задачи — он только просит. Как посетитель в кафе: он не готовит еду, не моет посуду — он только делает заказ (request).
Важно: Клиентом может быть и человек («пользователь-клиент»), но чаще — программа.


22. Server [сЁ:вэр]

Что значит: сервер — компьютер или программа, которая отвечает на запросы клиентов.
Контекст:

«Сайт работает на server в облаке».
«Если server упал — сайт недоступен».
Разъяснение: Сервер — это не обязательно «огромный железный шкаф». Это роль. Твой ноутбук может быть сервером, если на нём запущена программа, которая ждёт запросов (например, локальный веб-сервер для разработки).
Аналогия: Повар в кафе. Клиент (посетитель) заказывает — сервер (повар) готовит и подаёт.


23. Request [риквЭст]

Что значит: запрос — сообщение от клиента к серверу: «Дай мне вот это».
Контекст:

«Страница отправила request к API».
«Проверь, какой request ушёл — может, ошибка в URL».
Формат: Часто — HTTP-запрос: GET /users, POST /login, и т.д.
Как запомнить: Request = re- («снова») + quest («вопрос»). Ты вновь спрашиваешь — «А можно?», «А дайте?».


24. Response [риспОнс]

Что значит: ответ — то, что сервер присылает клиенту после обработки запроса.
Контекст:

«В response пришёл JSON с данными».
«Статус-код response — 200: всё хорошо».
Структура: Обычно содержит:

  • статус (200 = OK, 404 = не найдено, 500 = ошибка сервера),
  • заголовки (например, тип данных),
  • тело (сами данные: текст, JSON, картинка…).
    Аналогия: Официант приносит блюдо — это response на твой request.

25. API [эй-пи-ай]

Что значит: Application Programming Interface — «интерфейс программирования приложений».
Перевод не помогает? Давайте проще: API — это меню для программ.
Контекст:

«Погодное приложение использует API Яндекс.Погоды».
«Напиши свою функцию, но соблюдай API: два параметра, возвращает число».
Как работает: Ты (программа) не лезешь в кухню (внутрь сервиса), а просто говоришь: «Дайте прогноз на Москву» — и получаешь ответ. API — это правила, как можно спрашивать, и что получишь.
Важно: API может быть веб-API (через интернет), библиотечный (в коде), операционный (например, вызовы Windows API). Но суть одна: соглашение о том, как общаться.


26. JSON [джей-сон]

Что значит: JavaScript Object Notation — стандартный формат для передачи структурированных данных между программами.
Контекст:

«Сервер прислал JSON с пользователями».

{ "name": "Тимур", "age": 30, "city": "Москва" }  

Почему JSON, а не XML или CSV? Он:

  • легко читается человеком,
  • легко парсится компьютером,
  • встроен в JavaScript «из коробки»,
  • поддерживает вложенные структуры (объекты в объектах).
    Как запомнить: Это просто «объект в кавычках». Всё, что в двойных кавычках ("...") — правильно. Одинарные — ошибка.

27. Database [дЭйтабэйс]

Что значит: база данных — организованное хранилище информации, к которому можно быстро обращаться.
Контекст:

«Пользователи хранятся в database».
«Добавь новую запись в database через SQL-запрос».
Разъяснение: Это не Excel и не текстовый файл. База данных — это система: программа (например, PostgreSQL, MySQL), которая умеет:

  • хранить миллионы записей,
  • искать за миллисекунды,
  • защищать от потерь,
  • управлять одновременным доступом.
    Аналогия: Библиотека. Книги — данные. Библиотекарь — СУБД (система управления БД). Каталог — индексы.

28. Query [квЭри]

Что значит: запрос к базе данных — «вопрос», на который она должна дать «ответ».
Контекст:

SELECT name FROM users WHERE age > 18; — это query.
«Оптимизируй query, он тормозит».
Язык: Обычно SQL (Structured Query Language), но бывают и другие (например, MongoDB использует JSON-подобные запросы).
Важно: Query — не то же самое, что request. Запрос к БД — внутренний, между программой и её хранилищем. Request — между клиентом и сервером.


29. Compile [кэмпАйл]

Что значит: компиляция — процесс перевода кода на языке программирования (например, C#, Java) в машинный код, который понимает процессор.
Контекст:

«Перед запуском нужно compile программу».
«Ошибка на этапе compile — значит, синтаксис нарушен».
Как работает: Компилятор читает весь код, проверяет его на ошибки, и если всё в порядке — создаёт исполняемый файл (.exe, .jar и т.д.).
Аналогия: Перевод книги с русского на китайский целиком, до того как её начнут читать.
Контраст: JavaScript и Python — интерпретируемые: там код читается и выполняется по строчке, без предварительной компиляции (хотя современные движки всё равно делают JIT-компиляцию — но это уже продвинуто).


30. Build [билд]

Что значит: сборка — процесс подготовки программы к запуску или развёртыванию.
Контекст:

«Запусти build перед коммитом».
«В CI/CD pipeline три этапа: build, test, deploy».
Что входит в build? Зависит от проекта, но обычно:

  • компиляция (если нужно),
  • объединение файлов,
  • минификация (сжатие кода),
  • копирование ресурсов (картинок, шрифтов),
  • генерация конфигураций.
    Разница от compile: Compile — техническая операция (код → машинный код). Buildпроцесс (код → готовый продукт). Можно сказать: build включает compile, но не ограничивается им.

31. Deploy [диплОй]

Что значит: развёртывание — установка готовой программы на сервер, чтобы ею могли пользоваться.
Контекст:

«Мы сделали deploy новой версии в 3 ночи».
«Automated deploy экономит часы ручной работы».
Этапы:

  1. Сборка (build) →
  2. Тестирование →
  3. Копирование файлов на сервер →
  4. Перезапуск службы →
  5. Проверка доступности.
    Аналогия: Открытие нового кафе:
  • приготовили блюда (build),
  • проверили на дегустации (test),
  • открыли двери (deploy),
  • пустили первых гостей (пользователей).

32. IDE [ай-ди-и]

Что значит: Integrated Development Environment — интегрированная среда разработки.
Контекст:

«Я работаю в IDE — Visual Studio, PyCharm, VS Code».
«Без IDE отладка займёт в 10 раз дольше».
Что входит:

  • редактор кода (с подсветкой, автодополнением),
  • отладчик (debugger),
  • терминал,
  • инструменты сборки и запуска,
  • навигация по проекту.
    Важно: VS Code — не полноценная IDE «из коробки», но с плагинами становится почти такой же. А IntelliJ IDEA, Eclipse — классические IDE.
    Как запомнить: Это «кухня программиста» — всё под рукой.

33. Debugger [дИбагэр]

Что значит: отладчик — инструмент в IDE, который позволяет шагать по коду построчно, видеть значения переменных и ловить ошибки в реальном времени.
Контекст:

«Поставь breakpoint и запусти в debugger».
«Без debugger я бы неделю искал этот баг».
Как работает: Ты говоришь: «Остановись здесь», программа запускается — и тормозит на указанной строке. Ты смотришь: что в x? что в users? идёшь на следующую строку — и так далее.
Эффект: Вместо «почему не работает?» — «вот здесь index = -1, а должно быть 0». Резко.


34. Breakpoint [брЭйкпоинт]

Что значит: точка останова — метка в коде, на которой отладчик приостановит выполнение.
Контекст:

«Поставь breakpoint перед циклом — посмотри, какие данные приходят».
«Можно поставить условный breakpoint: остановись, только если x > 100.
Как ставится: Обычно клик слева от номера строки — появляется красная точка.
Происхождение: От break («остановить») + point («точка»). Честно и просто.


35. Exception [иксЭпшн]

Что значит: исключение — сигнал о том, что произошла неожиданная, но предусмотренная ошибка.
Контекст:

«При делении на ноль выбрасывается exception».
«Оберни код в try-catch, чтобы поймать exception».
Чем отличается от ошибки? Ошибка — фатальна (программа падает). Исключение — можно перехватить и обработать:
«Файл не найден? Хорошо, создадим новый».
История: В 1960-х в языке PL/I ввели condition handling — прообраз современных исключений. Сейчас почти все языки используют эту модель.


36. Try / Catch [трай / кЭч]

Что значит: конструкция для безопасной обработки исключений.
Контекст:

try {  
let data = JSON.parse(input);
} catch (error) {
console.log("Неверный формат JSON:", error.message);
}

Как работает:

  • try — «попробуй сделать это».
  • Если внутри всё хорошо — catch пропускается.
  • Если возникло исключение — выполнение прыгает в catch, и ты получаешь объект ошибки.
    Важно: Не стоит оборачивать всё подряд в try-catch — только то, где реально возможна проблема (чтение файла, сетевой запрос, парсинг).

37. Library [лАйбрери]

Что значит: библиотека — набор готовых функций и классов, которые можно использовать в своём коде.
Контекст:

«Для работы с датами использую библиотеку date-fns».
«Не изобретай велосипед — возьми library».
Суть: Библиотека пассивна. Она ничего не делает сама — ты вызываешь её функции, когда нужно.
Аналогия: Набор отвёрток. Ты берёшь нужную — и крутишь. Сама отвёртка не лезет в шуруп.


38. Framework [фрЭймворк]

Что значит: фреймворк — «каркас» приложения. Он управляет ходом выполнения, а ты вписываешь свой код в его структуру.
Контекст:

«Пишу веб-приложение на framework React».
«Spring — framework для Java-бэкенда».
Разница от library:

  • Библиотека: ты управляешь программой → вызываешь lib.doSomething().
  • Фреймворк: он управляет программой → ты пишешь onButtonClick(), и фреймворк вызовет её, когда нужно.
    Инверсия управления (IoC): Это ключевая идея. Фреймворк — как режиссёр: он говорит, когда и где ты (актёр) должен выйти на сцену.

39. Repository (repo) [рипОзитори / рИпо]

Что значит: репозиторий — хранилище кода с полной историей изменений.
Контекст:

«Клонируй repo с GitHub».
«Создай pull request в основной repo».
Как устроен: Использует систему контроля версий (чаще всего — Git). Каждое изменение сохраняется как commit (см. ниже), и можно откатиться в любую точку истории.
Факт: Репозиторий — не «папка с кодом». Это папка + скрытая папка .git, где лежит вся история.


40. Commit [кэмИт]

Что значит: фиксация изменений — сохранение набора правок в истории репозитория.
Контекст:

«Сделай commit после завершения фичи».
git commit -m "Добавил форму входа"
Важно:

  • commit — не то же самое, что save. Save — локально, в файле. Commit — в истории проекта.
  • Каждый commit имеет уникальный хеш (например, a1b2c3d), дату, автора и сообщение.
    Как запомнить: Commit — как «подпись под документом». Ты говоришь: «Да, я подтверждаю, что на этом этапе всё в порядке».

41. Push [паш]

Что значит: отправка локальных коммитов в удалённый репозиторий (например, на GitHub).
Контекст:

git push origin main — отправить изменения в ветку main.
«Не забудь push, иначе коллеги не увидят твои правки».
Направление: Локально → удалённо.
Аналогия: Отправка письма по почте. Commit — написал и подписал. Push — бросил в почтовый ящик.


42. Pull [пул]

Что значит: получение изменений из удалённого репозитория к себе.
Контекст:

git pull origin main — забрать последние правки.
«Перед началом работы сделай pull, чтобы не было конфликтов».
Направление: Удалённо → локально.
Pull ≠ Fetch + Merge? Да, технически pull — это fetch (скачать изменения) + merge (слить с текущей веткой). Но для начала хватит и такого понимания.


43. Branch [брэнч]

Что значит: ветка — независимая линия разработки внутри одного репозитория.
Контекст:

«Работай в своей branchfeature/login».
«После тестов смержим branch в main».
Зачем? Чтобы не ломать основной код (main), пока пишешь новую функцию.
Аналогия: Река разделилась на рукава. Один — основной поток (main). Другой — новый канал (feature), который потом вольётся обратно.


44. Merge [мЁ:дж]

Что значит: слияние — объединение изменений из одной ветки в другую.
Контекст:

«Сделал merge feature/login в main».
«Был конфликт при merge — пришлось править вручную».
Что такое конфликт? Когда в двух ветках одну и ту же строку изменили по-разному. Git не знает, какую версию оставить — и просит тебя решить.


45. Conflict [кОнфликт]

Что значит: конфликт версий — ситуация, когда Git не может автоматически объединить изменения.
Контекст:

«При merge возник conflict в файле auth.js».
«Реши conflict: выбери свою версию, его или смешай».
Как выглядит:

<<<<<<< HEAD  
console.log("Мой код");
=======
alert("Его код");
>>>>>>> feature/login

Ты удаляешь всё, кроме нужного — и сохраняешь.
Важно: Конфликты — не ошибка. Это нормальный процесс совместной работы. Главное — их замечать и решать.

46. Cloud [клауд]

Что значит: облако — удалённые серверы и сервисы, доступные через интернет, за которыми нет физического «своего сервера».
Контекст:

«Мы переехали с локального сервера в cloud».
«Используем облачное хранилище: Google Drive, Яндекс.Диск — это тоже cloud».
Разъяснение: Cloud — не «где-то в интернете», а конкретные дата-центры (например, AWS в Ирландии, Google Cloud в Финляндии), которыми управляют провайдеры. Ты арендовальщик, а не владелец.
Модели:

  • IaaS (Infrastructure): «арендуй сервер как компьютер» (Amazon EC2),
  • PaaS (Platform): «арендуй платформу — заботься только о коде» (Heroku),
  • SaaS (Software): «арендуй готовую программу» (Gmail, Notion).
    Аналогия: Электричество. Раньше каждый завод имел свою электростанцию (локальный сервер). Теперь — включаешь вилку в розетку (подключаешься к облаку) и получаешь мощность по мере надобности.

47. Container [кэнтЕйнэр]

Что значит: контейнер — лёгкая, изолированная среда для запуска приложения со всеми его зависимостями.
Контекст:

«Упаковали сервис в container — теперь он везде работает одинаково».
«Docker создаёт и управляет containers».
Зачем? Проблема: «У меня на машине работает, а у тебя — нет». Причина — разные версии библиотек, ОС, настроек. Контейнер берёт всё нужное и кладёт в «коробку», которую можно переносить.
От виртуальной машины отличается:

  • ВМ — эмулирует весь компьютер (тяжело, медленно),
  • Контейнер — изолирует процесс (легко, быстро).
    Как запомнить: Контейнер — как пластиковый контейнер для еды: блюдо (программа), соус (библиотеки), приборы (настройки) — всё вместе, герметично.

48. Docker [дОкэр]

Что значит: Docker — самая популярная система для создания и управления контейнерами.
Контекст:

docker run nginx — запустить веб-сервер в контейнере.
«Все микросервисы упакованы в Docker-образы».
Что такое образ (image)? Это «шаблон», из которого создаются контейнеры — как снимок системы в момент времени. Образ — неизменяем, контейнер — его запущенная копия.
История: Назван в честь docker — человека, грузящего контейнеры на корабль. Программа «грузит» приложения в цифровые контейнеры.


49. Kubernetes [кьюбЭ:нэтИс], сокращённо K8s

Что значит: оркестратор контейнеров — система, которая управляет сотнями контейнеров: запускает, распределяет нагрузку, перезапускает упавшие.
Контекст:

«Без Kubernetes масштабировать 50 сервисов невозможно».
«K8s — стандарт де-факто для production-инфраструктуры».
Почему «оркестратор»? Потому что управляет множеством «музыкантов» (контейнеров), чтобы звучало слаженно — а не как оркестр в хаосе.
Происхождение названия: От греч. kubernetes — «кормчий», «рулевой».
K8s? Сокращение: K + 8 букв + s = K8s. Как i18n (internationalization), a11y (accessibility).


50. CI/CD [си-ай / си-ди]

Что значит:

  • CI — Continuous Integration (непрерывная интеграция): автоматическая сборка и тестирование при каждом изменении кода.
  • CD — Continuous Delivery/Deployment (непрерывная доставка/развёртывание): автоматическая подготовка и (иногда) развёртывание в продакшен.
    Контекст:

«У нас настроен CI/CD pipeline в GitLab».
«Если тесты в CI упали — коммит не примут».
Как работает:

  1. Ты делаешь git push,
  2. CI-система (GitHub Actions, Jenkins) автоматически:
    • клонирует репозиторий,
    • запускает build,
    • прогоняет тесты,
    • генерирует отчёт.
  3. Если всё OK — CD может даже отправить обновление на сервер.
    Эффект: Никаких «но у меня-то работает!», никаких ручных сборок в 3 ночи.

51. Pipeline [пАйплайн]

Что значит: конвейер — последовательность автоматизированных шагов (stages), через которые проходит код от коммита до развёртывания.
Контекст:

«В pipeline три этапа: build → test → deploy».
«Pipeline упал на этапе тестов — смотри логи».
Аналогия: Конвейер на заводе:

  • станок 1: вырезает деталь (build),
  • станок 2: проверяет размер (test),
  • станок 3: упаковывает (deploy).
    Остановка на любом этапе — всё встаёт.

52. Cache [кэш]

Что значит: кэш — временное хранилище часто используемых или дорого вычисляемых данных для ускорения работы.
Контекст:

«Результат запроса сохранён в cache на 5 минут».
«Очисти браузерный cache, если сайт отображается старый».
Где бывает:

  • в процессоре (L1/L2/L3 cache),
  • в браузере (картинки, JS-файлы),
  • на сервере (Redis, Memcached).
    Принцип: Лучше 1 раз прочитать с диска и 10 раз отдать из памяти, чем 10 раз читать с диска.
    Риск: Устаревшие данные. Поэтому кэш всегда имеет срок жизни (TTL — Time To Live).

Что значит: небольшой фрагмент данных, который сервер просит браузер сохранить и отправлять при каждом последующем запросе.
Контекст:

«После входа сервер ставит cookie session_id=abc123».
«Без cookies нельзя сделать авторизацию в вебе».
Как работает:

  1. Сервер отвечает: Set-Cookie: session_id=abc123,
  2. Браузер сохраняет это,
  3. При следующем запросе добавляет: Cookie: session_id=abc123.
    Важно:
  • Cookies хранятся на клиенте (в браузере),
  • Они привязаны к домену (google.com не видит yandex.ru),
  • Могут быть сессионными (до закрытия браузера) или персистентными (с датой истечения).
    Не путать с куки-файлами в печенье! Хотя идея похожа: «оставить метку для следующего посещения».

54. Session [сЭшн]

Что значит: сессия — промежуток времени, в течение которого система «помнит» пользователя.
Контекст:

«Session хранится на сервере, а в cookie — только ID».
«Токен истёк — нужно начать новую session».
Как работает (классика):

  • Пользователь входит → сервер создаёт запись: { id: "abc123", user: "timur", expires: "2025-11-10T12:00:00" },
  • ID (abc123) отправляется в cookie,
  • При каждом запросе сервер ищет сессию по ID.
    Современный вариант: вместо сессий — JWT-токены (см. ниже).

55. Token [тОкэн]

Что значит: токен — цифровой «пропуск», подтверждающий право на действие.
Контекст:

«После входа приложение получает token и шлёт его в заголовке Authorization: Bearer xyz».
«Access token живёт 1 час, refresh token — 30 дней».
Типы:

  • Access token — для доступа к API сейчас,
  • Refresh token — для получения нового access token без повторного входа.
    Формат: Часто — JWT (JSON Web Token): xxxxx.yyyyy.zzzzz — три части, закодированные в base64, вторая содержит данные (кто, когда, права), третья — подпись (чтобы никто не подменил).
    Преимущество перед сессиями: серверу не нужно хранить состояние — токен самодостаточен.

56. SSL / TLS [эс-эс-эль / ти-эль-эс]

Что значит: протоколы шифрования данных при передаче по сети.
Контекст:

«Сайт должен работать по HTTPS — это HTTP + TLS».
«Сертификат SSL/TLS выдаёт удостоверяющий центр».
Разница:

  • SSL (Secure Sockets Layer) — старый, уязвимый, не используется с 2015 г.,
  • TLS (Transport Layer Security) — его преемник. Но по привычке всё ещё говорят «SSL-сертификат».
    Как работает:
  1. Браузер и сервер договариваются о ключах,
  2. Все данные шифруются на лету,
  3. Даже провайдер не видит, что передаётся (только домен и объём).
    Визуальный признак: 🔒 в адресной строке и https://.

57. Firewall [фАйрвол]

Что значит: брандмауэр — система, контролирующая входящий и исходящий сетевой трафик по правилам.
Контекст:

«Разреши порт 443 в firewall, иначе HTTPS не заработает».
«Windows Defender Firewall блокирует неизвестные подключения».
Принцип: Как охранник у двери:

  • Правило: «Пускать только на порт 80 (HTTP) и 443 (HTTPS)»,
  • Запрос на порт 22 (SSH)? — «Стой! У вас нет пропуска».
    Уровни:
  • На компьютере (межсетевой экран ОС),
  • На маршрутизаторе,
  • В облаке (AWS Security Groups).

58. CLI [си-эль-ай]

Что значит: Command-Line Interface — интерфейс командной строки.
Контекст:

«Запусти npm install в CLI».
«Git работает в основном через CLI, хотя есть GUI-оболочки».
Плюсы CLI:

  • Точность (нет «а где эта кнопка?»),
  • Автоматизация (скрипты),
  • Универсальность (работает и на сервере без экрана).
    Минус: Нужно знать команды. Но их можно сохранять, копировать, искать.

59. GUI [ги-ю-ай]

Что значит: Graphical User Interface — графический интерфейс: окна, кнопки, меню.
Контекст:

«Быстрая настройка — через GUI, сложная — через CLI».
«Утилита gitk — GUI для просмотра истории Git».
Сравнение:

  • CLI — как управление самолётом штурвалом и приборами (точно, но сложно),
  • GUI — как автопилот с сенсорным экраном (удобно, но не для всех манёвров).
    Профессионалы используют оба — в зависимости от задачи.

60. UI / UX [ю-ай / ю-экс]

Что значит:

  • UI (User Interface) — как выглядит интерфейс: кнопки, цвета, шрифты, расположение.
  • UX (User Experience) — как ощущается использование: удобно ли, интуитивно ли, вызывает ли раздражение.
    Контекст:

«UI дизайнер нарисовал макет, UX-исследователь проверил его на пользователях».
«Отличный UX — когда пользователь не думает, как сделать, а просто делает».
Разница:

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

Почему IT-лексика почти вся на английском?

И можно ли говорить по-русски?

Этот вопрос возникает у каждого, кто впервые сталкивается с терминами вроде debug, commit, pipeline. Кажется, что это «мода» или «высокомерие». Но на самом деле — это результат трёх объективных факторов: технологического, экономического и культурного.


1. Язык науки и инженерии — английский (исторически)

С середины XX века английский стал lingua franca (общим языком) науки. Причины:

  • Расцвет США после Второй мировой войны как центра науки, военных и промышленных разработок,
  • Массовое финансирование исследований (NASA, DARPA),
  • Создание первых компьютеров (ENIAC, Harvard Mark I) и языков (Fortran, Lisp) в англоязычной среде.

Когда в 1970-х появился Unix, его создатели (Кен Томпсон, Деннис Ритчи) использовали короткие английские слова: ls, cd, cp, grep. Это было практично — не из-за «любви к англицизмам», а потому что:

  • клавиатуры были медленными,
  • экраны — узкими (72 символа в строке),
  • каждый символ на счету.

Эти привычки закрепились. Заменить их сейчас — значит сломать совместимость с миллионами существующих систем.


2. Глобальная коллаборация требует единого языка

Представьте: российский разработчик, немецкий тестировщик и японский архитектор работают над одним проектом.

  • Если каждый использует свои термины:
    • отладка / Fehlersuche / デバッグ — путаница,
  • Если все используют debug — сразу понятно.

IT — одна из самых интернациональных профессий. GitHub, Stack Overflow, документация, конференции — всё на английском. Даже русскоязычные компании используют английские термины в коде и в переписке:

  • fixLoginBug() — понятно всем,
  • исправитьБагВхода() — только говорящим по-русски, и ещё не факт, что с правильной транслитерацией.

Это не «отказ от родного языка», а инструмент эффективности — как использовать метрическую систему мер вместо аршинов и фунтов.


3. Переводы часто вводят в заблуждение

Некоторые термины перевести невозможно без потери смысла. Примеры:

АнглийскийГипотетический «перевод»Проблема
branchветвь, ответвлениеВ русском «ветвь» — ботаника. В IT — конкретная техническая операция в Git.
mergeслияние, объединение«Объединение» слишком общее. «Слияние» — ассоциируется с жидкостями.
commitфиксация, сохранение, подтверждениеНи одно слово не передаёт идею юридического подтверждения изменения в истории.
tokenжетон, маркер«Маркер» — в химии и рисовании. «Жетон» — в метро. Ни то, ни другое не отражает роль в безопасности.

Профессионалы говорят commit, потому что это точный технический термин — как интеграл или генотип. Его не заменяют на «сумма бесконечно малых» или «наследственный код» в разговоре специалистов.


Значит ли это, что нужно забыть русский?

Нет.

  • Объяснять новичкам, писать документацию, проводить обучение — можно и нужно на родном языке.
  • Но в коде, в технических обсуждениях, в документации к инструментам — английские термины неизбежны.

Оптимальная стратегия:

  1. Понимать термин на английском — точно, без искажений,
  2. Объяснять его на русском — через аналогии, примеры, суть,
  3. Использовать английское слово в техническом контексте — как устоявшееся обозначение.

Это как в медицине: врач говорит пациенту «повышенное давление», но в карте пишет hypertension. Оба варианта уместны — в своём месте.