188

Глосарій ІТ-термінів

Кожен термін, що трапляється всередині статті, не будучи її темою, — визначений одним-двома реченнями. Це слова, об які читач спотикається посеред абзацу: словник, який сторінка мовчки вважає вже відомим. Якщо термін має власну статтю, запис веде на неї.

A

A/B test

контрольований експеримент на живих користувачах

Експеримент, що одночасно показує дві версії чогось випадково розділеним групам користувачів і порівнює між ними обрану метрику. Це найсильніший доказ ефекту — і найдорожчий: щоб відрізнити частку 18% від 19%, потрібно приблизно 24 000 користувачів у кожній групі.

Повністю розкрито: /management/product-management/product-discovery

acceptance criteria

як визнають, що історію зроблено

Умови, яким має відповідати конкретний шматок роботи, щоб його прийняли, погоджені до того, як його збудують, — наприклад, що прострочений промокод відхиляється з датою закінчення. Вони відрізняються від Definition of Done, що діє для кожної роботи; п’ятнадцять таких на одній історії зазвичай означають, що це кілька історій.

Повністю розкрито: /management/decomposition/user-stories

ACIDAtomicity, Consistency, Isolation, Durability

чотири обіцянки транзакції

Чотири гарантії транзакції в базі даних: вона стається вся або не стається зовсім, не лишає порушеним жодного оголошеного правила, паралельні транзакції не бачать одна одну недоробленою, а підтверджений коміт переживає збій. Ізоляція має налаштування, і типовий рівень у більшості рушіїв слабший, ніж обіцяє назва.

Повністю розкрито: /development/databases/sql

Agile Release Train

5–12 команд, що планують і постачають разом

У SAFe — довгоживуча група з пʼяти-дванадцяти agile-команд, зазвичай 50–125 осіб, які разом планують на PI Planning, працюють до однакових меж ітерацій і щоітерації інтегрують свою роботу. Її варто проводити навколо шляху, яким продукт іде до клієнтів; потяг, проведений навколо наявних відділів, координує їх, нічого не змінюючи.

Повністю розкрито: /management/methodologies/safe

APIApplication Programming Interface

контракт між програмами

Правила, за якими одна програма звертається до іншої: які запити можна надіслати, у якому вигляді й що прийде у відповідь. Для того, хто звертається, це контракт — усе, що за ним, лишається чорною скринькою, і саме тому другий бік можна переписати, не зламавши вас.

Повністю розкрито: /development/architecture/api-design

append-only

записи лише додають

Сховище чи журнал, куди нові записи лише додають, а наявні ніколи не змінюють і не видаляють на місці; виправлення — новий запис, що посилається на старий. Це коштує місця й робить «поточне значення» запитом, зате ніщо з того, що колись було відомо, не може тихо зникнути.

ArduPilot

відкритий автопілот

Відкритий автопілот для мультикоптерів, літаків, гелікоптерів, човнів і наземних апаратів під ліцензією GPLv3. Він покриває те саме, що й PX4, — стабілізацію, навігацію, режими, фейлсейфи — із ширшим набором типів апаратів і копілефт-ліцензією, яка важить того дня, коли ви постачаєте змінену прошивку.

ARIAAccessible Rich Internet Applications

атрибути доступності

Набір атрибутів HTML — role, aria-label, aria-expanded та інші, — що кажуть допоміжним технологіям, чим є елемент і в якому він стані. Він лише описує й нічого не реалізує: role="button" змусить зчитувач екрана оголосити кнопку, а елемент і далі ігноруватиме клавіатуру, доки ви не напишете цей код самі.

B

Backlog

упорядкований список того, що лишилось

Упорядкований список усього, що може бути зроблено, і найцінніше — згори. Ключове слово тут «упорядкований»: беклог, де все однаково важливе, є списком побажань і не полегшує жодного рішення.

Повністю розкрито: /management/methodologies/scrum

backoff

дедалі довша пауза між повторами

Пауза перед повтором невдалого виклику, що зростає після кожного збою, — наприклад, 1, 2, 4 і 8 секунд, — зазвичай із випадковою добавкою (jitter), щоб багато клієнтів не повторювали в одну мить. Без неї повтори приходять саме тоді, коли сервіс, якому й так важко, найменше може їх собі дозволити.

blast radius

наскільки далеко сягає шкода

Яку частину системи зачіпає, коли щось одне йде не так, — поганий деплой, процес, що впав, витік облікових даних, помилка агента. Його зменшують межами: окремими процесами, вузькими дозволами, поетапними розгортаннями. Компроміс у тому, що кожна межа, яка стримує збій, ще й щось коштує, коли її треба перетнути.

blue-green

два середовища, один перемикач

Два однакові середовища, з яких трафік обслуговує лише одне: нова версія їде на вільне, а реліз — це перемикання між ними. Відкат є тим самим перемиканням назад, тому він вимірюється секундами, а не повторним розгортанням.

Повністю розкрито: /management/release-process/release-planning

breaking change

зміна, під яку треба підлаштуватися

Зміна, після якої наявним користувачам треба змінити свій код чи конфігурацію, щоб усе далі працювало: видалене чи перейменоване поле, суворіша валідація, нове значення за замовчуванням. За семантичним версіонуванням вона потребує нової мажорної версії, і саме її найчастіше помилково випускають як виправлення.

Повністю розкрито: /management/release-process/changelog

browser context

ізольований профіль в одному браузері

Ізольована сесія всередині одного запущеного браузера з власними cookie, сховищем і дозволами — так її використовує Playwright. Відкрити її — мілісекунди, а не запуск браузера, тож кожен тест може починати як новий користувач, а два контексти в одному тесті — це два користувачі, які не бачать одне одного.

Повністю розкрито: /qa/automation/playwright

bytecode

інструкції для віртуальної машини

Компактні інструкції для віртуальної машини, а не для справжнього процесора, — те, що виконують JVM, CPython, OPcache у PHP, Hermes у React Native і віртуальна машина Ethereum. Компілятор створює його з вихідного коду заздалегідь, тож середовищу не треба нічого розбирати; далі віртуальна машина його інтерпретує або компілює найнавантаженіші частини в машинний код.

Повністю розкрито: /development/backend/java

C

C2Command and control

системи командування й управління

ПЗ, що зводить доповіді з багатьох джерел в одну спільну картину, за якою можна діяти, і несе рішення, ухвалені за нею. Його центральна робота — кореляція: вирішити, чи описують дві доповіді одну річ чи дві, — і тому воно складніше за мапу, якою його зазвичай малюють.

Повністю розкрито: /deftech/c2-systems

canary

випуск спершу для небагатьох

Спершу спрямувати нову версію на малу частку трафіку й подивитись, перш ніж піде решта. Це купує те, чого не дає повний реліз: поломка коштує вам одного відсотка користувачів, а не всіх.

Повністю розкрито: /management/release-process/release-planning

capacity allocation

ліміт WIP, поділений між видами роботи

Наперед поділений між видами роботи ліміт незавершеної роботи команди — скажімо, пʼять планових задач, три запити підтримки й одне покращення, — зазвичай намальований окремими доріжками на дошці. Про розподіл сперечаються один раз, а не щодо кожного запиту, і коли він виявляється хибним, це показують метрики.

Повністю розкрито: /management/methodologies/scrumban

change data capture

потік змін із журналу бази

Потокова передача кожної вставки, зміни й видалення з власного журналу змін бази в інші системи, як це роблять інструменти на кшталт Debezium. Вона тримає другу копію синхронною без того, щоб застосунок писав двічі, ціною прив’язки кожного споживача до структури таблиць джерела.

change failure rate

частка деплоїв, що щось ламають

Частка деплоїв у production, що потребують негайного втручання, — відкату, хотфіксу чи виправлення вперед. Одна з метрик поставки DORA, яку легко накрутити, просто не називаючи збої збоями, тому її читають поруч із часом відновлення й ніколи окремо.

Повністю розкрито: /management/release-process/release-planning

change request

формальний запит змінити погоджене

Формальний запит змінити те, що вже погоджено, — обсяг, дизайн, робочу систему; його оцінюють за впливом на вартість, строки й ризики та схвалюють чи відхиляють до початку будь-яких робіт. Так підписана базова версія вбирає нову інформацію; якщо ж трактувати його як провал, а не як інформацію, він стає способом захищати план довше, ніж той корисний.

Повністю розкрито: /management/methodologies/waterfall

changelog

перелік змін за версіями

