Глосарій

Словник веб-розробника

Визначення технічних термінів з PHP, DevOps, MySQL та AI — з прикладами коду та поясненнями простою мовою.

228 термінів
47 літер
Н
Навантажувальне тестування
Навантажувальне тестування — перевірка, як система поводиться під очікуваним і піковим навантаженням. Відповідає на питання: скільки одночасних користувачів витримає сервер? Де виникає деградація?ТипиLoad test — очікуване навантаження. Чи тримається p99 latency < 500 мс при 1000 RPS?Stress test — навантаження вище очікуваного. Де "ламається" система?Spike test — раптовий пік. Чи витримає 10x навантаження за 1 хвилину?Soak test — стабільне навантаження тривалий час. Чи є витоки пам'яті?Інструментиk6 — JavaScript, open-source, відмінний для розробниківApache JMeter — Java, GUI, перевірений рокамиGatling — Scala, DSL, хороша звітністьМетрикиRPS (requests per second), latency percentiles (p50, p95, p99), error rate, throughput. Тестуйте в оточенні, максимально близькому до продакшну.
Незмінність (Immutability)
Незмінний об'єкт — той, чий стан не можна змінити після створення. Замість мутації — повертається новий об'єкт з оновленими значеннями. Усуває цілий клас багів пов'язаних із неочікуваними мутаціями.ПеревагиПотокова безпека: незмінний об'єкт можна безпечно читати з кількох потоків одночасноПростота міркувань: значення не змінюється «десь там», легше відстежити станUndo/Redo: старий стан завжди доступнийЧисті функції: без побічних ефектів — простіше тестуватиПриклад (Value Object)class Money { public function __construct( public readonly int $amount, public readonly string $currency ) {} public function add(Money $other): self { return new self($this->amount + $other->amount, $this->currency); } }У JavaScriptconst, Object.freeze(), spread-оператор {...obj, key: newVal}. Бібліотеки: Immer, Immutable.js.
Нормалізація БД
Нормалізація — процес організації таблиць так, щоб мінімізувати дублювання даних і запобігти аномаліям при вставці, оновленні та видаленні. Кожна нормальна форма накладає більш суворі вимоги.Перші три нормальні форми1NF — кожна комірка містить одне атомарне значення (не масив, не список через кому)2NF — немає часткових залежностей: кожен не-ключовий атрибут залежить від усього первинного ключа3NF — немає транзитивних залежностей: не-ключові атрибути залежать лише від ключа, а не від інших не-ключовихДенормалізаціяНормалізація зменшує надлишковість, але збільшує кількість JOIN. У навантажених системах читання свідомо денормалізують (дублюють дані), щоб уникнути складних запитів. Типовий приклад — збереження username разом з коментарем, щоб не робити JOIN до users.