You are on page 1of 45

Словник IT-термінів

для Business Analyst


Глосарій v.1.1

Acceptance criteria (Критерії прийомки) – потрібні нам для


перевірки кожної окремої Історії Користувача (фічі тощо) й
підтвердження, що після реалізації система працює, як цього хотів
замовник. Такі критерії будуть майже унікальні для кожного
елемента беклогу (Product Backlog Item) і повинні уточнюватися,
перш ніж команда візьме той чи інший елемент в ітерацію
(спринт).

Adaptive layout (Адаптивна верстка) — підхід, що передбачає


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

Add-on (Додаток) — додавання різноманітного додаткового


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

Agile software development (agile-методи) — серія підходів до


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

AJAX — підхід до побудови інтерактивних інтерфейсів вебдодатків,


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

1
Глосарій v.1.1

Amend — (поняття, що стосується Git) коли програміст вносить


зміни, не створюючи нової версії — зазвичай коли розробник
помилково зафіксував версію, але не залив її на сервер.

API (Application Programming Interface) — інтерфейс програмування


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

Asynchrony (Асинхронність) – коли дві події (створення події та


обробка, наприклад) – розділені в часі. Асинхронний часто
використовують як синонім до «неблокуючий».

Authorization (Авторизація) – це надане будь-якій особі право на


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

Automatic testing (Автоматизоване тестування) – частина процесу


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

Back-end (Бекенд) – область вебтехнологій, що працюють на


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

2
Глосарій v.1.1

Backlog (Беклог) – це список усіх робіт проєкту у Scrum. Можна


сказати, що це щоденник загального користування.

Big data — сукупність підходів, інструментів і методів обробки


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

Black-box testing (Тестування методом чорної скриньки) – це


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

Boolean — логічний тип даних, однією з особливостей якого є те, що


логічні змінні можуть приймати тільки 2 значення: True (правда) і
False (брехня). Існує в переважній більшості мов програмування як
самостійна сутність чи реалізується через чисельний тип даних. У
деяких мовах програмування за значення істина належить 1,
значення брехня — 0.

Bootstrap — вільний набір інструментів для створення сайтів і


вебзастосунків. Містить HTML- і CSS-шаблони оформлення для
типографіки, вебформ, кнопок, міток, блоків навігації та інших
компонентів вебінтерфейсу, включаючи JavaScript-розширення.

3
Глосарій v.1.1

Branch (Гілка) — (поняття, що стосується Git) напрямок розробки,


незалежний від інших. Гілка є копією частини (як правило, одного
каталогу) сховища, в яку можна вносити свої зміни, що не
впливають на інші гілки. Документи в різних гілках мають однакову
історію до точки розгалуження та різні – після неї. Щоб не
працювати з одним кодом великою командою, програмісти
працюють кожен у своїй гілці, створюючи їх для певних задач, а
потім зливають в одну, користуючись системою контролю версій.
Гілка за замовчуванням у Git'і називається master.

Browser (Браузер) – програмне забезпечення для перегляду


вебсайтів в Інтернеті. Також можна використовувати для перегляду
файлів, вмісту вебдокументів. До того ж багато сучасних браузерів
підтримують можливість перегляду документів багатьох графічних
форматів, програвання аудіо- й відеофайлів.

Build (Білд) — (часто використовується в формулюванні: «викотити


білд»). У буквальному перекладі — «збірка». Тобто беремо зріз
вихідних кодів (початкового коду й супутніх файлів), створюємо деякі
виконувані файли. Отримуємо з вихідних файлів робочі продукти.
Вони створюються як вручну на вимогу, так і автоматичними
системами збірок за розкладом.

Business processes (Бізнес-процеси) — це сукупність


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

Check-out, Clone — (поняття, що стосується Git) вилучення


документа зі сховища і створення робочої копії.

4
Глосарій v.1.1

Class (Клас) – тип даних, який визначається програмістом. Клас


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

Check-in, Commit, Submit — (поняття, що стосується Git) створення


нової версії, фіксація змін.

Conflict (Конфлікт) — (поняття, що стосується Git) ситуація, коли


кілька користувачів зробили зміни однієї і тієї ж ділянки документа.
Конфлікт виявляється, коли один користувач зафіксував свої зміни
(закомітив), а другий намагається зафіксувати, й система сама не
може коректно злити конфліктуючі зміни. Оскільки програма може
бути недостатньо розумною для того, щоб визначити, яка зміна є
«коректною», другому користувачеві потрібно самому вирішити
конфлікт (resolve).