Файл, зазвичай CHANGELOG.md, що перелічує помітні зміни кожної версії програми, найновіші першими, згруповані як додане, змінене, задепрековане, видалене, виправлене й безпека. Його пишуть для того, хто вирішує, чи оновлюватися, — тому вивантаження повідомлень комітів таким файлом не вважається.

Повністю розкрито: /management/release-process/changelog

chaos engineering

навмисне ламання

Навмисне спричинення збоїв у робочій системі, щоб дізнатися, як вона поводиться, раніше, ніж збій станеться сам. Суть у часі, а не в хоробрості: той самий інстанс, що вмирає о третій ночі без репетиції, — це інцидент, а о другій дня, коли команда дивиться, — це знахідка.

Chrome DevTools Protocol

як інструменти керують Chrome

Протокол, яким інструменти розробника Chrome оглядають браузер і керують ним; до нього може підʼєднатися будь-яка програма. Інструменти тестування, як-от Playwright і Puppeteer, керують через нього Chromium, тож бачать стан браузера напряму, а не крізь сторінку.

CI/CDContinuous Integration / Continuous Delivery

автоматична збірка й доставка

Кожен коміт автоматично складається і проганяється через тести (CI), а придатна збірка так само автоматично їде на сервери (CD). Сенс не в автоматизації як такій, а в тому, що поломку видно за хвилини, а не в день релізу.

Повністю розкрито: /infrastructure/devops/ci-cd

CLICommand-Line Interface

керування командами

Керування програмою через набрані команди замість натискань. Справжня перевага не у швидкості набору: будь-яку команду можна записати у скрипт і повторити точно, без людини, — а саме це й робить автоматизацію можливою.

CommonJS

стара система модулів Node

Первинна система модулів Node.js — require там, де сучасний код пише import. Вона й досі співіснує з ES-модулями, і більшість незрозумілих помилок імпорту в Node виникають саме на межі між цими двома системами.

Повністю розкрито: /development/backend/nodejs

confirmation testing

повтор кроків бага після виправлення

Тестування після виправлення дефекту: кроки, що його виявили, повторюють, щоб підтвердити, що збою більше немає. Воно доводить одне виправлення; а щоб баг не повернувся непомітно, ці кроки лишають постійним регресійним кейсом.

Повністю розкрито: /qa/types-of-testing/smoke-testing

context window

усе, що модель бачить за раз

Максимальна кількість токенів, яку мовна модель може мати перед собою на одному виклику: вказівки, розмова, будь-які документи й сама відповідь, що пишеться. Це не сховище — між викликами не лишається нічого, тож історія в чаті існує лише тому, що застосунок щоразу надсилає її заново.

Повністю розкрито: /development/ai-llm/llm-fundamentals

Core Web Vitals

метрики досвіду сторінки від Google

Три вимірювання, які Google бере з браузерів реальних відвідувачів: LCP — як швидко з’являється основний вміст; INP — як швидко сторінка відповідає на дії; CLS — наскільки стрибає розкладка. Вони впливають на ранжування в пошуку, але лише як один сигнал із багатьох: швидка сторінка, яку нема сенсу читати, однаково програє повільній, що відповідає на питання.

cost of delay

скільки коштує ще тиждень очікування

Скільки цінності втрачається за кожну одиницю часу, поки робота чекає: для аварії — багато з першої хвилини, для регуляторної дати — нічого до дедлайну, для звичайної роботи — рівномірно більше. Навіть груба оцінка цього числа дає команді змогу порівнювати терміновість, а не сперечатися про неї.

Повністю розкрито: /management/methodologies/kanban

CPUCentral Processing Unit

процесор

Процесор, що виконує інструкції програми. Коли кажуть, що завдання «впирається в CPU», мають на увазі, що воно обмежене обчисленнями, а не очікуванням диска чи мережі, — і лікуються ці два випадки протилежно, тому розрізняти їх варто одразу.

cross-functional

з усіма навичками, потрібними роботі

Про команду, що має всі навички, потрібні, щоб довести роботу від ідеї до продакшену, — дизайн, розробку, тестування, експлуатацію, — і тому не чекає, поки свою частину завершать інші відділи. Компроміс — глибина: фахівцям, розпорошеним по командах, потрібна інша структура, як-от chapter чи guild, щоб тримати спільний рівень ремесла.

Повністю розкрито: /management/leadership/org-structures

cumulative flow diagram

смуги роботи за етапами в часі

Діаграма, яка для кожного дня показує, скільки задач уже увійшло в кожен етап процесу, у вигляді накладених смуг. Відстань між двома лініями по вертикалі — це незавершена робота між ними, по горизонталі — приблизно час, який задача там проводить, тож смуга, що постійно ширшає, позначає вузьке місце.

Повністю розкрито: /management/methodologies/kanban

CVECommon Vulnerabilities and Exposures

публічний номер відомої вразливості

Публічний ідентифікатор відомої вади безпеки, як-от CVE-2021-44228 для Log4Shell, щоб постачальники, сканери й бюлетені мали на увазі той самий баг. Номер каже, що вада існує; наскільки вона небезпечна саме для вас, залежить від того, чи працює у вас уражена версія і чи відкрита назовні вражена частина.

Cycle time

від початку роботи до «готово»

Час від моменту, коли роботу справді почали, до моменту, коли її завершили, — це lead time мінус очікування до того, як за неї взялись. Різниця між ними і є чергою, і поліпшення зазвичай ховається саме там.

Повністю розкрито: /management/methodologies/kanban

D

Daily Scrum

15-хвилинне переплановування

Пʼятнадцятихвилинна подія кожного робочого дня, на якій розробники перевіряють рух до Sprint Goal і переплановують наступні двадцять чотири години. Це не звіт про статус: якщо зустріч працює лише з керівником у кімнаті, вона ним уже стала.

Повністю розкрито: /management/methodologies/scrum

data race

два потоки, одна змінна, без блокування

Два потоки чи горутини одночасно звертаються до тієї самої памʼяті, принаймні один із них пише, і впорядкувати ці звернення нічим. Результат невизначений — хибне значення, «розірване» читання чи падіння набагато пізніше, — і, на відміну від стану гонки в логіці, його можна виключити механічно: детектором гонок або, у Rust, компілятором.

Повністю розкрито: /development/backend/go

Definition of Done

що тут означає «готово»

Перелік умов, які робота мусить пройти, перш ніж її дозволено назвати завершеною: протестовано, перевірено, задокументовано, розгорнуто — як домовилась команда. Цінність у тому, що «готово» перестає бути предметом думки на статус-зустрічі.

Повністю розкрито: /management/methodologies/scrum

DIDependency Injection

залежності передають ззовні

Замість того щоб створювати потрібні обʼєкти самому, клас отримує їх ззовні вже готовими. Саме це робить код тестованим: у тесті ви передаєте підробку там, де в проді передають справжню базу.

distributed monolith

сервіси, які досі мусять виходити разом

Система, розділена на сервіси, які досі не можна деплоїти незалежно: вони мають спільну базу даних, мусять виходити у фіксованому порядку або синхронно викликають одне одного на кожен запит. Вона зберігає зв’язність заплутаного моноліту й додає мережеві збої, тому вона гірша і за моноліт, і за справжні мікросервіси.

Повністю розкрито: /development/architecture/monolith

DOMDocument Object Model

сторінка як дерево обʼєктів

Дерево обʼєктів, на яке браузер перетворює HTML-сторінку, щоб код міг її читати і змінювати. Змінили DOM — читач одразу бачить зміну; сам HTML-файл, який надіслав сервер, лишається таким, як був.

Повністю розкрито: /development/frontend/html-css

DORADevOps Research and Assessment

дослідження поставки софту

Дослідницька програма, яку тепер веде Google Cloud: з 2014 року вона щороку опитує команди розробки й дає галузі стандартні метрики поставки — час поставки, частоту деплоїв, час відновлення, частку невдалих змін, а з 2024 року ще й частку переробок. Її головний висновок — швидкість і стабільність ідуть разом; її рівні — це відповіді одного року опитування, а не цілі.

Повністю розкрито: /management/release-process/release-planning

E

E2Eend-to-end

тест, що керує справжнім застосунком

Тест, що проходить усю систему так, як це робить користувач: справжній браузер, справжні запити, справжня база. Він ловить те, чого не ловить ніщо інше, і найдорожче утримується — тому таких тестів свідомо тримають мало.

Повністю розкрито: /qa/types-of-testing/e2e-testing

earned value

бюджет фактично завершеної роботи

Запланована вартість роботи, фактично завершеної на сьогодні, яку порівнюють із тим, що мало бути завершено за планом (planned value), і з тим, що справді витрачено (actual cost). Вона вимірює прогрес рівно настільки чесно, наскільки визначено «завершено», тому найкраще працює на малих робочих пакетах, які або зроблені, або ні.

