56 IT-термінів, які потрібно знати

56 IT-термінів, які потрібно знати

Заговоріть мовою айтішників.

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

Розробка

API (Application Programming Interface) — інтерфейс прикладного програмування — з’єднання між комп’ютерами чи комп’ютерними програмами.

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

Git — розподілена система керування версіями файлів та спільної роботи.

MVP (Minimum Viable Product) — метод розробки, у якому на ринок виводиться новий продукт із базовими функціями, достатніми, щоби привернути увагу споживачів. Кінцевий продукт випускається на ринку тільки після отримання зворотного зв’язок від початкових користувачів продукту.

Pull request — пропозиція зміни коду в чужому репозиторії. За допомогою пул-реквесту розробник повідомляє іншим про зміни, які відправив у гілку репозиторію на GitHub.

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

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

Аутентифікація — перевірка особи людини для отримання доступу до даних або додатка. Доступ до певних дій або сторінок можна обмежити за допомогою рівнів користувачів. 

БД — база даних — організований набір даних, що зберігаються та доступні в електронному вигляді з комп’ютерної системи. Поділяються на реляційні (дані зберігаються у вигляді таблиць та рядків) та нереляційні (дані зберігаються в колекціях документів JSON).

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

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

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

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

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

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

Опенсорс — підхід до створення комп’ютерних програм із відкритим вихідним кодом. Програма з відкритим кодом доступна для всіх охочих. 

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

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

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

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

Стек — структура даних, що містить упорядковану лінійну послідовність елементів.

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

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

Тестування

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

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

Penetration (pen test) — імітація кібератаки на комп’ютерну систему для перевірки вразливостей.

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

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

Навантажувальне (load) — тестування програмного забезпечення, у якому компонент чи система ПЗ піддаються чимраз вищому навантаженню для вивчення їх поведінки. 

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

Процеси

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

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

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

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

Project Management

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

Kanban — метод управління розробкою, що реалізує принцип «точно вчасно» та сприяє рівномірному розподілу навантаження усередині команди. 

One-on-One — зустріч у форматі «тет-а-тет» між менеджером та підлеглим для обговорення робочих питань.

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

SCRUM — підхід керування проєктами для гнучкої розробки програмного забезпечення. Скрам наголошує на якісному контролі процесу розробки.

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

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

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

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

Компанії

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

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

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

HR

Контроффер — відповідь роботодавця на оффер співробітника від іншої компанії.

Онбординг — введення в організацію та адаптацію нового співробітника.

Овертайм — перепрацьовування поверх робочих годин.

Оффер — пропозиція про роботу.

Релокейт — переїзд на постійне місце проживання, пов’язане з роботою.

Ремоут — віддалена робота — формат роботи поза офісом.

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

Світчер — IT-фахівець, який прийшов до IT з інших сфер.

Скіли — навички (знання та вміння).

Фідбек — спосіб оцінювання виконаної роботи або процесів. Зворотній зв’язок — це спосіб зрозуміти потреби, вимоги, результати діяльності працівників в організації.

Ще статті
Як працювати з даними: фахівці діляться досвідом.
Розробники радять Telegram- та YouTube-канали, книги та блоги.