Cron — класичний демон-планувальник задач у UNIX-подібних


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

Code review – інженерна практика в термінах гнучкої методології


розробки. Це аналіз (інспекція) коду з метою виявити помилки,
недоліки, розбіжності у стилі написання коду, відповідно до
написаного коду й поставленої задачі.

5
Глосарій v.1.1

Coding convention, Programming style (Стандарт оформлення коду,


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

Comment (Коментар) — пояснення до вихідного тексту програми,


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

Compiler (Компілятор) — програма, що перетворює текст,


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

Console (Консоль комп'ютера — пульт управління) — сукупність


пристроїв (у тому числі пристроїв введення-виведення), що
забезпечує взаємодію людини-оператора з комп'ютером.

6
Глосарій v.1.1

Continuous Integration (CI — безперервна інтеграція) — це практика


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

Credentials — повноваження та облікові дані користувача системи


або самої програми при доступі до іншої системи.

CRM-система (Customer Relationship Management або Управління


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

CRUD (скор. від англ. create, read, update, delete) — акронім, що


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

CSS – каскадні таблиці стилів. Формальна мова, за допомогою якої


визначається зовнішній вигляд, оформлення текстового документа,
написаного за допомогою html (мови розмітки). Вебсайти, як
правило, оформлюються за допомогою CSS — саме він відповідає за
«красивості».

7
Глосарій v.1.1

Database (База даних) – сукупність пов'язаних даних,


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

DB2 — сімейство систем управління реляційними базами даних, що


випускаються корпорацією IBM. Найчастіше, посилаючись на DB2,
мають на увазі реляційну систему керування базами даних DB2
Universal Database (DB2 UDB)

Debugger — комп'ютерна програма, призначена для пошуку


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

Decompilation (Декомпіляція) – процес відтворення вихідного коду


декомпілятором. Використовується для зворотної розробки
програм.

Definition of Done («Критерії готовності») — включають ряд дій, які


потрібно виконати для того, щоб скоротити додаткові дії в той час,
коли команда каже «ми зробили», і замовник каже «загорніть, я
беру». Якщо між цими двома моментами вам потрібно зробити ще
багато маніпуляцій, то задумайтеся про те, який же «Definition of
Done» у вашій команді.

8
Глосарій v.1.1

Denormalization (Денормалізація) — навмисне приведення


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

Deploy (Деплой) — (часто використовується у формулюванні


«забілдити», «задеплоїти»). Процес збирання вихідного коду й
перенесення готового продукту в production, для використання
безпосередніми клієнтами бізнесу.

Deprecation (Несхвалення) — у програмуванні — певна вказівка н​ а


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

DevOps (злиття англ. слів Development (розробка) та Operations (IT-


операції)) – це нова методологія розробки ПЗ. Вона зосереджена на
комунікації, співробітництві й інтеграції між підрозділами розробки
й експлуатації. DevOps – це відповідь на взаємну залежність
розробників і персоналу ІТ-операцій. Ця методологія допомагає
організаціям прискорити виробництво програмних продуктів і
надання своїх сервісів.

Discontinuity (Дискретність, Перервність) — визначення того, що


алгоритм має представляти процес розв'язання задачі як
послідовне виконання простих (або раніше визначених) кроків.
Кожна дія, передбачена алгоритмом, виконується тільки після
завершення виконання попереднього.

9
Глосарій v.1.1

DOM (Document Object Model) — об'єктна модель, яка


використовується для документів XML/HTML. Згідно з DOM-
моделлю, документ є ієрархією, деревом. Кожен HTML-тег утворює
вузол дерева із типом «елемент». Вкладені в нього теги стають
дочірніми вузлами.

Downtime — час, протягом якого будь-який пристрій не може


використовуватися через збій у роботі, що стався в ньому самому
або у пристроях пов'язаних з ним в єдину систему.

Duct tape (Милиця) — (часто використовується в формулюванні:


«милиці й велосипеди»). Швидке «потворне» вирішення проблеми,
яка інакше потребує довгострокового й ресурсомісткого
виправлення.

Dynamic typing (Динамічна типізація) — прийом, що широко


використовується в мовах програмування та мовах специфікації,
при якому змінна зв'язується з типом у момент присвоєння
значення, а не в момент оголошення змінної. Таким чином, у різних
ділянках програми одна й та ж змінна може набувати значення
різних типів. Приклади мов із динамічною типізацією — Smalltalk,
Python, Objective-C, Ruby, PHP, Perl, JavaScript, Lisp, xBase, Erlang.

ECMAScript — це вбудована мова програмування, що не має


засобів вводу-виводу, використовується як основа для побудови
інших скриптових мов. Стандартизована міжнародною
організацією ECMA у специфікації ECMA-262. Розширення мови –
JavaScript, JScript та ActionScript – широко використовуються в
Інтернеті.

10
Глосарій v.1.1

E-commerce (Електронна комерція) — це сфера економіки, яка


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

Electron — система, що дозволяє створювати кросплатформні


застосунки, використовуючи одні лише вебтехнології, такі як HTML,
CSS і звичайно, JS.

Emulation (Емуляція) — комплекс програмних, апаратних засобів


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

Encapsulation (Інкапсуляція) – це механізм контролю доступу. Вона


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

Engine (Рух) — (часто використовується в формулюванні: «написано


на движку») це центральна частина комп'ютерної програми, що
виконує основні функції цієї програми.

Enterprise (Ентерпрайс) — система вебтехнологій, що забезпечують


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

11
Глосарій v.1.1

Environment (Середовище програмування) — інтегрована система


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

Epic (Епік, Тема) — це, по суті, велика user story (користувацька


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

Extreme Programming, XP (Екстремальне програмування) — це


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

Flow (Потік) — це послідовність інструкцій, які виконуються


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

Follow-up letter (Лист про подальші дії) — лист, який надсилається


діловому контрагенту після початкової зустрічі або будь-якої іншої
зустрічі для закріплення домовленостей і намічених кроків.

12
Глосарій v.1.1

Frameworks (Фреймворки) – це програмні продукти, які спрощують


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

Front-end (Фронденд) — область технологій для розробки


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

Fullstack developer (Фулстек) — це веброзробник, що має знання та


досвід у розробці як frontend так і backend складових. Зазвичай
потрібно в компанії де немає поділу на frontend/backend
розробників, коли компанія маленька або фронтенд/бекенд
складова на проєкті не вимагає великої кількості розробників.
Можна сказати, що це фахівець, який має знання для розробки
вебпроєкту від А до Я, нехай і не дуже глибокі.

Git (Гіт) – це розподілена система для керування версіями файлів.

GitHub — найбільший вебсервіс для хостингу IT-проєктів та їхньої


спільної розробки. Заснований на системі контролю версій Git і
розроблений на Ruby on Rails та Erlang компанією GitHub. Git дає
можливість оновлювати і правити файли проєкту з урахуванням
змін, внесених іншими.

13
Глосарій v.1.1

Guideline (гайдлайн, керівництво) — технічний документ, що містить


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

Hardware (Апаратне забезпечення) — електронні й механічні


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

Hash (Хешсума, хеш, хешкод) — результат обробки деяких даних


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

Hashing (Хешування) — перетворення масиву вхідних даних


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

14
Глосарій v.1.1

High-level programming language (Високорівнева мова


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

Highload – вкрай відносне поняття. Воно ніколи не вимірюється


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

Highload system (Високонавантажені системи) – це, по суті, ті ж


вебсайти, тільки з дуже великою аудиторією, і як наслідок з великим
навантаженням, що вимагає оптимізованої серверної частини
вебсайту. Якісною характеристикою для високонавантаженої
системи є пропускна спроможність цієї системи, вона визначає
кількість роботи, яку має вміти виконувати система за одиницю
часу. Прикладами високонавантажених систем можуть бути такі
вебсайти як Google, Facebook, Flickr, Amazon, YouTube, Wikimedia,
LiveJournal, Twitter, MySpace і багато інших. Також, до
високонавантажених систем можна віднести браузерні ігри, що
розраховані на багато користувачів.

HTML – мова розмітки гіпертексту, тобто документів в інтернеті. Всі


вебсторінки в мережі створюються за допомогою розмітки HTML.
Сучасні браузери перетворюють HTML у форматований текст і
відображають його на різних пристроях.

15
Глосарій v.1.1

HTTP (HyperText Transfer Protocol) — протокол прикладного рівня


передачі даних (спочатку — у вигляді гіпертекстових документів у
форматі «HTML», зараз використовується для передачі довільних
даних). Основою HTTP є технологія «клієнт-сервер», тобто
передбачається існування: споживачів (клієнтів), які ініціюють
з'єднання та надсилають запит; постачальників (серверів), які
чекають на з'єднання для отримання запиту, роблять необхідні дії і
повертають назад.

Infrastructure (Інфраструктура) — комплекс взаємопов'язаних


обслуговуючих структур або об'єктів, що складають і/або
забезпечують основу, що забезпечує функціонування системи.

Inheritance (Наслідування) — це властивість системи, що дозволяє


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

Instance (Примірник класу) – це опис конкретного об'єкта в пам'яті.


Клас описує властивості й методи, які будуть доступні в об'єкта,
побудованого за описом, закладеним у класі.

Примірники використовуються для подання (моделювання)


конкретних сутностей реального світу.

Integrated development environment, IDE (Інтегроване середовище


розробки, ІСР) — комплекс програмних засобів, що
використовується програмістами для розробки програмного
забезпечення (ПЗ).

16
Глосарій v.1.1

Interface (Інтерфейс) – це візуальний засіб, що дозволяє


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

Ionic framework — один з найбільш широко обговорюваних


фреймворків. Як повідомляє офіційний сайт, Ionic — це SDK для
створення гібридних мобільних додатків, набір CSS і JS компонент,
створений на основі AngularJS, SASS, Apache Cordova.

IoT (Internet of Things, Інтернет речей) — методологія


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

JavaScript, JS – це мова програмування, за допомогою якої


вебсторінкам надається інтерактивність. З її допомогою
створюються програми, які входять до HTML-коду (наприклад,
анкети або форми реєстрації, які заповнюються користувачем).

JSON – простий, заснований на використанні тексту, спосіб


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

Library (Бібліотека) — це збірка підпрограм або об'єктів, які


використовуються для розробки програмного забезпечення (ПЗ).

17
Глосарій v.1.1

Lint — статичний аналізатор для мови програмування Сі, який


повідомляв про підозрілі або непереносимі на інші платформи
вирази. На початку ХХІ століття термін став загальним для всіх
програм такого типу. Як інструмент програма лише аналізує
статичний вихідний код, не скомпільований на відміну дебагерів.

Linting (Лінтинг, Лінт) — статичний аналіз коду. Перевірка


синтаксису й коректності (неініціалізовані змінні, наприклад), не
запускаючи компіляцію або виконання (залежно від мови).
Допомагає одразу виправити помилки, пов'язані зі «стилем
написання коду».

Load balancer (Балансування навантаження, або вирівнювання


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

Load testing (Навантажувальне тестування) — підвид тестування


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

Localization (Локалізація) — переклад інтерфейсу користувача,


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

18
Глосарій v.1.1

Low-level programming language (Низькорівнева мова


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

Machine-learning (Машинне навчання) — клас методів штучного


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

Manual testing (Ручне тестування) — (часто використовується


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

Master — гілка за замовчуванням у Git. Головна гілка, в якій


міститься основна робоча версія коду.

Merge – операція злиття двох і більше гілок.

Merge, Integration (Мердж, Злиття) — (поняття, що стосується Git)


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

19
Глосарій v.1.1

Method (Метод) – функція, що працює з об'єктом. В одному разі


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

Microservice architecture (Мікросервісна архітектура) — це підхід до


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

Microservices (Мікросервіси) – сучасне уявлення сервіс-


орієнтованої архітектури (SOA), що використовується для створення
розподілених програмних систем. Як і SOA, модулі в архітектурі
мікросервісів взаємодіють по мережі один з одним для виконання
мети. Перевагою розподілу різних функцій системи в різні невеликі
модулі є те, що це посилює зв'язність і зменшує зв'язаність.

Mid-level programming languages ​(Середньорівневі мови) — часто


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

Minutes, Meeting notes (Протокол) — це письмовий документ, що


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

20
Глосарій v.1.1

Мinification (Мініфікація) в мовах програмування і особливо


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

Mock-Up (Мокап) — непрацююча модель, виконана в натуральну


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

MongoDB — документоорієнтована система управління базами


даних (СУБД) з відкритим вихідним кодом, що не вимагає опису
схеми таблиць. Написана мовою C++. Замість зберігання даних у
таблицях, що складаються з окремих рядків, як у реляційних базах,
MongoDB зберігає дані в колекціях, які складаються з документів.
Документ – це великий JSON об'єкт без заздалегідь визначеного
формату та схеми.

Monolithic architecture (Монолітна архітектура) — при монолітній


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

21
Глосарій v.1.1

MS SQL (Microsoft SQL Server) — система управління реляційними


базами даних (РСУБД), розроблена корпорацією Microsoft. Основна
мова запитів, що використовується — Transact-SQL, створена
спільно з Microsoft і Sybase. Transact-SQL є реалізацією стандарту
ANSI/ISO із структурованої мови запитів (SQL) з розширеннями.
Використовується для роботи з базами даних розміром від
персональних до великих баз даних масштабу підприємства;
конкурує з іншими СУБД у цьому сегменті ринку.

Multithreading (Багатопотоковість) — властивість платформи


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

NDA (Non-disclosure agreement) — угода про нерозголошення


конфіденційної інформації. Такий контракт можна підписувати з
будь-яким суб'єктом, якому ви довіряєте доступ до конфіденційної
інформації.

Neural network (Штучна нейронна мережа, ШНМ) — математична


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

NPM – це пакетний менеджер node.js. З його допомогою можна


керувати модулями й залежностями.

22
Глосарій v.1.1

Оbfuscate (Обфускувати, Обфускація) — заплутування коду.


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

Object (Об'єкт) – це окремий представник класу, що має


конкретний стан і поведінку, що повністю визначається класом.

Object-oriented programming (Об'єктно-орієнтоване


програмування) — парадигма програмування, в якій основними
концепціями є поняття об'єктів і класів.

Open-sourse software (Відкрите програмне забезпечення) — це


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

ORM (англ. Object-Relational Mapping, укр. об'єктно-реляційне


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

23
Глосарій v.1.1

Package manager (Система керування пакетами) – набір


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

Packet (Пакет) — це певний спосіб оформленого блоку даних, який


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

Parsing (Парсинг) – програма (скрипт), що дає можливість


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

24
Глосарій v.1.1

Placeholder (Плейсхолдер) або іншими словами картинка -


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

Platform as a Service (PaaS, «платформа як послуга») — модель


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

Plugin (Плагін) — незалежно компільований програмний модуль, що


динамічно підключається до основної програми і призначений для
розширення та/або використання її можливостей. Плагіни зазвичай
виконуються у вигляді бібліотек загального користування.

Polymorphism (Поліморфізм) — це властивість системи


використовувати об'єкти з однаковим інтерфейсом без інформації
про тип і внутрішню структуру об'єкта.

25
Глосарій v.1.1

Port (порт) — натуральне число, яке записується в заголовках


протоколів транспортного рівня моделі OSI (TCP, UDP, SCTP, DCCP).
Використовується для визначення процесу-одержувача пакета в
межах одного хоста.

Помилка 503 — Service Temporarily Unavailable

Помилка 502 — Bad Gateway

Помилка 503 — Service Temporarily Unavailable

Помилка 500 — Внутрішня помилка сервера

PostgreSQL (Пост-Грес-К'ю-Ел) — вільна об'єктно-реляційна


система управління базами даних (СУБД). Існує в реалізаціях для
багатьох UNIX-подібних платформ, включаючи AIX, різні BSD-
системи, HP-UX, IRIX, Linux, macOS, Solaris/OpenSolaris, Tru64, QNX,
а також для Microsoft Windows.

Production (Продакшн) — (часто використовується у формулюванні:


«викотити в продакшн»). Мається на увазі production server. Це
робоче, так зване «бойове» оточення, в якому проводиться робота з
реальними клієнтами й актуальними даними. Production-сервер —
це сервер, що відноситься до production-оточення. На production-
сервері має бути стабільна, відтестована збірка.

Programming language (Мова програмування) — формальна мова,


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

Prototype (Прототип) – модель для тестування концепції чи процесу.


Можуть бути вставлені картинки, з'явитися кольорові тональні
градації і т.д. Іноді прототипом називають різні типи візуалізації та
макетування. В цьому випадку прототипом називатимуть і мокап, і
блок-схему, і навіть скетч.

26
Глосарій v.1.1

Pull request — (поняття, що стосується Git) це відправка ваших змін


у репозиторії на перевірку іншим програмістам або тімліду.
Приклад ситуації. Ви знайшли помилку в якомусь фреймворку або
бібліотеці й хочете виправити помилку й відправити розробникам,
щоб вони внесли ваші зміни до master-гілки репозиторію. Pull
request — це відправка ваших змін, але без вливання коду одразу в
репозиторій. Спочатку ваш commit перевірять інші розробники.

Pull, Update — (поняття, що стосується Git) запит для отримання


нових версій зі сховища.

Push — (поняття, що стосується Git) залити нову версію в сховище.

QA (Керування якістю) — (від англійської Quality Assurance) це


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

RDP (Remote Desktop Protocol, Протокол віддаленого робочого


столу) — пропрієтарний протокол прикладного рівня, запозичений
Microsoft з купленої в PictureTel (нині відомої як Polycom)
телекомунікаційної програми Liveshare Plus (названої згодом
NetMeeting), який використовується для забезпечення віддаленої
роботи користувача з сервером, на якому запущено сервіс
термінальних підключень. Клієнти існують практично для всіх версій
Windows (включаючи Windows CE, Phone і Mobile), Linux, FreeBSD,
Mac OS X, iOS, Android, Symbian. За замовчуванням
використовується порт TCP 3389.

Recursion (Рекурсія) — це властивість об'єкта наслідувати себе.


Об'єкт є рекурсивним, якщо його частини виглядають також як весь
об'єкт.

27
Глосарій v.1.1

Refactoring (Рефакторинг) – переробка коду. Комплекс заходів,


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

Register (Регістр) — спеціальний осередок пам'яті (послідовний або


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

Regular expressions (Регулярні висловлювання) — формальна мова


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

Relational database (Реляційна база даних) — представляє собою


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

28
Глосарій v.1.1

Release (Реліз) – випуск готового для використання продукту


(програми/коду/бібліотеки). Зазвичай він містить усі оновлення,
виправлення та є версією, готовою для використання кінцевим
споживачем.

Release notes (Примітки до версії програмного продукту) — частина


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

Repository (Репозиторій, сховище) – місце, де зберігаються та


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

REST (Representational State Transfer) — архітектурний стиль


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

Reverse engineering, Back engeneering (Зворотна розробка) —


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

29
Глосарій v.1.1

RFP (від англ. request for proposal) — це заявка на надання послуги


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

Routing (Маршрутизація) — процес визначення маршруту


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

Rubber layout (Гумова верстка) — блоки змінюють свою ширину в


залежності від розміру вікна браузера. Вона може приймати
максимальне й мінімальне значення (властивість max-width). Але не
можна зі зменшенням екрана з 50% зробити 100%.

SaaS (англ. software as a service — програмне забезпечення як


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

30
Глосарій v.1.1

Sandbox (Пісочниця) – спеціально виділене середовище для


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

Scalability (Масштабованість) — означає здатність системи, мережі


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

Система називається масштабованою, якщо вона здатна


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

Screencast (Скринкаст) — цифровий відеозапис інформації, що


виводиться на екран комп'ютера, також відомий як video screen
capture (досл. «відеозахоплення екрана»). Часто супроводжується
голосовими коментарями.

Script (Скрипт) — (від англ. «сценарій») це програма або


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

31
Глосарій v.1.1

Scrum (Скрам) — це набір принципів, на яких будується процес


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

SDK (Software Development Kit) — комплект засобів розробки, який


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

Server (сервер) — спеціалізований комп'ютер і/або спеціалізоване


обладнання для виконання на ньому сервісного програмного
забезпечення (у тому числі серверів тих чи інших задач).

Server (Сервер) — це комп'ютер, виділений із групи персональних


комп'ютерів (чи робочих станцій) для виконання будь-якої сервісної
задачі без участі людини.

Server application (Серверний додаток) – це спеціалізована


програма, яка приймає запити клієнтів, обробляє їх і дає відповіді
на ці запитання.

32
Глосарій v.1.1

Simulation (Симулякр, Симуляція, Повнофункціональний прототип)


– на складних проєктах також модель для тестування концепції чи
процесу. Це модель рівня Hi-Fi (high fidelity – високої точності, на
відміну від прототипу, що є моделлю низької точності – Lo-Fi). Для
створення симуляцій зазвичай використовується програма iRise.
Там використовуються бібліотеки візуалів, що дозволяють зобразити
сторінки дуже близько до кінцевого вигляду, є випадаючі списки,
кнопки, що змінюють свій вигляд при наведенні, навігація між
екранами, і т.д.

Single Page Application, SPA (Додаток однієї сторінки) – це


вебдодаток, розміщений на одній вебсторінці, яка для забезпечення
роботи завантажує весь необхідний код разом із завантаженням
самої сторінки. В цьому випадку користувач може взаємодіяти з
інтерфейсом без постійних перезавантажень сторінки так, ніби це
десктопна програма. Програми такого типу з'явилися порівняно
недавно, з початком ери HTML5. Хорошим прикладом SPA можна
назвати пошту Gmail чи Twitter.

Sketch (Малюнок, Ескіз) — початковий моментальний малюнок від


руки того, що спало на думку.

Software architecture (Архітектура) – це загальний пристрій коду


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

Spinner – це випадаючий список, що дозволяє вибрати одне


значення. Він дозволяє заощадити місце на екрані.

33
Глосарій v.1.1

Sprint (Спринт) — відрізок часу в scrum, який береться для


виконання певного (обмеженого) списку задач. Рекомендується
брати 2-4 тижні (тривалість визначається командою один раз).

SQL (Structured query language) — формальна непроцедурна мова


програмування, яка використовується для створення, модифікації та
керування даними.

SSL-сертифікат – це свого роду унікальний цифровий підпис вашого


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

Stack (Стек) — абстрактний тип даних, що представляє собою


список елементів, організованих за принципом LIFO (англ. last in —
first out, «останнім прийшов — першим вийшов»).

Stack Overflow — популярна система запитань і відповідей про


програмування, розроблена Джоелем Спольські та Джеффом
Етвудом у 2008 році. Є частиною Stack Exchange Network. Як і в
інших системах подібного роду, Stack Overflow надає можливість
оцінювати запитання та відповіді, що порушує або знижує
репутацію зареєстрованих користувачів (варіант ігрофікації). Проєкт
створено за допомогою ASP.NET 4 та ASP.NET MVC.

34
Глосарій v.1.1

Static typing (Статична типізація) — означає, що всі перевірки типів


даних виконуються на етапі компіляції, а не на етапі виконання
програми. Змінна, параметр підпрограми, значення функції, що
повертається, зв'язується з типом у момент оголошення і тип не
може бути змінений пізніше (змінна або параметр прийматимуть, а
функція — повертати значення тільки цього типу). Приклади мов із
такою типізацією: Ада, С++, D, Java, ML, Паскаль.

String (Рядковий тип) — тип даних, значеннями якого є довільна


послідовність (рядок) символів алфавіту. Кожна змінна такого типу
(рядкова змінна) може бути представлена ​фіксованою кількістю
байтів або мати довільну довжину.

Style guide (Посібник зі стилю) — це набір стандартів для


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

Syntactic sugar (Синтаксичний цукор) – це синтаксичні можливості,


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

Tag (Тег) – елемент мови розмітки гіпертексту. Найправильніша


назва — дескриптор. Наприклад, текст Вікіпедії, укладений між
початковим тегом і кінцевим тегом «small», наказує відображати
його меншим за основний текст. У XML тег є елементом документа, а
текст, що міститься між початковим і кінцевим тегом – змістом
елемента.

35
Глосарій v.1.1

Test Plan (План тестування, Тест План) — це документ, що описує


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

Test Run (Тести для запуску) — це комбінація тест скриптів або


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

Test-driven development (TDD — Розробка через тестування) —


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

Tester (Тестувальник) — спеціаліст, який займається тестуванням. У


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

Third party data (Дані третіх сторін) – будь-які зовнішні дані, їх


джерелом можуть бути сервіси email-розсилок, платіжні системи,
сторонні сайти, сервіси обробки та зберігання даних DMP.

Ticket – це віртуальна картка з описом помилки.

36
Глосарій v.1.1

Token (Токен) — заміщення об'єкта певним позначенням/


ідентифікатором (часто просто цілим числом чи рядком). Наприклад:
ідентифікатор сесії – це класичний токен. Тобто замість
персональних даних користувача й часу відвідування сайту ми
пишемо просто номер (код). Токени широко застосовуються в
системах авторизації/ідентифікації та інше. Технічно зазвичай
реалізуються як записи в базі даних, де токен є ідентифікатором
запису даних користувача чи наданого доступу.

Transliteration (Транслітерація) — точна передача знаків однієї


писемності знаками іншої писемності, коли кожен знак (чи
послідовність знаків) однієї системи письма передається тим самим
знаком (чи послідовністю знаків) інший системи письма.

Tutorial (Туторіал, навчальний посібник) – це покрокове (поетапне)


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

UI, User Interface (Інтерфейс користувача) – елементи зовнішнього


вигляду системи (кнопки, іконки, меню, рубрики), мета якого –
максимально ефективно та зручно організувати взаємодію з
користувачем.

37
Глосарій v.1.1

Unit testing (Модульне тестування, або юніт-тестування) — процес


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

Unity – це інструмент для розробки дво- та тривимірних програм та


ігор, що працює під операційними системами Windows, Linux та OS
X.

Uptime — це час безперервної роботи сайту.

Usability (Юзабіліті) – зручність використання інтерфейсу з погляду


користувача. Позитивні враження при використанні програмного
забезпечення, логічність і простота в розташуванні елементів
керування.

Use Case (Сценарій використання) – це опис поведінки системи,


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

38
Глосарій v.1.1

User Flow (Шлях користувача) — перехід користувачів від одного


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

User Story (Історії користувача) — спосіб опису вимог до системи,


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

UX, User Experience (Досвід взаємодії, Користувальницький досвід)


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

Variable (Змінна) – це область пам'яті, що має ім'я, яке інакше


називають ідентифікатором. Даючи змінній ім'я, програміст
одночасно тим самим ім'ям називає і область пам'яті, куди
записуватимуться значення змінної для зберігання.

39
Глосарій v.1.1

Version Control System (VCS) (Система керування версіями) —


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

Virtual machine (Віртуальна машина) — програмна і/або апаратна


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

VPN (Virtual Private Network, Віртуальна приватна мережа) —


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

Web Application (Вебдодаток) — клієнт-серверний додаток, в якій


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

40
Глосарій v.1.1

Web layout (Верстка) — створення структури html-коду, що


розміщує елементи вебсторінки (зображення, текст тощо) у вікні
браузера, згідно з розробленим макетом, таким чином, щоб
елементи дизайну виглядали аналогічно макету.

WebSocket — протокол повнодуплексного зв'язку (може передавати


та приймати одночасно) поверх TCP-з'єднання, призначений для
обміну повідомленнями між браузером і вебсервером у режимі
реального часу. В даний час у W3C здійснюється стандартизація
API Web Sockets.

White-box testing (Тестування методом білої скриньки) – це коли


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

Wireframe (Блок-схема) — схема або креслення, що представляють


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

Workflow – це система забезпечення виконання задач, поставлених


перед виконавцями в рамках процесного управління.

XML — це розширювана мова розмітки (Extensible Markup


Language), розроблена спеціально для розміщення інформації в
World Wide Web, поряд з HTML, яка давно стала стандартною
мовою створення Web-сторінок. За допомогою XML можна
створювати текст і розмічати його за допомогою обрамляюючих
тегів, перетворюючи кожне слово, речення або фрагмент на
ідентифіковану, сортовану інформацію.

41
Глосарій v.1.1

Аргумент функції у програмуванні — значення, яке передається


функції, або його символьне ім'я.

Верстка сайту – це процес створення вебсторінки за готовим


макетом. Зазвичай як макет використовується графічний шаблон,
створений в Adobe Photoshop, він називається PSD (PhotoShop
Document) шаблоном. Процес верстки включає створення коду
сторінки за допомогою зрозумілої браузерам мови розмітки
гіпертексту (HTML), і оформлення її за допомогою каскадних таблиць
стилів (CSS).

Гівнокод — це застосування не найкращих (з погляду більшості)


рішень проблеми. Ну наприклад, гівнокодом назвуть вихід із циклу
установкою лічильника на максимальне значення. Це цілком робоче
рішення, але для вирішення такої проблеми є вже перевірені
практики та спеціальні методи. Інакше кажучи, Quality Assurance
гарантує, що процес поставлено правильно й дає передбачуваний
результат, тоді як Quality Control гарантує, що продукт задовольняє
зазначеному набору вимог. На ринку СНД поняття QA часто
використовують, щоб називати так тестувальників, переважно тих,
хто займається автоматичним тестуванням.

Лог — файл із записами про події у хронологічному порядку.


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

Модуль – функціонально закінчений фрагмент програми. В багатьох


мовах (але далеко не обов'язково) оформляється у вигляді окремого
файлу з вихідним кодом або іменованої безперервної її частини.
Деякі мови передбачають об'єднання модулів у пакети.

42
Глосарій v.1.1

Протокол передачі даних — стандарт, який визначає правила


взаємодії функціональних блоків під час передачі даних.

Псевдокод — компактна (часто неформальна) мова опису


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

Реляційна база даних – це сукупність відносин, які містять всю


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

Служба тіньового копіювання тома (англ. Volume Shadow Copy


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

43
Глосарій v.1.1

Сутність (Об'єкт у програмуванні) — деяка сутність у


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

Технічний борг — це метафора-неологізм, що позначає погану


продуманість структури системи, не продуману архітектуру
програмного забезпечення або неякісну розробку програмного
забезпечення.

44

You might also like