Повністю розкрито: /management/decomposition/work-breakdown-structure

embedding model

перетворює текст на координати

Модель, що перетворює шматок тексту, зображення чи товар на список чисел, розташованих так, аби схоже опинялося поруч, — саме це дає пошуку зіставляти зміст, а не слова. Для документів і для питань має використовуватись одна й та сама: вектори з двох різних моделей непорівнянні.

Повністю розкрито: /infrastructure/mlops/vector-databases

enabler

робота, що уможливлює наступну

Елемент беклогу, якого не просив жоден користувач, але який уможливлює наступні: дослідження, архітектура, інфраструктура чи відповідність вимогам — чотири типи в SAFe. Його називання дає цій роботі змогу відкрито конкурувати за потужність, а не ховатися в оцінках user stories.

Повністю розкрито: /management/decomposition/epics-features-tasks

epic

великий елемент беклогу

Великий обсяг роботи, який ділять на фічі чи історії, перш ніж будувати, і який найкраще записувати як ставку з гіпотезою та умовою закриття. Його розмір залежить від того, чий словник уживають: у Jira — усе, що більше за історію, у SAFe — портфельна інвестиція з бізнес-кейсом, — тож перш ніж порівнювати два епіки, з’ясуйте це.

Повністю розкрито: /management/decomposition/epics-features-tasks

evaluation set

набір тестів для моделі

Фіксована збірка вводів зі способом оцінити кожен вивід, яку проганяють до й після кожної зміни промпту, моделі чи кроку пошуку й показують як частки, а не «пройшло / не пройшло». Його робота — падати: набір із випадків, які система вже тягне, довіку показуватиме високий бал і не виявить нічого.

Повністю розкрито: /development/ai-llm/llm-ops

event loop

один потік, що виконує все по черзі

Цикл в одному потоці, що бере з черги готову роботу — відповідь, яка прийшла, таймер, що спрацював, — і виконує її колбек, по одному за раз. Він дає одному потоку тримати тисячі очікувань одночасно й зупиняється для всіх, поки виконується будь-який один колбек.

Повністю розкрито: /development/frontend/javascript

eventual consistency

копії узгоджуються — згодом

Гарантія, що копії даних узгодяться, щойно записи перестануть надходити, — без обіцянки, коли саме. Доти читання може повернути старіше значення, ніж щойно записане, тож користувач може не побачити власної зміни на наступному екрані, якщо це читання не йде туди, де зробили запис.

Повністю розкрито: /development/databases/nosql

expand and contract

зміна схеми оборотними кроками

Зміна форми даних за три релізи замість однієї міграції: додати нову структуру й писати в обидві, перевести читачів, а потім прибрати стару, коли з неї ніхто не читає. Кожен крок, крім останнього, можна скасувати, і в цьому суть: перейменування однією міграцією шляху назад не має.

Повністю розкрито: /management/release-process/release-planning

expedite

клас роботи для аварій

Клас обслуговування в Kanban для справжніх аварій: задача expedite проходить поза чергою й ігнорує ліміт WIP. Це працює лише із суворим обмеженням, зазвичай одна задача одночасно, — без нього аварією стає кожен запит, який важливий комусь із керівництва.

Повністю розкрито: /management/methodologies/kanban

Extreme Programming

agile-метод, що починається з інженерії

Agile-методологія кінця 1990-х, збудована навколо інженерних практик: розробка від тестів, парне програмування, безперервна інтеграція, рефакторинг і невеликі часті релізи. Від неї походить більшість того, що тепер називають технічною гнучкістю, і команда, яка переймає події Scrum без цих практик, зазвичай бачить, як її спринти сповільнюються.

F

failsafe

заздалегідь задана реакція на збій

Поведінка, налаштована заздалегідь для одного конкретного збою — втрата звʼязку, втрата позиції, брак енергії, — яку апарат виконує сам, нікого не питаючи. Саме таблиця фейлсейфів, а не план місії, вирішує, що безекіпажний апарат справді робить, коли щось іде не так.

Повністю розкрито: /deftech/drone-software

feature flag

перемикач навколо нового коду

Перемикач, що під час роботи вирішує, чи активний шматок коду, — тож код може потрапити в продакшен вимкненим і бути ввімкненим для обраної аудиторії пізніше. Він відділяє деплой від релізу й має ціну: кожен живий прапорець — це розгалуження в коді, яке має працювати в обох станах.

Повністю розкрито: /management/release-process/release-planning

feature team

команда, що веде фічу від початку до кінця

Довгоживуча крос-функціональна команда, що проводить видимий клієнтові шматок продукту від ідеї до готовності, працюючи в кожному компоненті, якого він торкається. Альтернатива — компонентні команди, по одній на технічний шар, де одна фіча чекає в чергах кількох команд; ціна фіче-команд — навчитися працювати в коді, який команда не писала.

Повністю розкрито: /management/methodologies/less

fine-tuning

навчання на власних прикладах

Продовження навчання моделі на наданих вами прикладах, щоб поведінка, яку ви щоразу описуєте в промпті, стала для неї типовою. Він добре вчить форми, тону й суджень і погано — фактів: факт, увібраний у ваги, повертається приблизним, не цитується й не виправляється без нового навчання.

Повністю розкрито: /development/ai-llm/fine-tuning

fixed price

узгоджений обсяг за узгоджену суму

Контракт, у якому узгоджений обсяг віддають за узгоджену суму, тож вартість усього, що займе довше за план, несе виконавець. Саме тому fixed price приходить із найсуворішим контролем змін: будь-яка зміна обсягу є комерційною подією, а не лише плановою.

flaky

то падає, то ні на тому самому коді

Тест, що на незмінному коді то проходить, то падає. Справжня шкода не в самому падінні, а в тому, що з нього випливає: щойно таких стає кілька, люди починають перезапускати до зеленого — і набір тестів перестає бути доказом чого завгодно.

Повністю розкрито: /qa/types-of-testing/regression-testing

foreign key

колонка, що вказує на рядок іншої таблиці

Колонка, значення якої мусить збігатися з ключем рядка в іншій таблиці, — id клієнта в замовленні має називати клієнта, що існує. База не приймає жодного рядка, що порушує це правило, хоч би хто його писав; між сервісами, де жодна окрема база цього не перевірить, правило стає роботою застосунку.

Повністю розкрито: /development/databases/data-modeling

G

garbage collector

звільняє пам’ять, яку ніхто не використовує

Частина середовища виконання, що знаходить об’єкти, на які вже ніщо не посилається, і звільняє їхню пам’ять, тож програма ніколи не звільняє її вручну. Ціна — додаткова пам’ять і робота, яку програма не планує, — паузи, короткі чи довгі залежно від збирача.

Повністю розкрито: /development/backend/java

GDPRGeneral Data Protection Regulation

закон ЄС про персональні дані

Європейська регуляція про персональні дані: що можна збирати, на якій правовій підставі, скільки зберігати і чого людина може від вас вимагати щодо своїх даних. Вона застосовується за місцем перебування людей, а не компанії, — тому дістає до софту, збудованого будь-де.

Goodhart's law

ціль перестає бути мірою

Спостереження, назване на честь економіста Чарлза Гудхарта (1975): міра перестає бути доброю мірою, щойно людей винагороджують за її рух. Щоб так сталося, ніхто не мусить шахраювати; звичний захист — друга, захисна метрика, яка зламалася б, якби першу «накрутили».

Повністю розкрито: /management/product-management/metrics-kpi

GPUGraphics Processing Unit

процесор для паралельних обчислень

Процесор із тисяч простих ядер, які роблять однакову операцію над великими масивами чисел одночасно. Саме така будова потрібна для тренування й запуску моделей — тому GPU давно перестали стосуватися лише графіки.

GraphQL

мова запитів до API

Стиль API, у якому клієнт надсилає запит із переліком рівно тих полів, що йому потрібні, і отримує відповідь саме такої форми, зазвичай з одного ендпоінта. Він заощаджує звернення для насичених клієнтів, а натомість відмовляється від звичайного HTTP-кешування й лишає серверу обмежувати, скільки може коштувати кожен запит.

Повністю розкрито: /development/architecture/api-design

H

hallucination

впевнено вигадана відповідь

Модель викладає вигадане з тією ж упевненістю, що й правдиве. Це не дефект, який можна залатати: модель передбачає правдоподібний текст, а правдоподібне не тотожне правильному — тому все, що можна перевірити, перевіряють.

