Основи: продукт, код і робоче середовище
Карта розробки цифрового продукту й бізнесу експертної студії
Уявімо просту ситуацію: людина натискає кнопку «Забронювати консультацію». Що саме має статися, щоб вона справді отримала підтверджений час, а не просто…
Уявімо просту ситуацію: людина натискає кнопку «Забронювати консультацію». Що саме має статися, щоб вона справді отримала підтверджений час, а не просто побачила гарну кнопку? Відповідь веде від екрана через мережу й сервер до збережених даних, повідомлення клієнту, роботи команди та подальшої підтримки.
Що ви зрозумієте
Після цієї глави ви зможете пояснити шлях дії користувача через основні частини цифрового продукту та відрізнити продукт від проєкту й технічного сервісу. Ви також розпізнаєте обов'язки команди й зрозумієте, де в життєвому циклі можуть допомогти інструменти на основі штучного інтелекту. Це загальна карта: код і репозиторій детально розглядаються в главі 2, діагностика потреби — у главі 7, а економіка студії — у главі 70.
Попередні знання не потрібні. Скорочення, англійські назви й технічні слова тут пояснюються при першій появі.
Продукт, проєкт, застосунок і сервіс
Ці слова часто вживають як синоніми, хоча вони відповідають на різні питання.
Продукт — це пропозиція, що допомагає певним людям досягти результату й надалі потребує підтримки та розвитку. Продуктом може бути мобільний застосунок, вебсервіс, сайт для продажу, пристрій із програмним забезпеченням або їх поєднання. Кнопка, сторінка чи репозиторій окремо зазвичай не є повним продуктом: вони лише частини того, що отримує та використовує людина.
Проєкт — обмежена в часі робота для створення або зміни чогось. Наприклад, «підготувати онлайн-запис до жовтня» — проєкт; система запису, її користувачі, правила, підтримка й подальші покращення можуть продовжити існувати після завершення цього проєкту. Фіксовані межі термінів різняться між командами, тому важливе не слово в Jira, а узгоджене значення.
Застосунок — програма або пов'язана група програм, якою людина користується для певної роботи. Рекламний сайт може лише показувати заздалегідь підготовлені сторінки; вебзастосунок дає людині змінювати дані чи виконувати роботу в браузері; мобільний застосунок установлюється на телефон і за певної будови може частково працювати без інтернету. За будь-яким із цих інтерфейсів може працювати серверна програма, але це не обов'язково: сайт може бути повністю статичним. Не кожен продукт має однакову будову.
У цій книзі сервісом переважно називатимемо довготривало доступну частину програмної системи, яка виконує роботу для інших частин або людей. Наприклад, серверний сервіс зберігає бронювання. У бізнес-розмові «сервіс» може також означати послугу чи спосіб обслуговування клієнта. Контекст підказує, про що йдеться.
Ці відмінності допомагають зрозуміти, чому «код написаний» не завжди означає «продукт готовий». Код може бути створений, але не перевірений, не випущений, не підключений до даних чи ще не підтримуваний після запуску.
Які частини можуть мати цифрові продукти
Для пояснення візьмемо вебсистему бронювання. Людина відкриває форму в браузері або мобільному застосунку. Після натискання кнопки програма-клієнт надсилає серверу мережевий запит із вибраним часом і потрібними даними. Сервер перевіряє правила бронювання та права доступу, читає або змінює запис у базі даних і повертає відповідь клієнтській програмі, яка показує результат людині. Електронний лист із підтвердженням може надсилатися окремо: його затримка чи помилка не обов’язково скасовує вже збережене бронювання.
Це один можливий шлях, а не вимога до кожного продукту. Невеликий сайт може не мати бази даних або окремої серверної логіки. Велика платформа може мати кілька застосунків, баз, зовнішніх постачальників та серверів.
Клієнт — програма, яка звертається до іншої програми з проханням виконати дію. У прикладі браузер є клієнтом сервера. Сервер — комп'ютер або програма, що приймає запити та відповідає на них. Одне й те саме програмне забезпечення може бути клієнтом у взаємодії з одним сервісом і сервером у взаємодії з іншим. MDN (Mozilla Developer Network — історична повна назва «Мережа розробників Mozilla», нині сайт має назву MDN Web Docs) пояснює це розрізнення в окремій статті What is a web server?.
Frontend — частина, з якою людина безпосередньо взаємодіє: поля форми, кнопки, текст, доступність і відображення результату. Backend — серверна логіка: перевірка правил, обробка запитів і робота з даними. Межа між ними не завжди збігається з назвами команд або мов програмування. MDN описує клієнтський код як код браузера для поведінки сторінки, а серверний — як код, що обирає вміст відповіді й працює з даними.
API (Application Programming Interface — програмний інтерфейс взаємодії) — домовлений спосіб, яким одна програма просить іншу надати дані або виконати дію. Людина натискає кнопку, frontend формує запит до API, backend перевіряє його та повертає результат. API може бути внутрішнім для продукту або належати зовнішньому постачальнику. Сам факт наявності API не говорить, які правила бізнесу воно реалізує. MDN пояснює веб-API як інтерфейс взаємодії між частинами програмного забезпечення.
База даних зберігає структурований стан, наприклад список доступних годин і підтверджені бронювання. У реляційній базі ці дані організують у таблиці; у посібнику PostgreSQL таблиці описані як основне місце зберігання даних. Файлове сховище краще розуміти як місце для документів, зображень та інших файлів; це не те саме, що таблиці в базі даних, хоча один продукт може використовувати обидва типи зберігання. Окреме файлове сховище не потрібне, якщо продукт не приймає файлів або працює лише зі структурованими полями; коли файли потрібні, конкретний спосіб залежить від їхнього розміру, доступу, строку зберігання й надійності. Системи зберігання різняться: наприклад, огляд AWS (Amazon Web Services — хмарні вебсервіси Amazon) порівнює ієрархічні файлові системи та об'єктне сховище посібник AWS.
Автентифікація з'ясовує, хто звертається до системи або чи дійсні надані облікові дані. Авторизація перевіряє, які саме дані чи дії дозволені цій особі. Людина може успішно увійти до кабінету, але не мати права змінювати бронювання іншого клієнта. Публічна сторінка, навпаки, може бути доступна без входу.
Це різні перевірки: автентифікація підтверджує особу або облікові дані, а авторизація вирішує, що цій особі дозволено. Сам факт входу не означає доступу до всіх записів і функцій. OWASP (Open Worldwide Application Security Project — Відкритий всесвітній проєкт безпеки застосунків) пояснює обидва поняття у своїх рекомендаціях з автентифікації та авторизації.
Фонове завдання — робота, яку система виконує окремо від миттєвої відповіді людині. Черга зберігає завдання, що чекають обробки, а worker (процес-обробник) забирає їх і виконує. Це корисно, коли робота може тривати довше за запит користувача, має повторюватися після тимчасової помилки або потребує обмеження швидкості. Наприклад, документація Cloudflare описує чергу як буфер і процес-споживач, що обробляє повідомлення; це приклад конкретної хмарної реалізації, а не вимога до кожного продукту (Cloudflare Queues). Для маленького каталогу ці компоненти можуть бути зайвими.
Кеш зберігає тимчасову копію даних або результату, який часто потрібен знову. Він може пришвидшити відповідь або зменшити повторне звернення до повільного джерела. Але кеш додає питання актуальності: що робити, якщо основні дані змінилися, а копія ще стара? Кеш може бути зайвим, якщо дані рідко читають, джерело й так відповідає достатньо швидко або кожне читання має показувати найсвіжіший стан; його узгодження коштує додаткової складності. Посібник MDN про кешування вебвідповідей пояснює переваги повторного використання відповіді та ризик неактуальних або неправильно поширених даних.
Від адреси до відповіді в інтернеті
Коли браузер відкриває адресу вебсайту, DNS (Domain Name System — система доменних імен) допомагає знайти мережеві дані, потрібні для звернення до сервера. Доменне ім’я, наприклад example.com, — це зручна для людини назва; мережеві дані допомагають програмам визначити, куди надіслати запит. DNS не зберігає сам сайт і не виконує його бізнес-логіку. Потім клієнт надсилає запит серверу. MDN пояснює загальний шлях від адреси через DNS до запиту вебсистеми.
HTTP (Hypertext Transfer Protocol — протокол передавання гіпертексту) задає спільні правила запитів і відповідей для вебсистем. Запит зазвичай містить адресу ресурсу й намір на кшталт отримати або змінити дані; відповідь містить результат і дані, які допомагають зрозуміти, що сталося. Це спрощений опис: конкретна поведінка визначена специфікацією HTTP Semantics, RFC (Request for Comments — «запит на коментарі», серія документів про технічні правила інтернету) 9110. HTML (HyperText Markup Language — мова розмітки гіпертексту) описує структуру вебсторінки, яку браузер може відобразити. Вебсистеми також можуть передавати стилі, програмний код та інші дані.
Хостинг — послуга або інфраструктура, де зберігається й запускається вебпрограма. Хмара — спосіб отримувати обчислювальні ресурси, мережу, сховище та програмні послуги через мережу з можливістю керувати обсягом і конфігурацією. NIST (National Institute of Standards and Technology — Національний інститут стандартів і технологій США) дає стабільне базове визначення цієї моделі в публікації SP (Special Publication — спеціальна публікація) 800-145. «У хмарі» не означає «без серверів»: сервери фізично існують, але клієнт часто не мусить купувати й обслуговувати їх сам.
CDN (Content Delivery Network — мережа доставлення вмісту) — мережа серверів, що може кешувати деякі матеріали ближче до людей, які їх запитують. Це може пришвидшити доставлення файлів і допомогти з витримуванням навантаження. CDN зазвичай не замінює основне місце, де продукт обробляє запити й зберігає дані; точні можливості залежать від постачальника та конфігурації (огляд Cloudflare).
Від файла до запущеної програми
Код — текстові інструкції, за якими програма виконує роботу. Runtime (середовище виконання) — програма або система, що запускає код та надає йому необхідні можливості. Середовище — конкретне місце й набір налаштувань, у яких програму розробляють, перевіряють або використовують: наприклад, комп'ютер розробника, тестове середовище чи production-середовище (бойове, де продукт доступний своїм користувачам). Код JavaScript у браузері й той самий код у серверному середовищі можуть виконуватися в різному оточенні й мати різні дозволені можливості.
Бібліотека — готовий код, який інша програма використовує для певної функції. Фреймворк — набір структур і правил, що допомагають організувати програму; часто він визначає частину того, як програма підключає власний код. Пакет — одиниця, яку можна встановити або поширити в певній екосистемі. Залежність — зовнішній пакет, бібліотека чи сервіс, від яких залежить робота застосунку. Ці слова частково перетинаються, а точний зміст «пакета» залежить від мови та інструментів.
Build (збірка) — процес підготовки коду чи ресурсів до запуску або поширення. Його результатом можуть бути згенеровані файли, які не варто редагувати вручну, якщо джерело для них міститься в іншому місці. Контейнер — спосіб упакувати програму та частину потрібних їй залежностей у переносний образ. Він допомагає запускати той самий комплект у різних середовищах, але сам по собі не доводить, що програма безпечна або правильно налаштована (вступ Docker до контейнеризованого застосунку).
Увесь цикл створення продукту
Ці кроки дають загальну карту роботи, хоча на практиці часто чергуються й повторюються:
- Потреба: у людей є проблема або бажаний результат.
- Дослідження: команда уточнює, хто має проблему, як вона проявляється та що вже пробували.
- Вимоги й дизайн: команда погоджує очікувану поведінку та форму взаємодії.
- Реалізація: змінює код, дані, налаштування чи інші частини системи.
- Перевірка: збирає докази, що потрібні сценарії працюють і ризики прийнятні.
- Випуск: робить зміну доступною користувачам у вибраному середовищі.
- Експлуатація: спостерігає за роботою, реагує на збої та підтримує систему.
- Зворотний зв'язок: дізнається, чи зміна дала очікуваний результат, і вирішує, що робити далі.
Наприклад, команда може досліджувати нову потребу, підтримувати попередню функцію й одночасно готувати випуск. Важливо зберегти відповідальність за результат після написання коду.
Хто відповідає за роботу
У процесі можуть бути ролі власника продуктового рішення, дизайнера, інженера, тестувальника та фахівця з експлуатації. У малій студії одна людина може поєднувати кілька ролей, але сама робота від цього не зникає. Хтось має вирішити, яку проблему розв'язує продукт; хтось — чи зрозуміла взаємодія; хтось — як реалізувати правила; хтось — які докази потрібні; хтось — що робити, коли система працює після випуску.
У студії важливо також розрізняти покупця і користувача. Покупець погоджує витрати або умови; користувач виконує роботу в продукті. Іноді це одна людина, іноді різні. Якщо кабінет потрібен керівнику для звіту, але щодня ним користується адміністратор, обговорення тільки з покупцем може пропустити головну операційну потребу.
Власна продуктова команда зазвичай інвестує у свій продукт, сама обирає цільових користувачів і після випуску відповідає за його подальшу підтримку та наслідки рішень. У клієнтському проєкті студія працює за договором із замовником: клієнт фінансує погоджений обсяг, приймає бізнес-рішення й визначає, хто оплачує та виконує подальшу підтримку. Користувачами можуть бути його працівники або клієнти. Договір не скасовує професійної відповідальності студії за якість її роботи, але розподіл ризику, приймання й підтримки треба погодити явно; одна назва ролі цього не визначає.
AI (Artificial Intelligence — штучний інтелект) може допомагати шукати в коді, готувати чернетки, пояснення й тести та аналізувати варіанти. AI-агент — система, що використовує модель і надані інструменти для послідовних дій, наприклад читання файлів або підготовки змін. Сама модель автоматично не отримує доступу до репозиторію, зовнішнього сервісу чи бойового середовища: це залежить від продукту, інструментів і дозволів. Відповідальна за продукт людина або команда визначає межі роботи агента й вирішує, чи приймати та випускати його зміни.
Конкретні продукти та API надають різні інструменти й дозволи. Наприклад, документація Claude Code описує читання кодової бази, редагування файлів, запуск команд та інтеграцію з інструментами розробки. Сторінка Codex описує coding agent, а посібник OpenAI з генерування коду через API — окремий спосіб роботи через API. Ці можливості не можна автоматично переносити на будь-яку модель чи чат; далі курс розглядає ці системи окремо.
Приклад 1. Бронювання існує, хоча лист не надіслано
Ситуація. Клієнт обирає вільний час консультації й натискає «Забронювати». Він очікує побачити підтвердження та отримати лист.
Дія. Браузер збирає ім'я, адресу електронної пошти й обраний час та надсилає їх у запиті до API. Сервер перевіряє формат даних, ще раз перевіряє доступність часу й зберігає бронювання в базі даних. Повторна перевірка на сервері важлива: дані в браузері можна змінити, а дві людини можуть майже одночасно обрати той самий проміжок.
Результат. Якщо сервер успішно зберіг бронювання, він повертає відповідь із номером або іншим підтвердженням. Браузер показує стан «Час заброньовано». Після цього сервер або окрема фонова робота просить поштового постачальника надіслати лист.
Що пішло не так. Бронювання записане, але поштовий сервіс тимчасово не відповів. Якщо показати помилку «бронювання не створене», клієнт може натиснути ще раз і створити дублікат. Якщо показати «лист надіслано», це буде неправдою. Чесний стан: час заброньований, підтвердження видно в інтерфейсі, а лист очікує повторної спроби. Команда може зберігати стан повідомлення й повторювати доставлення за визначеними правилами.
Чому так. База даних і зовнішній поштовий постачальник — різні системи. Атомарною називають операцію, яка завершується цілком або не залишає частково застосованого результату. Збереження бронювання та надсилання листа тут є окремими діями, тому стан бронювання й стан сповіщення треба відстежувати окремо.
Альтернатива й межа. Для внутрішнього прототипу лист можна надсилати без окремої черги й показувати чіткий статус невдачі. Для реального продукту повторні запити, дублікати, обмеження поштового постачальника та терміновість повідомлення можуть вимагати іншого підходу. Конкретна реалізація залежить від бізнес-правил, а не лише від вибору технології.
Приклад 2. Три студії чують: «Зробіть кабінет»
Ситуація. Власник невеликої сервісної компанії просить «кабінет, де видно замовлення». Ця фраза описує бажане рішення, але ще не пояснює проблему.
Підхід із продажем сторінок. Студія одразу пропонує макет і перелік екранів: список замовлень, картка, фільтр. Це може бути доречно, якщо потреби вже уточнені та замовник має готові правила. Ризик — побудувати охайні сторінки, не з'ясувавши, які рішення вони мають допомогти приймати.
Підхід із продажем часу. Студія домовляється про роботу за годинами й раз на тиждень показує виконані зміни. Це може підходити для невизначеної або змінної роботи, якщо сторони прозоро керують пріоритетами й бюджетом. Сам формат оплати не гарантує, що команда знає правильну проблему, і не означає, що фахова оцінка не потрібна.
Діагностичний підхід. Студія спершу з'ясовує, хто дивиться на замовлення, як часто, які рішення приймає, звідки беруться дані та що зараз затримує роботу. Наприклад, може виявитися, що керівнику не потрібен новий кабінет: достатньо регулярного звіту. А може з'ясуватися, що працівники двічі вводять ті самі дані, і тоді важливі інтеграція та зменшення ручної роботи.
Спеціалізація експертної студії — це не просто список технологій: повторювана робота над подібним класом проблем допомагає швидше помічати типові ризики й ставити кращі запитання. Наприклад, команда, що часто працює з бронюваннями, знатиме перевірити часові пояси, конфлікти й повторне надсилання, але все одно має підтвердити правила конкретного клієнта. Для звіту з одного джерела може вистачити малої команди; для синхронізації розкладу, платежів і прав доступу потрібні відповідний досвід інтеграцій та чітка відповідальність за відмови. Склад команди й спосіб роботи мають відповідати ризику та невизначеності, а не шаблонному складу проєкту.
Вибір і наслідок. Якщо після розмови проблема виявилася стабільною й має конкретний результат, студія пропонує обмежений перший етап із критеріями приймання. Якщо даних бракує, пропонує оплачувану діагностику або інший чітко обмежений спосіб дослідження. У цьому навчальному сценарії клієнт оплачує погоджений етап і приймає бізнес-рішення; його адміністратори щодня користуються результатом. Клієнт вирішує, чи вартий очікуваний результат бізнес-ризику, а студія відповідає за якість робіт у межах договору. Після випуску підтримку виконує сторона, прямо визначена в домовленості; до підписання сторони погоджують, хто реагує на помилки та хто оплачує зміни. Це приклад розподілу відповідальності, а не універсальна або юридична модель договору. Клієнт отримує зрозумілий наступний крок, а команда не обіцяє функцію до розуміння її мети.
Корисні рамки, не універсальні правила. Еннс описує діагностику перед рекомендацією, спеціалізацію та межі безоплатного розв'язання проблем (Manifesto); Бейкер — зв'язок експертності з закономірностями та позиціонуванням (The Business of Expertise); Майстер — зв'язок характеру роботи з потрібними навичками й взаємодією з клієнтами (The Anatomy of a Consulting Firm). Це рамки для розмови, а не гарантія доходу чи готова модель договору.
Приклад 3. Коли каталогу потрібні додаткові компоненти
Ситуація А: невеликий каталог. Компанія показує 120 товарів, а працівник змінює ціну кілька разів на тиждень. Достатньо звичайної серверної сторінки, бази даних і простої форми керування. Додавати чергу, окремі серверні програми й кілька баз лише «бо так роблять великі системи» створило б нові місця для налаштування й збоїв без відповідної користі.
Ситуація Б: регулярний імпорт. Тепер каталог щогодини отримує тисячі змін від зовнішнього постачальника. Запит до постачальника може затриматися або тимчасово відхилитися. Якщо виконувати весь імпорт прямо під час відкриття сторінки користувачем, його очікування залежатиме від повільної зовнішньої системи.
Команда може зробити планувальник, що за розкладом створює завдання, чергу для очікування та worker, який читає дані й оновлює каталог. Для кожної зміни потрібні правила повтору та захист від дубліката: повторне отримання одного й того самого запису не має двічі змінити ціну або створити два товари. Стан імпорту можна показати оператору, щоб він бачив, коли дані востаннє оновлювалися.
Результат і компроміс. Тепер сторінка каталогу не мусить чекати повний імпорт, а команда має окреме місце для обробки невдалих спроб. Натомість з'являються нові питання: коли завдання вважається застарілим, хто отримує сигнал про помилку, як знайти зупинений worker і як відновити імпорт без повторної шкоди.
Коли це рішення не підходить. Якщо імпорт потрібен раз на місяць і займає кілька секунд, фонова система може коштувати дорожче в підтримці, ніж прямий запуск. Мета архітектури — не зробити схему складнішою, а дати потрібний результат за прийнятної складності та ризику.
Репозиторій відкритого продукту Cal.diy показує ще одну практичну межу. У README на зафіксованому commit — commit є записом конкретного стану файлів у Git — команда називає його платформою розкладів, створеною спільнотою, і попереджає, що самостійне розгортання потребує знань про адміністрування сервера, базу даних та захист чутливих даних; для цієї редакції вона рекомендує лише особисте, не виробниче використання. Це не доказ про внутрішню архітектуру всіх продуктів запису, але корисне нагадування: «є відкритий код» не означає «обслуговування не потрібне».
Як читати заяви про готовність
Коли хтось каже «функцію зроблено», уточніть, що саме вже відбулося:
| Формулювання | Що воно може означати | Що ще варто з'ясувати |
|---|---|---|
| Код написано | Файли змінені | Чи відповідає зміна вимогам і чи перевірена поведінка? |
| Перевірку пройдено | Конкретна перевірка дала певний результат | Який сценарій перевірявся, на якій версії та що залишилося поза перевіркою? |
| Зміна випущена | Зміна доступна в певному середовищі | Чи бачить її потрібна група користувачів і чи працюють залежні системи? |
| Результат отримано | Користувач виконав потрібну роботу | Чи є ознаки, що його проблема справді зменшилась? |
Ці твердження не взаємозамінні. Пізніші глави покажуть, як збирати докази для кожного з них.
Підсумок
Цифровий продукт складається з поведінки, даних, інтерфейсів, правил і людей, які його підтримують. Клієнтський екран може звертатися до серверної програми через API; серверна програма може зберігати стан у базі даних і просити зовнішній сервіс надіслати лист. DNS допомагає знайти мережеву адресу, хостинг надає місце для запуску, а хмара дає керований спосіб отримувати обчислювальні ресурси. Цих компонентів може бути менше або більше залежно від задачі.
Робота студії починається з розуміння потреби, а не обов'язково з обраної технології. Ролі можна поєднувати, але рішення про цінність, реалізацію, перевірку та підтримку хтось усе одно має приймати. Агент може допомагати з діями, проте його інструменти й повноваження залежать від продукту, його налаштувань і дозволів конкретного середовища.
Джерела та подальше читання
- MDN Contributors, How the web works, сторінку оновлено 20 липня 2026 року; прочитано 23 вересня 2026 року. Використано для клієнта, сервера, DNS, HTTP та загального шляху запиту. Спрощену мережеву аналогію не трактуємо як повний опис усіх сучасних протоколів.
- MDN Contributors, What is a web server?, сторінка не вказує дату публікації; прочитано 23 вересня 2026 року. Використано для розрізнення сервера як обладнання та програмного HTTP-сервера, а також статичної й динамічної подачі матеріалів.
- MDN Contributors, Introduction to the server side, сторінку оновлено 11 квітня 2025 року; прочитано 23 вересня 2026 року. Використано для меж клієнтського коду в браузері та серверної логіки. PostgreSQL Tutorial: Concepts, актуальна версія документації; і AWS, Choosing a storage service, актуальний огляд постачальника без сталої дати редакції; прочитано 23 вересня 2026 року. Використано як приклади табличного зберігання та файлових/об'єктних систем; AWS-огляд не видаємо за універсальну модель усіх сховищ.
- MDN Contributors, Introduction to web APIs, і About MDN, сторінки без сталої дати видання; прочитано 23 вересня 2026 року. Перша пояснює роль API між програмами; друга підтверджує історичну назву Mozilla Developer Network і поточну назву MDN Web Docs.
- MDN Contributors, HTTP caching, сторінка з оновлюваною документацією без зазначеної дати публікації; прочитано 23 вересня 2026 року. Використано для повторного використання відповідей, свіжості кешу й ризику витоку персоналізованого вмісту.
- Cloudflare Learning Center, What is DNS? і What is a CDN?, сторінки не вказують дату публікації; прочитано 23 вересня 2026 року. Використано для ролі DNS та кешування вмісту ближче до клієнтів. Це матеріали постачальника послуг, тому вони не описують усі можливі архітектури CDN.
- Cloudflare, How Queues Works, документація сервісу без зазначеної дати версії; прочитано 23 вересня 2026 року. Використано як приклад буфера й worker-consumer у керованій черзі; деталі віднесено саме до Cloudflare.
- IETF (Internet Engineering Task Force — Інженерна робоча група інтернету), R. Fielding та ін., RFC (Request for Comments — запит на коментарі) 9110: HTTP Semantics, червень 2022 року; прочитано 23 вересня 2026 року. Використано для визначення HTTP як протоколу запитів і відповідей та обмежень того, що можна вивести з одного повідомлення.
- OWASP Foundation, About OWASP, сторінка без зазначеної дати публікації, і Authentication Cheat Sheet та Authorization Cheat Sheet, оновлювані рекомендації без зазначеної дати видання; прочитано 23 вересня 2026 року. Використано для повної назви OWASP та різниці між перевіркою особи/облікових даних і дозволом конкретної дії.
- NIST, Peter Mell і Timothy Grance, The NIST Definition of Cloud Computing, SP 800-145, вересень 2011 року; прочитано 23 вересня 2026 року. Використано як стабільну базову модель хмарних ресурсів, не як опис конкретного провайдера.
- Docker Docs, Build and share a containerized application, сторінка не вказує дату публікації; прочитано 23 вересня 2026 року. Використано для образу, контейнера та прикладу системи з кількох частин. Це приклад Docker; деталі контейнеризації в різних інструментах можуть відрізнятися.
- Anthropic, Claude Code overview, сторінка документації без дати публікації; прочитано 23 вересня 2026 року. Використано для перевіреного опису можливостей Claude Code як інструмента для роботи з кодовою базою; точні функції можуть змінитися.
- OpenAI, Codex та Code generation, сторінки продукту/документації без сталої дати видання; прочитано 23 вересня 2026 року. Використано для розрізнення coding-agent продукту та прямої роботи з API й моделями. Сторінки продукту змінюються; тут не приписуються функції, відсутні в цих джерелах.
- David Maister, The Anatomy of a Consulting Firm, 2004, розділ із The Advice Business, що адаптує матеріал з його книжок про професійні послуги; прочитано 23 вересня 2026 року. Використано для зв'язку характеру консалтингової роботи з потрібними навичками й взаємодією з клієнтами; не заявляємо про повне прочитання книжок.
- Blair Enns, The Win Without Pitching Manifesto, сторінка автора про видання й його дванадцять принципів; прочитано 23 вересня 2026 року. Використано для атрибуції діагностики перед рекомендацією та позиціонування; це не гарантія комерційного результату.
- David C. Baker, The Business of Expertise, матеріал автора про книжку; прочитано 23 вересня 2026 року. Використано для пов'язання експертності з розпізнаванням закономірностей і позиціонуванням; доступна сторінка не замінює повний текст книжки.
- Cal.com, Inc., Cal.diy README at commit
54343aa685ae8f33159d2f485ec4a57bad5c574a, прочитано 23 вересня 2026 року. Використано лише як відкрито задокументований приклад застережень щодо самостійного адміністрування й призначення конкретної редакції; не робимо висновків про недокументовані внутрішні деталі продукту.