Рубріки: ДосвідДумка

Local-first dev environments

Володимир Рожков

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

Коли є мільйон залежностей, кафки-х**фки, редіси-х**діси, бридка трійця S3/SQS/SNS, мерзенний OAuth 2.0 та інша «шляпа», яка не запускається або складно запускається на вашому комп’ютері.

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

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

Коли на старті проєкту лід видає тобі вагон кредів та інструкцій де отримати ще вагон кредів щоб потім захардкодити їх в дотенв-файлі.

Коли тобі пропонується піднімати на ноуті, прости Г-ди, кубернетіс.

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

Один з найабсурдніших стартапів минулих років це Mightyapp.

«Mighty makes Google Chrome faster & use 10x less memory. Mighty speeds up Chrome on your laptop by streaming it from a more powerful computer in the cloud — that makes your browser & other apps run significantly faster».

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

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

E2E тести, які проганяються по ночам, тому що «тест suite займає дві години», забивають ще один цвях у труну продуктивності. Як щодо того, що запустити їх локально? Ой, не можна? А як мені тоді продебажити тест, що падає?

Проєкт має збиратися та запускатися локально без усіх цих «хоботів». Цикл read-evaluate-print має бути настільки коротким, наскільки це можливо.

Зовнішні залежності мають бути мінімізовані. Звісно, за роки роботи працьовиті міленіали навигадували різних стабів для хмарних сервісів, типу DynamoDB Local. Але менше ж з ним — відсутня залежність ліпша за стаб.

Хотів би вам дати пораду сьогодні подивитися на свій стек та викинути щось, але я знаю що ви з більшим задоволенням додасте ще один мікросервіс та ще одну клаудну «шляпу» від Amazon. Тому насолоджуйтесь роздуванням complexity. Ми, інженери кодери, це любимо.

Без порад.

Цей текст взято з особистого блогу після отримання дозволу автора.

Якщо ви знайшли помилку, будь ласка, виділіть фрагмент тексту та натисніть Ctrl+Enter.

Останні статті

Регулювання криптовалют у 2025 році: нові правила ЄС, США та Азії

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

19.09.2025

AI-консультант у компанії: як Knowledge Bot економить час і гроші

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

08.09.2025

AI Engineer у сучасному технологічному стеку: трансформація процесів розробки програмного забезпечення

Штучний інтелект (ШІ) вже не просто модне слово, а рушійна сила, що змінює саму суть…

21.08.2025

Алгоритми консенсусу майбутнього: DAG, BFT, DPoS

Алгоритм консенсусу – це серце будь-якого блокчейна. Саме він визначає, хто і як записує нові…

12.08.2025

CSR у Next.js. Як працює і що у нього під капотом

Зайшов на сторінку, а там — спінери, skeleton і порожнеча? Це не баг, це —…

31.07.2025

Чому я пишу про факапи?

Таке запитання мені поставив мій знайомий, коли побачив мій профіль. Я настільки над цим задумалась,…

30.07.2025