Повністю розкрито: /development/ai-llm/llm-fundamentals

hardware in the loop

справжня плата, змодельований світ

Тестування, у якому справжня плата контролера з її справжньою прошивкою підключена до симулятора, що подає їй сенсорні дані замість фізичного світу. Воно знаходить помилки таймінгу, перевантаження процесора й баги драйверів, недоступні чистій симуляції, — ціною того, що залізо має стояти на стенді.

held-out set

приклади, на яких не навчались

Приклади, відділені до початку навчання чи підбору й ніколи не використані для зміни того, що вимірюють. Без них неможливо відрізнити модель, яка вивчила задачу, від тієї, що запамʼятала приклади, — а друга дає бездоганний бал на всьому, на що хтось дивився.

Повністю розкрито: /development/ai-llm/fine-tuning

HSMHardware security module

захищене сховище ключів

Захищений від втручання пристрій, що зберігає криптографічні ключі й сам виконує підпис, тож ключем користуються, але його ніколи не видають назовні. Скомпрометований сервер збірки однаково може попросити його підписати, тому продакшн-підпис потребує ще й журналу та другої людини.

HTTPHyperText Transfer Protocol

протокол вебу

Протокол, яким спілкуються браузер і сервер: клієнт надсилає метод і адресу, сервер відповідає кодом стану й тілом. Між запитами він нічого не памʼятає — кожен запит стоїть сам по собі, тому все, що треба памʼятати, передається явно.

I

idempotency key

id запиту, що робить повтор безпечним

Унікальне значення, яке клієнт надсилає із запитом, що щось змінює, — платежем, замовленням, — щоб сервер упізнав повтор і повернув перший результат, а не діяв двічі. Сервер мусить зберігати ключі й вирішувати, скільки їх тримати; повтор, що прийшов після того, як його ключ прибрали, вважають новим запитом.

Повністю розкрито: /development/architecture/api-design

idempotent

безпечно повторити

Операція, що дає однаковий результат, скільки б разів її не виконали — раз чи пʼять. Саме це робить повтор безпечним, а оскільки будь-який мережевий виклик може бути повторений без вашого відома, альтернатива — списати з картки двічі.

IFFIdentification, friend or foe

радіозапит «свій-чужий»

Система, у якій транспондер відповідає на кодований радіозапит, щоб сенсор міг відрізнити свій літак від невідомого. Відповідь — це доказ про транспондер, а не про літак: відсутня відповідь може означати зламаний транспондер, а відповідь, зчитана не з того місця, належить комусь іншому.

iframe

сторінка всередині сторінки

HTML-елемент, що вбудовує інший документ у сторінку, — платіжну форму, відео, вікно входу. Коли він з іншого домену, браузер відгороджує його від сторінки навколо, і тому інструмент тестування може як змогти, так і не змогти щось у нього ввести.

Increment

робочий результат спринту

Усе завершене на цей момент, узяте разом і справді робоче, — а не купа закритих за спринт задач. Перевірка проста: чи можна це випустити сьогодні, навіть якщо вирішено не випускати.

Повністю розкрито: /management/methodologies/scrum

ISTQBInternational Software Testing Qualifications Board

орган сертифікації тестувальників

Міжнародна організація, що стоїть за найпоширенішими сертифікаціями з тестування ПЗ і видає глосарій термінів тестування. Її визначення — поширене спільне джерело на співбесідах і в контрактах; вони фіксують словник, а не те, як має працювати команда.

J

JITJust-In-Time compilation

компіляція під час роботи

Компіляція коду тоді, коли програма вже працює: середовище спершу виконує його як є, дивиться, які ділянки гарячі, і на ходу перетворює саме їх на машинний код. Тому перші секунди після старту повільніші за наступні хвилини.

JSONJavaScript Object Notation

текстовий формат даних

Текстовий формат для передавання даних: пари «ключ — значення», списки, числа й рядки. Він народився в JavaScript, але сьогодні його читає будь-яка мова — і саме тому ним відповідає більшість API, а не чимось потужнішим.

JSX

розмітка всередині коду

Синтаксис, що дозволяє писати розмітку прямо в JavaScript. Це не HTML усередині коду, а скорочення: перед запуском кожен тег перетворюється на звичайний виклик функції.

Повністю розкрито: /development/frontend/react

JTAGJoint Test Action Group (IEEE 1149.1)

апаратний порт налагодження

Стандартний інтерфейс тестування й налагодження, вбудований у більшість мікросхем: підключений через нього зонд може зупинити процесор, прочитати памʼять і записати прошивку. Незамінний на стенді й перше, що шукають на захопленій платі, — тому на серійних пристроях його блокують або вимикають.

JVMJava Virtual Machine

середовище виконання Java

Машина, на якій насправді виконується скомпільований Java-код. Вона дає збирач сміття і JIT — і саме вона пояснює, чому одна збірка без змін працює на Windows, Linux і macOS: різниця платформ є проблемою JVM, а не програми.

Повністю розкрито: /development/backend/java

K

Kano model

як задоволення реагує на фічу

Класифікація фіч Норіакі Кано 1984 року за тим, як на них реагує задоволення клієнтів: обов’язкові (без похвали, коли є, і гнів, коли немає), лінійні (більше — краще), захопливі (радують, коли є, і за ними не сумують, коли немає), байдужі й зворотні. Вона каже, чого клієнти очікують, а не що будувати першим.

Повністю розкрито: /management/product-management/roadmapping

KPIKey Performance Indicator

число, що відстежує стан

Число, обране, щоб показувати, чи все йде добре. Вада вбудована всередину: щойно KPI стає ціллю, за яку винагороджують, воно перестає вимірювати те, заради чого його обрали.

Повністю розкрито: /management/product-management/metrics-kpi

L

Lead time

від запиту до постачання

Час від моменту запиту до моменту постачання — усе очікування, включно з тим, що річ пролежала в черзі, на яку ніхто не дивився. Це те, що відчуває замовник, і тому воно зазвичай значно довше, ніж очікує будь-хто всередині.

Повністю розкрито: /management/methodologies/kanban

leading indicator

ранній, неточний сигнал

Метрика, що рухається рано й неточно передбачає пізніший результат, — скільки клієнтів користуються новою функцією в перші тижні як сигнал утримання наступного кварталу. Її протилежність, запізнілий показник на кшталт виручки, точна, але надходить надто пізно, щоб діяти.

Повністю розкрито: /management/product-management/metrics-kpi

liveness probe

перевірка «перезапустити, якщо завис»

Періодична перевірка, яку платформа виконує над контейнером, щоб вирішити, чи його перезапустити; вона має ловити процес, що завис, наприклад через взаємне блокування. Перевіряти вона має лише сам процес: спрямуйте її на залежність — і повільна база перезапустить усі контейнери водночас.

Повністю розкрито: /infrastructure/devops/kubernetes

LLMOps

експлуатація LLM-функцій у проді

Практики експлуатації фічі на мовній моделі у продакшені, перебудовані навколо того, що той самий ввід не дає того самого виводу. Набір оцінювання заступає набір тестів, одиниця розгортання — це код плюс версії промпту, моделі й індексу, а хибну відповідь можна відтворити, лише якщо весь виклик було записано у слід.

Повністю розкрито: /development/ai-llm/llm-ops

load balancer

розподіляє запити між серверами

Сервер чи керований сервіс, що приймає вхідні запити й розподіляє їх між кількома копіями застосунку, оминаючи копії, які не проходять перевірку стану. Це також ще один мережевий вузол із власними тайм-аутами, тож його налаштування й налаштування застосунку мають узгоджуватися.

locator

як тест знаходить елемент

Опис того, як браузерний тест знаходить елемент, — за роллю й імʼям, за підписом, за текстом чи за test-id, — який розвʼязується заново щоразу при використанні. Оскільки це рецепт, а не посилання, він знаходить поточний елемент на сторінці, що перерендерюється, а добрий локатор переживає редизайн.

Повністю розкрито: /qa/automation/playwright

lockfile

точні версії кожної залежності

Файл, який менеджер пакетів пише поряд зі списком залежностей і в якому записано точну версію кожного встановленого пакета — зокрема тих, що підтягнули ваші залежності. Закомічений у репозиторій, він робить кожне встановлення однаковим; без нього дві збірки того самого коміту можуть виконувати різний код.

LTSLong-Term Support

реліз, що роками отримує патчі

Лінія релізів, що й далі отримує виправлення безпеки та критичних багів упродовж оголошеного строку після виходу новіших версій, але без нових можливостей. Вона дає команді оновлюватися у власному темпі — до кінцевої дати в таблиці підтримки, після якої наступна вразливість не матиме виправлення взагалі.

M

man-day

одна людина, один робочий день

Одиниця зусиль: один день роботи однієї людини, зазвичай вісім годин, — у ній рахують кошториси, пропозиції за fixed price і рахунки за time and materials. Вона вимірює зусилля, а не календарний час: двадцять людино-днів — це не чотири тижні ні для кого, доки не враховано фокус, зустрічі й залежності.

Повністю розкрито: /management/leadership/estimation

MetaScrum

де задають пріоритети для всіх команд

Регулярний форум, щонайменше раз на спринт, де Product Owner і стейкхолдери з повноваженнями погоджують один порядок роботи для групи команд; Executive MetaScrum робить це для всієї організації. Його правило — пріоритети змінюються тут і ніде більше; без цього правила це ще одна нарада.

Повністю розкрито: /management/methodologies/scrum-at-scale

middleware

прошарок на шляху запиту

Прошарок, через який проходить кожен запит, перш ніж дістатись вашого коду: автентифікація, логування, стиснення. Пишеться один раз і діє на всі маршрути — і це різниця між одним рішенням та тими самими чотирма рядками, скопійованими в кожен обробник.

modular monolith

один артефакт зі справжніми межами модулів

Моноліт, чий код поділено на модулі з опублікованими інтерфейсами, власними таблицями й перевірюваними межами, але який досі збирають і деплоять як одне ціле. Він зберігає дешеві виклики й транзакції одного процесу; його слабкість у тому, що межі ніщо не тримає, якщо цього не робить перевірка у збірці.

Повністю розкрито: /development/architecture/monolith

Monte Carlo

симуляція багатьма випадковими прогонами

Метод, що відповідає на питання, проганяючи його тисячі разів із випадково взятими входами й читаючи розподіл результатів. На розкладі він замінює одну дату діапазоном і ймовірністю — чесною формою оцінки, складеної з двадцяти невизначених задач.

MoSCoWMust have, Should have, Could have, Won’t have this time

must, should, could, won’t

Правило пріоритизації з DSDM, що ділить вимоги на Must, Should і Could Have, а також Won’t Have this time, — єдина поширена модель, яка записує відмову. Must Have мають забирати не більше приблизно 60% зусиль, інакше нічим буде поступитися, коли оцінка зсунеться.

Повністю розкрито: /management/product-management/roadmapping

N

N+1

зайвий запит на кожен рядок

Класична пастка ORM: один запит дістає список, а потім цикл по ньому тихо робить ще по запиту на кожен елемент — сто рядків перетворюються на сто одне звернення до бази. Лікується тим, щоб попросити повʼязані дані одразу, а не рядок за рядком.

Повністю розкрито: /development/databases/sql

negative flip

було правильно, стало хибно

Кейс, який стара версія моделі чи промпту розвʼязувала правильно, а нова — хибно. Рахувати їх окремо важливо, бо загальна оцінка додає виправлення й віднімає такі перескоки, тож версія може мати вищий бал і все одно ламати те, що раніше працювало.

Повністю розкрито: /qa/ai-testing/prompt-regression

Nexus Integration Team

єдине, що Nexus додає до Scrum

Зона відповідальності, яку Nexus додає до Scrum: Product Owner, Scrum Master і учасники з самих Scrum-команд, що відповідають за готовий інтегрований інкремент щонайменше раз на спринт. Вона навчає команди інтегрувати власну роботу; якщо вона сама робить усі мержі, то стала тією передачею роботи, яку Nexus мав прибрати.

Повністю розкрито: /management/methodologies/nexus

NoSQL

бази даних поза SQL-таблицями

Парасолькова назва для баз даних, що не зберігають реляційних таблиць із запитами мовою SQL: сховищ «ключ — значення», документних, ширококолонкових і графових. Більшість із них розміщує кожен запис на машині за ключем, обраним під час проєктування, тож запити з цим ключем дешеві за будь-якого обсягу, а більшість інших — дорогі або неможливі.

Повністю розкрито: /development/databases/nosql

NULL

маркер «невідомо» в SQL

Маркер SQL для значення, якого немає або яке невідоме, — це не нуль і не порожній рядок. Порівняння з NULL ні істинне, ні хибне, а невідоме, тож рядок із NULL не збігається ні з «= x», ні з «<> x», і знаходить його лише IS NULL.

Повністю розкрито: /development/databases/sql

O

OKRObjectives and Key Results

ціль із вимірюваними результатами

Метод постановки цілей, що поєднує одну якісну ціль із двома-п’ятьма вимірюваними key results, які доводять, що її досягнуто; їх ставлять і переглядають щокварталу. Він перестає працювати, коли key results стають списком задач або оцінки впливають на оплату.

Повністю розкрито: /management/decomposition/okr

OpenAPI

машиночитний опис API

Один файл, що описує HTTP-API у машиночитному вигляді: маршрути, параметри, формати відповідей. З нього генерують документацію, клієнтські бібліотеки й заглушки для тестів — і саме це не дає опису розійтися з кодом.

Повністю розкрито: /development/architecture/api-design

OpenTelemetry

незалежний від вендора стандарт телеметрії

Відкритий проєкт, що визначає, як застосунки створюють і надсилають траси, метрики й логи, — бібліотеки, формат даних і протокол, — щоб інструмент, який їх зберігає й показує, можна було змінити без повторного інструментування коду. У травні 2026 року він отримав статус graduated у Cloud Native Computing Foundation. Він стандартизує, як збирати телеметрію, а не те, що варто збирати.

ORMObject-Relational Mapping

обʼєкти замість SQL

Бібліотека, що підставляє обʼєкти мови там, де в базі лежать рядки таблиці, — тож SQL ви майже не пишете. Зручність коштує контролю: згенерований запит буває значно важчим за той, який ви написали б самі, і зʼясовується це вже під навантаженням.

Повністю розкрито: /development/databases/sql

over-the-air

оновлення встановленого ПЗ віддалено

Оновлення, яке доставляють мережею до ПЗ, уже встановленого на пристрої, без перевстановлення користувачем, — JavaScript-бандл для застосунку на React Native, прошивка для телефона чи дрона. На iOS і в Google Play так може приходити лише інтерпретований код; нативний потребує нової збірки й ревʼю магазину.

Повністю розкрито: /development/mobile/react-native

OWASPOpen Worldwide Application Security Project

відкрита спільнота безпеки застосунків

Некомерційна фундація, що публікує безкоштовні настанови з безпеки, написані спільнотою, — найвідоміша своїми списками Top 10 найкритичніших ризиків для вебзастосунків, API та LLM-застосунків. Top 10 ранжує категорії ризиків, проти яких проєктують і тестують; це не чеклист, що доводить безпеку системи.

P

p99

час відгуку для найповільніших

Час відгуку, в який вкладаються 99% запитів; p95 і p50 — та сама величина для 95% і для медіани. Середнє приховує саме ті запити, через які люди йдуть, — тому дивляться на ці числа, а не на нього.

planning poker

оцінка з одночасним розкриттям карток

Спосіб, яким команда оцінює елементи беклогу: кожен мовчки обирає картку з фіксованої шкали, і всі картки відкривають одночасно, щоб ніхто не заякорився на першому голосі. Цінність — в обговоренні, коли картки розходяться: 2 і 13 на тому самому елементі означають, що двоє людей по-різному розуміють задачу.

Повністю розкрито: /management/leadership/estimation

PMBOKA Guide to the Project Management Body of Knowledge

довідник PMI з управління проєктами

Довідник Project Management Institute з управління проєктами й основа сертифікації PMP. Видання має значення: 6-те (2017) приписувало 49 процесів, 7-ме (2021) замінило їх дванадцятьма принципами, а 8-ме (2025) має шість принципів, сім доменів і сорок процесів.

Повністю розкрито: /management/frameworks/pmbok

PMOProject Management Office

офіс, що задає стандарти проєктів

Підрозділ, що задає стандарти управління проєктами в організації, збирає звітність із проєктів і часом наймає проєктних менеджерів. Його цінність залежить від того, що саме з цього він робить: PMO, який лише збирає статус-звіти, додає рівень, не додаючи жодного рішення.

Pod

найменша одиниця в Kubernetes

Найменше, що планує Kubernetes: один або кілька контейнерів зі спільною мережевою адресою і спільним часом життя. Поди одноразові за задумом — под замінюють, а не лагодять, і тому всередині нього не тримають нічого цінного.

Повністю розкрито: /infrastructure/devops/kubernetes

post-mortem

письмовий розбір після збою

Письмовий розбір після того, як щось пішло не так: що сталося, чому і що зміниться, щоб воно не сталося так само. Слово «blameless» перед ним — не ввічливість: інженер, який очікує звинувачень, розповідає менше, а розбір, що дає висновок замість зміни в системі, не дав нічого.

primary key

колонка, що ідентифікує рядок

Колонка чи набір колонок, чиє значення ідентифікує рівно один рядок у таблиці й ніколи не повторюється. Вигадане число чи UUID зазвичай кращий первинний ключ, ніж бізнесове значення на кшталт електронної адреси, бо бізнесові значення змінюються, а з ними мусить змінитися кожне посилання.

Повністю розкрито: /development/databases/data-modeling

Product Owner

відповідає за те, що будують

Одна людина, відповідальна за те, що команда будує і в якому порядку. Повноваження тут справжні: Product Owner, який мусить погоджувати кожне рішення деінде, є посильним, і роль перестає працювати.

Повністю розкрито: /management/methodologies/scrum

pull request

зміна, запропонована на рев’ю

Запит на злиття однієї гілки в іншу, де зміну переглядають, обговорюють і перевіряють пайплайном, перш ніж вона потрапить у головну гілку; у GitLab те саме зветься merge request. Його ціна — очікування: pull request, що днями чекає на рев’ю, і породжує довгоживучі гілки та болісні злиття.

Повністю розкрито: /management/release-process/git-branching-strategy

PX4

відкритий автопілот

Відкритий автопілот для дронів, літаків та інших безекіпажних апаратів, який розвиває Dronecode Foundation під егідою Linux Foundation, з ліцензією BSD. Він працює на польотній платі й відповідає за стабілізацію, оцінку стану, режими польоту й фейлсейфи; дозвільна ліцензія — одна з причин, чому компанії будують на ньому продукти.

Q

quantisation

менше бітів на число

Зберігання ваг моделі — або векторів в індексі — з меншою кількістю бітів на число, зазвичай 8-бітними цілими замість 32-бітних дробових, щоб вони займали менше памʼяті й працювали швидше. Ціна — частина точності, і чи прийнятна вона, треба виміряти на власних даних, а не припустити.

R

race condition

помилка, залежна від часу

Помилка, що зʼявляється лише за певного збігу в часі: два потоки або два запити читають і змінюють те саме, і результат залежить від того, хто встиг першим. Відтворюється вона погано — тому її зазвичай знаходять останньою і вже в проді.

RAGretrieval-augmented generation

знайти фрагменти, тоді відповідати

Відповідь на питання через попередній пошук у ваших власних документах і вставлення доречних фрагментів у промпт, щоб модель працювала з них, а не з власних ваг. Це пошукова система з мовною моделлю на кінці — тому більшість її хибних відповідей є збоями пошуку, а не генерації.

Повністю розкрито: /development/ai-llm/rag-architecture

readiness probe

перевірка «чи можна слати трафік»

Періодична перевірка, за якою платформа вирішує, чи має контейнер отримувати трафік; поки вона падає, запити йдуть до інших інстансів, і нічого не перезапускається. Це правильне місце для перевірки залежностей, але вона однаково питає про один інстанс, а не про те, чи працює продукт.

Повністю розкрито: /infrastructure/devops/kubernetes

recall

повнота

Частка того, що ви шукали, яку система справді знайшла: повнота 80% означає, що кожен пʼятий випадок пропущено. Це число важить, коли пропуск дорогий, і його обмінюють на точність (precision) — скільки зі знайденого справжнього.

release candidate

збірка, що має стати релізом

Збірка, яку команда вважає готовою до випуску й публікує, щоб користувачі спробували її до фінального релізу. Знайдені баги виправляють, нових можливостей не додають, але деталі ще можуть змінитися, — тож вона для випробувань, а не для продакшену.

RESTRepresentational State Transfer

ресурси через звичайний HTTP

Стиль, якого дотримується більшість веб-API: речі названо ресурсами за URL-адресами, а методи HTTP кажуть, що з ними роблять, — GET читає, POST створює, DELETE видаляє. Його сила в тому, що кожен кеш, проксі й клієнтська бібліотека вже його розуміють; у буденному вжитку слово зазвичай означає просто HTTP із JSON.

Повністю розкрито: /development/architecture/api-design

Retrospective

зустріч, що змінює процес

Регулярна зустріч, де команда розбирає, як вона працює, і змінює одну річ. Ретроспектива, що завершилась без конкретної зміни з конкретним відповідальним, є сеансом скарг — і команди перестають на неї ходити цілком обґрунтовано.

Повністю розкрито: /management/methodologies/scrum

RFCRequest for Comments

нумерований стандарт інтернету

Нумерований документ, який публікує IETF — організація, що стандартизує інтернет-протоколи; HTTP, TLS і JSON визначено саме в RFC. Опублікований RFC ніколи не змінюється — виправлення виходить новим RFC з новим номером, тому «RFC 9110» називає один точний текст.

RICEReach, Impact, Confidence, Effort

бал для впорядкування ідей

Бал пріоритизації від Intercom: охоплення, помножене на вплив і впевненість, поділене на зусилля, тож гучну заяву без доказів знижують. Часу він не враховує — дата з договору й «було б непогано» отримують однаковий бал, — а вхідні числа є здогадами, тож суперечка, яку він змушує провести, цінніша за рейтинг.

Повністю розкрито: /management/product-management/roadmapping

rolling wave planning

деталізувати близьке, окреслити далеке

Планування найближчих місяців детально, а решти — лише як заглушок із бюджетом, і деталізація наступного відрізка на кожному циклі планування. Воно тримає план повним, не вигадуючи деталей, яких ще ніхто не може знати; і підводить, коли до заглушок так і не повертаються.

Повністю розкрито: /management/decomposition/work-breakdown-structure

S

SAFeScaled Agile Framework

фреймворк, що веде багато agile-команд як одну

Scaled Agile Framework — ролі, події та практики для координації десятків agile-команд, побудовані навколо Agile Release Train: пʼять-дванадцять команд, що планують разом раз на вісім-дванадцять тижнів. Це найбільш приписовий і найпоширеніший фреймворк масштабування — і саме тому його можна встановити, не змінивши того, хто ухвалює рішення.

Повністю розкрито: /management/methodologies/safe

saga

зміна в кількох сервісах зі скасуванням для кожного кроку

Бізнес-операція, розбита на послідовність локальних транзакцій у різних сервісах, де кожен крок, який можна скасувати, має компенсаційний крок, що його скасовує. Вона замінює розподілену транзакцію ціною компенсацій, які ви пишете самі, і відсутності ізоляції: інші запити бачать напівготовий стан.

Повністю розкрито: /development/architecture/microservices

SBOMSoftware Bill of Materials

список того, що всередині

Машиночитний перелік усіх компонентів, з яких зібрано програму, включно із залежностями, що приходять через інші залежності. Він важить у день, коли оголошують вразливість: без нього на питання «чи це нас стосується?» відповідають здогадом.

Scrum Master

усуває те, що блокує команду

Людина, відповідальна за те, щоб працював процес, а не за те, щоб робота була зроблена. Вона усуває перешкоди й захищає команду від смикань — вона не керівник команди, і саме ставлення до ролі як до керівної є звичною причиною провалу.

Повністю розкрито: /management/methodologies/scrum

Scrum of Scrums

команда зі Scrum-команд

Група з приблизно чотирьох-пʼяти Scrum-команд над одним продуктом, що працює так, ніби вона одна Scrum-команда, а її представники щодня зустрічаються, щоб прибирати блокери між командами. Як статус-нарада лідів команд вона зберігає назву й втрачає сенс.

Повністю розкрито: /management/methodologies/scrum-at-scale

SDKSoftware Development Kit

готовий набір для платформи

Зібраний набір бібліотек, інструментів і прикладів для роботи з чужою платформою. Відмінність від API в тому, що API лише описує правила, а SDK дає код, який уже вміє за цими правилами говорити.

semantic versioning

номери версій MAJOR.MINOR.PATCH

Схема версій, у якій MAJOR зростає за несумісних змін публічного API, MINOR — за зворотно сумісних можливостей, PATCH — за зворотно сумісних виправлень, тож про оновлення можна судити з самого числа. Число щось означає лише тоді, коли публічний API оголошено, і лише доки ніхто не випускає ламку зміну як minor.

Повністю розкрито: /management/release-process/changelog

skew

дані тренування не такі, як бойові

Розрив між даними, на яких модель тренували, і даними, які вона зустрічає в проді. Це звична причина, чому відмінна офлайн-оцінка обертається марною моделлю наживо, — і в метриках це видно набагато пізніше за причину.

Повністю розкрито: /infrastructure/mlops/ml-pipelines

SLAService Level Agreement

обіцянка з наслідками

Договірна обіцянка щодо сервісу, з санкцією за її порушення. Це єдина з трьох речей, де беруть участь юристи: ціль усередині неї — це SLO, а вимірювання під нею — SLI.

SLEService Level Expectation

скільки має тривати задача — з імовірністю

Прогноз, який Kanban-команда публікує з власної історії: тривалість і ймовірність, наприклад «85 відсотків задач завершуються протягом 11 днів від початку». Він описує, що система робила досі, а не обіцяє, що вона робитиме, тож змінюється щоразу, коли змінюється система.

Повністю розкрито: /management/methodologies/kanban

SLIService Level Indicator

число, яке справді вимірюють

Саме вимірювання — частка успішних запитів, фактичний p99. SLO є порогом для SLI, тож ціль, поставлена на те, чого ніхто не вимірює, є побажанням, а не ціллю.

SLOService Level Objective

ціль, яку ставлять собі самі

Внутрішня ціль — «99,9% запитів швидше за 300 мс цього кварталу». Її свідомо ставлять суворішою за SLA, бо різниця між ними і є запасом, у якому можна щось полагодити, доки воно не стало договірною проблемою.

smart contract

програма в блокчейні

Програма, розгорнута в блокчейні на кшталт Ethereum, що тримає кошти й стан і виконується рівно так, як написана, щоразу, коли хтось її викликає. Її виконує кожен вузол, кожен крок коштує газу, а змінити її після розгортання не можна, якщо шлях оновлення не заклали наперед, — тож помилка в ній публічна й зазвичай назавжди.

Повністю розкрито: /development/backend/solidity

smoke test

чи варто тестувати цей білд?

Малий фіксований набір перевірок, що запускається одразу після розгортання білда й відповідає на одне питання: чи вартий цей білд чийогось часу? Це ворота, а не покриття: він доводить, що білд можна тестувати, але ніколи — що він правильний.

Повністю розкрито: /qa/types-of-testing/smoke-testing

softmax

оцінки, стиснуті в 0–1

Функція, яку останній шар класифікатора зазвичай застосовує, щоб перетворити сирі оцінки на числа від нуля до одиниці, що в сумі дають одиницю. Вони схожі на ймовірності, але не є каліброваними, тож softmax 0,9 не означає, що модель має рацію девʼять разів із десяти.

software in the loop

справжня прошивка, змодельований світ

Тестування, у якому справжнє керувальне ПЗ працює на звичайному компʼютері проти змодельованого апарата, сенсорів і світу. Воно досить швидке, щоб запускатися на кожен коміт, і тому стає регресійним набором; не знайде воно лише того, що залежить від таймінгу справжнього процесора.

Spike

обмежене в часі дослідження

Свідомо обмежене в часі дослідження, результатом якого є відповідь, а не функція. Обмеження часу тут і є сенсом: спайк без нього перетворюється на безкінечне вивчення, що тихо зʼїдає спринт.

Повністю розкрито: /management/decomposition/user-stories

Sprint

цикл роботи фіксованої довжини

Фіксований період, зазвичай від тижня до чотирьох, наприкінці якого є щось достатньо завершене, щоб показати. Фіксована саме довжина, а обсяг рухається: спринт, який подовжили під роботу, втратив єдине, заради чого існував.

Повністю розкрито: /management/methodologies/scrum

Sprint Goal

навіщо цей спринт

Одне речення, узгоджене на плануванні спринту, про те, що зміниться наприкінці й навіщо це варто робити. Саме воно дає команді посеред спринту прибрати чи замінити окремі задачі без провалу: спринт, який оцінюють лише за списком тікетів, має квоту, а не ціль.

Повністю розкрито: /management/methodologies/scrum

stack trace

виклики, що тривали в момент помилки

Перелік викликів функцій, що тривали в момент, коли виникла помилка, — від найглибшого назовні, — який друкується разом із помилкою. Він показує, де збій проявився, а це не завжди там, де його спричинено, — а процес, убитий ззовні ядром чи оркестратором, не лишає його зовсім.

staged rollout

оновлення для дедалі більшої частки користувачів

Випуск оновлення спершу для невеликої частки користувачів — 1%, потім 5%, 20%, усі — з перевіркою частоти падінь і помилок перед кожним кроком, щоб поганий реліз дійшов до небагатьох, а не до всіх. Воно обмежує, до скількох людей дійде поганий реліз, а не те, чи дійде він узагалі: у магазинах застосунків зупинене розгортання не забирає оновлення в тих, хто його вже має.

staging

середовище-репетиція

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

Stakeholder

той, кого зачіпає результат

Будь-хто, чию роботу або результати зачіпає те, що будують, — незалежно від того, чи може він щось вирішувати. На практиці важлива різниця між тими, з ким радяться, і тими, хто може сказати «ні».

story points

відносний розмір, не години

Одиниця для оцінки відносного розміру задач беклогу — 8 приблизно вдвічі більше за 5, — навмисно не привʼязана до годин. Корисні для планування однієї команди й більше ні для чого: перетворені на ціль чи порівнювані між командами, вони роздуваються замість вимірювати.

Повністю розкрито: /management/leadership/estimation

structured output

відповідь, обмежена схемою

Засіб постачальника, що змушує відповідь моделі відповідати наданій вами схемі, замість прохання про JSON у промпті з надією на краще. Він усуває збої розбору, а не зменшує їх, і різниця істотна: ввічливо сформульоване прохання в прозі впаде того дня, коли модель вирішить спершу вибачитись.

Повністю розкрито: /development/ai-llm/prompt-engineering

sunk cost

уже витрачені гроші, яких не повернути

Уже витрачені гроші, яких не поверне жодне рішення. Рішення продовжувати має порівнювати лише витрати, що ще попереду, з альтернативами; коли вже витрачене стає аргументом за завершення, це хиба безповоротних витрат, і вона роками тримає живими провальні проєкти.

Повністю розкрито: /management/frameworks/prince2

system prompt

постійні вказівки

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

Повністю розкрито: /development/ai-llm/prompt-engineering

T

T-shirt sizing

розміри XS–XL замість чисел

Груба оцінка, що розкладає елементи на класи — XS, S, M, L, XL — замість давати їм числа; її застосовують для роадмапів, епіків і перших розмов про вартість. Працює лише тоді, коли про кожен розмір домовилися як про діапазон реального часу; якщо розміри додавати, ніби це числа, вийде точний на вигляд підсумок, який нічого не означає.

Повністю розкрито: /management/leadership/estimation

test oracle

те, що вирішує «пройшло / ні»

Те, що вирішує, чи правильний вивід програми, — зазвичай очікуване значення, записане поруч із вводом. Коли його записати не можна, як зі згенерованим текстом, оракулом може бути контракт, якому має відповідати вивід, звʼязок між двома виводами, оцінювач або людина.

Повністю розкрито: /qa/ai-testing/testing-llm-products

test pyramid

більше малих тестів, ніж великих

Модель набору тестів: багато швидких вузьких тестів унизу, менше тестів сервісів посередині й мало наскрізних угорі. Це аргумент про ціну, а не квота: верхній шар малий, бо кожен тест там — найповільніший і найдорожчий, який має команда.

Повністю розкрито: /qa/types-of-testing/e2e-testing

test-id

атрибут, за який чіпляється тест

Атрибут, доданий у розмітку з єдиною метою — дати тестам спосіб знайти елемент. Він існує, щоб тест не чіплявся за CSS-клас чи видимий текст: і те, і те змінюється з причин, які не мають стосунку до поведінки.

Повністю розкрито: /qa/automation/playwright

Throughput

завершених одиниць за період

Скільки одиниць роботи команда реально завершує за тиждень або місяць. На відміну від velocity, воно взагалі не потребує оцінок — і саме тому виживає в команді, яка перестала вірити в стори-поінти.

Повністю розкрито: /management/methodologies/kanban

time and materials

оплата за витрачені години

Контракт, у якому клієнт платить за фактично відпрацьований час, а не за фіксований обсяг, тож зміна напряму коштує грошей, а не перемовин. Ризик переходить до клієнта — тому ця модель приходить із більшою звітністю й важчою розмовою про те, що саме купили ці години.

TNRtrue negative rate

частка пропущених добрих випадків

Частка справжніх негативних випадків — добрих відповідей, здорових кейсів, — яку тест, класифікатор чи суддя-модель правильно пропускає. TNR 91% означає, що приблизно кожен одинадцятий добрий випадок позначено помилково; висока TNR сама по собі нічого не каже, бо «пропускати все» дає 100%.

tombstone

позначка «видалено»

Позначка, яку розподілене сховище чи сховище лише для дописування пише під час видалення замість того, щоб прибрати дані, — щоб кожна копія дізналася, що запису більше немає. Читання мусять переступати через надгробки, доки їх не прибере пізніше очищення, тому інтенсивні видалення роблять такі сховища повільнішими, а не меншими.

Повністю розкрито: /development/databases/nosql

tool call

модель просить виконати код

Відповідь моделі, яка замість тексту називає одну з описаних їй функцій і подає аргументи; ваш код виконує її й повертає результат назад. Аргументи є недовіреним вводом і перевіряються, як тіло будь-якого запиту: модель, що прочитала вставлену вказівку, видасть добре сформований і цілком хибний виклик.

Повністю розкрито: /development/ai-llm/ai-agents

TPMTrusted Platform Module

чип безпеки на платі

Стандартний чип безпеки на платі компʼютера, що тримає ключі, які не віддає назовні, фіксує, що саме пристрій завантажив, і може видати секрет лише в цьому виміряному стані. Він підвищує ціну видобування ключа із захопленого пристрою, але не робить його неможливим для когось із лабораторією й часом.

TPRtrue positive rate

частка спійманих справжніх збоїв

Частка справжніх позитивних випадків, яку тест, класифікатор чи суддя-модель справді ловить, — та сама величина, що й повнота (recall). TPR 80% означає, що кожен пʼятий справжній збій проходить; читайте її поруч із TNR, бо суддя, що нічого не позначає, має ідеальну TNR і нульову TPR.

trunk-based development

усі зливають в одну гілку щодня

Спосіб роботи, за якого кожен розробник щонайменше раз на день зливає малі зміни в одну спільну гілку, а незавершену роботу ховає за прапорцями, а не в довгоживучих гілках. Він потребує тестів, що відповідають за хвилини і яким довіряють; без них він лише швидше зливає поломки.

Повністю розкрито: /management/release-process/git-branching-strategy

TypeScript

JavaScript із перевіркою типів

JavaScript плюс опис того, що саме функція приймає й повертає, — і цей опис перевіряється в редакторі ще до запуску. У браузер він не потрапляє: перед складанням його компілюють назад у звичайний JavaScript, тож типи — це інструмент розробки, і не більше.

Повністю розкрито: /development/frontend/javascript

U

UIUser Interface

те, що бачить користувач

Усе, що користувач бачить і чим керує: екрани, кнопки, поля, стани. UI відповідає за те, ЯК виглядає взаємодія; чи має вона сенс узагалі — це вже питання UX, і ці два поняття плутають постійно.

undefined behaviour

те, що специфікація лишає відкритим

Поведінка, яку мова чи специфікація свідомо лишає невизначеною: програма може впасти, удавати, що працює, або зробити щось зовсім інше, і результат може змінитися з версією компілятора чи платформою. У C, C++ і unsafe Rust саме на це перетворюється помилка памʼяті, бо компілятор має право вважати, що такого не буває.

user story

потреба з погляду користувача

Короткий опис того, що потрібно користувачеві й навіщо, зазвичай у формі «Як …, я хочу …, щоб …», — обіцянка розмови, а не специфікація. Слабкість тут та сама, що й сила: без критеріїв приймання, узгоджених у цій розмові, двоє людей збудують з однієї картки дві різні речі.

Повністю розкрито: /management/decomposition/user-stories

UTCCoordinated Universal Time

світовий еталонний час

Стандарт часу, у якому зазвичай ведуть годинники й логи, — без часових поясів і переходу на літній час. Він додає високосні секунди, щоб не відставати від обертання Землі, тому час GPS, який цього не робить, нині випереджає його на 18 секунд.

UUIDUniversally Unique Identifier

128-бітний id, створений будь-де

128-бітний ідентифікатор, який будь-яка машина може згенерувати, не питаючи центрального лічильника, і практично без шансу на збіг двох. Версія 4 випадкова — її не вгадати, але вставляння в базу розкидаються; версія 7 починається з мітки часу, тож нові id сортуються в порядку створення.

V

Velocity

скільки вміщується у спринт

Скільки команда реально завершує за спринт, усереднено за кілька. Це допоміжна величина для планування однієї конкретної команди й нічого більше: порівнювати velocity двох команд чи ставити її за ціль означає надійно отримати роздуті оцінки, а не більше роботи.

Повністю розкрито: /management/methodologies/scrum

viewport

видима частина сторінки

Прямокутник вікна браузера, у якому справді малюється сторінка, — екран мінус власні панелі браузера. На телефоні він змінює розмір, коли адресна панель ховається, — тому висота 100vh може бути більшою за те, що бачить читач.

Vite

інструмент збірки фронтенду

Інструмент збірки й сервер розробки для фронтенд-коду, який 2020 року почав автор Vue і яким тепер користуються з більшістю фреймворків. У розробці він віддає браузеру ваші вихідні файли майже як є, тож стартує миттєво; для продакшену — збирає їх у бандли й мініфікує.

VPNVirtual private network

шифрований тунель у мережу

Шифрований тунель, що дає віддаленій машині приєднатися до приватної мережі так, ніби вона всередині. Пристрій на кінці тунелю — це двері до всього за ним, тож його налаштування таке ж чутливе, як будь-який пароль.

W

WBSWork Breakdown Structure

обсяг проєкту у вигляді дерева

Дерево всього, що проєкт має створити, розкладене, доки кожен шматок не стане досить малим, щоб його оцінити й віддати одному власникові, — і, за визначенням, нічого, чого проєкт не створює. Діти мають складати рівно свого батька, і саме це робить його межею обсягу, а не списком задач.

Повністю розкрито: /management/decomposition/work-breakdown-structure

WCAGWeb Content Accessibility Guidelines

стандарт доступності

Стандарт W3C про те, як зробити вебвміст придатним для людей з інвалідністю, записаний як перевірні критерії успіху трьох рівнів — A, AA і AAA. Саме на AA зазвичай посилаються закони й контракти, а відповідати йому на папері — не те саме, що незряча людина, яка змогла пройти ваше оформлення замовлення.

webhook

HTTP-виклик «щось сталося»

HTTP-запит, який одна система надсилає на зареєстровану вами адресу, щоб повідомити, що щось сталося, — платіж пройшов, замовлення відправлено, — і вам не доводилося постійно питати. Доставка зазвичай щонайменше одноразова й іноді не в тому порядку, тож отримувач мусить упоратися з тією самою подією, що прийшла двічі.

Повністю розкрито: /development/architecture/api-design

WebKit

рушій браузера Safari

Рушій браузера з відкритим кодом, на якому працює Safari. Сторінка, що працює в Chrome, може зламатися у WebKit, тому набори тестів проганяють браузерні маршрути й у ньому — Playwright для цього має власну збірку WebKit.

WebSocket

постійний двосторонній звʼязок

Зʼєднання, що лишається відкритим в обидва боки: на відміну від HTTP, сервер може надіслати повідомлення сам, не чекаючи запиту. На ньому тримаються чати й живі стрічки — і більшість того, що виглядає як сторінка, що оновлюється сама.

WIPWork In Progress

скільки почато одночасно

Обсяг роботи, яку почали, але не завершили. Обмежити його — центральний хід у Kanban: вузьке місце стає видимим замість того, щоб ховатись, і речі доходять до «готово» швидше саме тому, що їх починають менше.

Повністю розкрито: /management/methodologies/kanban

write skew

дві правильні перевірки, порушене правило

Аномалія паралельності, за якої дві транзакції читають ті самі дані, кожна робить зміну, коректну сама по собі, і разом вони порушують правило — двоє лікарів знімають чергування, бо кожен бачив, що інший ще чергує. Вона переживає кожен рівень ізоляції нижче serializable, бо жодна транзакція не перезаписує іншу.

Повністю розкрито: /development/databases/sql

WSJFWeighted Shortest Job First

вартість затримки, поділена на розмір роботи

Спосіб упорядкувати беклог: поділити вартість затримки кожного елемента на його розмір і першим робити елемент із найбільшим відношенням, щоб малі термінові задачі обганяли великі. В оригіналі Дональда Райнертсена вартість у грошах ділять на тривалість; версія SAFe додає три відносні бали й ділить на оцінку розміру, тож це структурована розмова, а не точний розрахунок.

Повністю розкрито: /management/methodologies/safe