Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Node.js Recipes avatar
Node.js Recipes
Technology
Node.js Recipes avatar
Node.js Recipes
Technology
Через два дні стартує віртуальна конференція від O’Reilly – Coding with Al: The End of Software Development as We Know It. Контент - як це часто буває зараз – предзаписаний і буде транслюватися у стрімі.

Ось три причини, чому я буду дивитися:
1️⃣ Гаряча тема і гучні імена. Спікери – ті, хто формує тренди. Той самий Едді Асмані не потребує представлення.

2️⃣ Формат – лайтнінг-доповіді. Не затяжні 45 хвилин, а короткі, концентровані виступи. Це набагато складніше, ніж здається – за кілька хвилин донести суть без права на помилку.

3️⃣ Класна підбірка рекомендованої літератури. Все заточено під O’Reilly-каталог, а 10-денного безкоштовного тріалу вистачить, щоб осилити одну-дві топові книги. Та й, будемо чесні, вас не треба вчити, як обійти обмеження 😏

🎥 Якщо пост набере 100 вогників – зроблю відеоогляд найцікавішого з конференції.

Я дивлюсь – приєднуйтесь
01.05.202514:12
Учорашнє відео містить одну з ключових думок про те, що нам потрібно вміти створювати код з різною швидкістю/якістю.
Це вміння змінювати швидкість під завдання важливе в усіх сферах життя… Тут я зупинюся, бо починаю цитувати: "Thinking, Fast and Slow” by Daniel Kahneman.

За останній рік завдяки AI-інструментам я навчився краще управляти швидкістю вивчення нових інструментів/бібліотек.

Ось що дозволяє рухатися так, як я звик та як воно було до AI:
1️⃣ Learning by doing
2️⃣ Reading standart documentation
3️⃣ Video about the tool from courses/conferences

Ось що дозволяє рухатися deep&slow:
1️⃣ Several Deep research in your LLM: Best practices, alternatives, known <tool> problems and best practises to resolve them
2️⃣ The tool source code review. AI helps with navigation, explanation, etc
3️⃣ Best practise creation about this tool. Part of my consulting, so i review this with other experts.

Ось що дозволяє рухатися швидко:
1️⃣ Prompt for your LLM: There is documentation … Split it in 5 bitesize lessons with quize at the end. Start with the first lesson and based on quize explaine me what i missed.
2️⃣ GitDiagram. Example https://gitdiagram.com/nestjs/nest
3️⃣ DeepWiki. Example https://deepwiki.com/nestjs/nest

а які інструменти ви використовуєте для навчання? Які курси відвідуєте?
Минулого тижня вийшли результати State of Web Dev AI.

Якщо ви не проходили це опитування, то там було чудове розділення:
- AI-powered text editors & IDEs: Cursor / Zed / Windsurf
- Coding Assistants: GitHub Copilot / JetBrains AI
- Code Generation tools: v0 / bolt / lovable

Деякі результати:
- Улюблені моделі — ChatGPT та Claude
- Найбільший біль по моделях — Галюцинації
- Найбільший біль по AI-powered IDEs — Обмеження контексту та пам’яті
- Найбільший біль по Coding Assistants — Галюцинації
- Найбільший біль по Code Generation tools — Низька якість згенерованого коду
- Найпопулярніші мови для генерації коду — JS та TS
- Більшість погоджується, що AI tools справді зробили їх продуктивнішими

Рекомендую почитати самостійно. Особливо зверніть увагу на розділ Resources (How developers are learning about AI).
23.04.202515:24
🚀 Вийшов реліз Node.js v22.15.0
#nodejs_api

У цьому мінорному оновленні є два важливі моменти, на які варто звернути увагу.

1️⃣ Оновлення бази часових поясів: tzdata 2024b → 2025a
Деталі змін у реліз-нотах tzdata 2025a.
Якщо ваш застосунок має бізнес-логіку, що залежить від таймзон, це оновлення може стати breaking change. Щоб уникнути подібних ризиків у майбутньому, краще використовувати system-ICU, щоб оновлювати таймзони незалежно від оновлень Node.js.

2️⃣ Зʼявився новий метод process.execve() — системний виклик, який повністю замінює поточний процес на новий, зберігаючи той самий PID. Приклад:
console.log('Before execve pid:', process.pid);
try {
process.execve('/bin/sh', ['sh', '-c', 'echo After execve pid: $$']);
} catch (err) {
console.error('execve failed:', err);
}

Що це означає для Node.js розробників?
🐳 Мінімалістичний init-процес на JS у Docker-контейнерах: наприклад, можна спочатку отримати секрети з AWS Secrets Manager, а потім запускати основну програму, як треба по 12 Factor.
🔁 Hot-reload без втрати PID: перезапуск застосунку без його зупинки — актуально для IoT-пристроїв або embedded-систем.
⚠️ Новий вектор атак: тепер можливе підміщення логіки без зміни PID, що вимагає додаткової уваги до безпеки.
18.04.202516:31
Я вирішив підтримати Діму Малєєва та Влада Кампова та створив свій профіль на mentor.sh

Я оформив як послуги для менті те, чим вже давно займаюся як Fractional CTO для компаній.

1️⃣ Mock Hiring Process – Готуємося до реальних інтерв’ю
У 2025 році як в Україні, так і у світі, кандидатів більше, ніж вакансій. Тестове завдання стало стандартним етапом ще до першої розмови. Для компаній я:
– складаю тестове завдання,
– перевіряю його,
– а вже потім проводжу технічне інтерв’ю.

Для менті це оформлено як імітація реального процесу найму:
– Ви отримуєте тестове завдання відповідно до вашого рівня та спеціалізації;
– Проходите годинне технічне інтерв’ю;
– Отримуєте детальну зворотну відповідь.

Послуга на mentor.sh називається Hourly Session і коштує $200, підходить для ролей:
– Cloud Engineer (Node.js + Cloud Native),
– Node.js Developer (NestJS),
– Fullstack Developer (NestJS + Next.js),
– Frontend Developer (Next.js).
Технології обрані відповідно до актуального попиту на ринку.

2️⃣ Learning by doing – Менторство через практику
Те, що я називаю технічним наглядом у компаніях, я оформив у формат для менті: “Get hands-on experience by building real-world skills with a new fullstack web project every two weeks.”

Як це працює:
– Аналізуємо вимоги до продукту або фічі,
– Обираємо технологічний стек (з PoC),
– Проектуємо архітектуру,
– Реалізуємо рішення,
– В кінці кожного циклу ви отримуєте фідбек + еталонне рішення.

Для цього є два дзвінки на місяць зі мною - обговорюємо результати, робимо новий крок.
Створенно для Fullstack-інженерів, або тих, хто рухається у цей бік. Вартість — $250/місяць.
На сьогодні Model Context Protocol (MCP) від Anthropic є де-факто стандартом для передачі структурованого контексту в LLM. Більшість сучасних інструментів та сервісів вже впроваджують або анонсують підтримку MCP.

На цьому тлі починає формуватись нова конкуренція — за протокол взаємодії між агентами. Цього тижня Google анонсував Agent2Agent (A2A) Protocol, який має забезпечити повноцінну взаємодію агентів у складних корпоративних середовищах з ізольованими системами та даними. На ринку вже є альтернативи, зокрема Agent Communication Protocol від IBM / LF Projects, і цілком можливо, що з’являться нові гравці.

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

image by Matt Pocock
Ось ще один цікавий скріншот. Колега з США тестує моделі цим промптом (підкресленим червоним), щоб перевірити, наскільки модель ерудована. На скріншоті використовується terminal з llm.datasette.io
26.04.202520:20
Бабич записав відео як він спробував вайбкодинг.
Сергій, як завжди, харизматичний, але його постановка експериментів — це якась “срака-матика”.

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

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

Тож, чекайте відео на моєму каналі вже найближчими днями.
21.04.202516:50
Переглядаючи новини за минулий тиждень, я побачив цікавий момент, пов’язаний із інструментами на основі AI. OpenAI веде переговори щодо придбання Windsurf. Оцінка – 3 мільярди доларів.

Якщо угода відбудеться, що це означатиме для нас, як для розробників? Посилення конкуренції в інструментах для розробників, включно з потенційною зміною лідера. Мій довгостроковий прогноз щодо лідера довгий час залишався незмінним: VS Code + GitHub Copilot. Ця команда випускає функції повільніше, але робить це якісніше та з кращим користувацьким досвідом.

Різниця між конкуренцією Microsoft проти стартапів (на кшталт Cursor, Windsurf тощо) і конкуренцією Microsoft проти OpenAI буде суттєвою. Попереду – боротьба екосистем. Тому нагадаю собі й вам також:
Ми обираємо не один інструмент або фреймворк, а цілу екосистему та спільноту
source
17.04.202515:25
Давно не проводив #like_and_share. Мета гри - поділитися своїм досвідом та дізнатися про досвід інших учасників. Правила:

1. Публікація в каналі визначає тему. Сьогодні це MCP servers.
2. У коментарях кожен може залишити посилання на MCP server i коротко описати, чим цей сервер корисний у повсякденній розробці.
3. Учасники голосують, використовуючи лайки. Не ставте негативні лайки, бо вони також зараховуються як позитивні.
4. У понеділок ми підведемо підсумки на YouTube-стрімі, де я зроблю огляд представлених MCP серверів і тих, які використовую я. Переможець отримає 12-місячну персональну підписку на будь-яке IDE від JetBrains.
09.04.202514:01
Мене там знову запитують про
Загальний тренд це впровадження «АІ як помічника» для збільшення делівері і немає тенденції до зменшення кількості девелоперів?

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

Як зрозуміти, ви інженер чи розробник?
⏳Подивіться, скільки часу ви витрачаєте безпосередньо на написання коду.
Інженер витрачає час, щоб зрозуміти, що потрібно зробити, навіщо це робити, як це декомпозувати, як це алгоритмізувати і мало часу на написання коду.
⚙️Подивіться на ваш технічний стек, як часто він змінюється.
Інженери беруть інструменти, що підходять під задачу, а не обирають задачі під ті інструменти, з якими вони звикли працювати.
🆕Подивіться на те, що ви робите.
Якщо це тисячна форма авторизації чи чергове казино, то навряд чи там є якась інженерна новизна.

На завершення поділюся відео з Las Vegas Sphere. Там Учора Google показав, як вони створюють технологію для адаптації старих фільмів під сферичні екрани. Відео не передає і десятої частини вражень. Інженерні задачі, які їм довелося вирішувати, значно складніші, ніж просто розфарбувати чорно-біле кіно чи підвищити якість зображення.
Цікава переписка про learning by doing в сучасних умовах.
30.04.202515:16
Учора вийшло оновлення на NotebookLM, яке дозволяє робити аудіо-огляди багатьма мовами, в тому числі й українською.

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

Я прикріпив згенерований подкаст на основі відео Бабича. Це звучить чудово!

А всього два місяці тому я тестував створення аудіо українською мовою та на ринку не було нічого якостного. За два місяці ми маємо українську у OpenAI та Google.
Цього тижня я займався рефакторингом Fastify-застосунку.
Fastify дає максимальний контроль: жодної “магії” – усе будуєш власноруч. Саме тому кожна команда створює застосунок на основі своїх принципів (конвенцій). Найчастіше ці принципи ніде не задокументовані, через що кодова база дуже швидко стає неузгодженою.

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

Але тепер я точно знаю: працюючи на проекті без фреймворка, де є лише набір інструментів (toolset), я обов’язково починатиму з фіксації conventions.

А як пройшов ваш тиждень?
21.04.202514:02
Цікавий результат у #like_and_share MCP.
Переможцем став Bohdan з його коментарем
не юзаю жодного МРС 😢

Виходить, що запланований стрім по огляду MCP серверів не актуальний.
16.04.202515:32
Навіщо потрібен пакет sentences-per-line?

Сьогодні хочу порекомендувати вам пакет, але спочатку поясню, навіщо він потрібен. Почнемо з документації.
Стандартним форматом документації в розробці є Markdown. Причому ми все частіше пишемо її не лише для інженерів, а й для LLM. Приклади – .cursor/rules, copilot-instructions.md. Важливо підтримувати документацію в актуальному стані. Її оновлення завжди було частиною Definition of Done, але зараз це стало простіше – багато завдань можна делегувати AI-агентам. Нам залишається лише зробити ревʼю.

Під час ревʼю виникає проблема: великі абзаци складно перевіряти. Звичайні Markdown-лінтери не вирішують цю задачу. І тут на допомогу приходить пакет sentences-per-line:
- Кожне речення – на окремому рядку. Якщо потрібно, можна скористатися auto-fix.
- Зміни стають читабельними: diff показує, що саме змінилося на рівні речення.
- При цьому Markdown автоматично обʼєднує рядки в один абзац, тож візуально нічого не змінюється.

Пакету вже понад 7 років. Дивно, чому цей пакет досі не додали як частину markdownlint. Переглянути приклади конфігурації пакета можна у автора Josh Goldberg, наприклад, тут.

Якщо ви хочете, щоб ваша документація була зручною для ревʼю та адаптованою до сучасного дев-процесу, sentences-per-line – обовʼязковий інструмент.
09.04.202513:05
Сьогодні стартує Google Cloud Next. Я приїхав раніше, щоб взяти участь в GDE Mini-Summit. Нас (Google Developer Experts) і product manager-ов з Google зібрали, щоб поділитися анонсами та планами розвитку продуктів, а також зібрати відгуки. Поділюсь частиною своїх інсайтів за вчорашній день.

AI Related:
- Більшість не використовують Fine Tuning, натомість користуються Few-Shot Prompting.
- У Google немає визначення AI-агента, хоча мають інструменти для їх створення, причому не один.
- AI is game-changer, but we are only learning new rules.
Development:
- Shift left is for suckers. Shift down instead
- Успішність вашої команди та технологічного стека визначається кількістю продуктових експериментів, які ви можете провести за одиницю часу.
Хочу нагадати вам про дві речі:
1️⃣ Маніфест 12 факторів говорить: Store config in the environment
2️⃣ process.env — це не звичайний JavaScript об’єкт, а обгортка над C++ кодом, яка забезпечує доступ до змінних середовища на системному рівні.

Тому кешуйте доступ до process.env через проміжну змінну, а не звертайтесь до нього при кожному запиті до вашого API.

У цьому допоможуть:
- NestJS: Cache environment variables
- ESLint-правило n/no-process-env
Обіцяний відео-розбір на каналі вже завтра.
24.04.202516:46
Команда Node.js опублікувала в блозі звіт про Test CI Security Incident
The reported issue did not impact the Node.js runtime and there is no risk to users of Node.js

Тобто проблему вже вирішили, і команда розповідає деталі інциденту.

🔍 У чому була проблема?
У конфігурації CI/CD знайшли вразливість класу TOCTOU (Time-of-Check-Time-of-Use) — ситуація, коли перевірка коду відбувається до його фактичного виконання, і зловмисник встигає підмінити код між цими етапами. Нею скористались і заразили кілька серверів, на яких запускався CI/CD. Детальніше

⚖️ Цей інцидент добре ілюструє вічну дилему “Security vs. Developer Experience”.
Команда прямо заявляє:
“Існуючий дизайн CI-системи враховує можливість компрометації, визнаючи необхідність балансу між безпекою та зручністю для розробників.”

Тобто для Node.js team це не “або-або”, а постійний процес пошуку балансу. Тому що при занадто жорсткій безпеці розробники перестають контриб’ютити, а при занадто м’якій – виникає ризик компрометації інфраструктури.

✅ Висновок:
Цей кейс — приклад відповідального, прозорого підходу до безпеки в опенсорс-екосистемі. Node.js не створює ілюзію ідеального захисту, а замість цього будує стійку систему, де можливі загрози передбачені, контрольовані і публічно обговорюються. У продуктовій розробці також варто використовувати ті ж принципи.
19.04.202515:09
Дві хронічні помилки, через які ваші улюблені фічі зникають із інструментів

1️⃣Не навчаєте колег користуватися улюбленими фічами
Дистанційна робота знизила популярність парного програмування. Хоча, парадоксально, з’явились чудові інструменти для цього — від Code With Me до Tuple.
Парне програмування — це можливість підгледіти круті патерни використання інструментів у колеги або, навпаки, показати йому фічу, яку обожнюєш сам.
🔁 Використовуйте цей формат частіше. Це інвестиція не лише у команду, а й у виживання ваших улюблених можливостей.

2️⃣Вимикаєте збір телеметрії
Багато сіньйорів вимикають збір телеметрії — і в IDE, і в інших інструментах. Але мова не про “злив даних для чергової LLM”, а про анонімну статистику використання фіч: що, коли і як часто використовується.
Вимикання збіру телеметрії не має сенсу:
✅ телеметрія не навантажує мережу або CPU;
✅ вона дозволяє інженерам, які розвивають інструменти, ухвалювати проактивні рішення на основі даних;
❌ без неї фічі зникають “бо ніхто не користується”. Хоча користуються — просто без сліду.

Цей пост — реакція на обговорення фічі modal commit, яку винесли в окремий плагін, і розмову з інженером JetBrains на Google Cloud Next’25. У них багато техборгу, і фічі, які виглядають “непопулярними” за телеметрією, вони змушені виносити або прибирати.
15.04.202513:13
На цьому тижні OpenAI надала безкоштовний доступ до ChatGPT 4.1 через API. Інструменти для розробників, такі як Cursor, Windsurf та GitHub Copilot, вже інтегрували це. Рекомендую спробувати!

Якщо ви ще не працювали з жодним з цих інструментів, то у кожного з них є безкоштовний тариф щоб разпочати. Але я привіз з Google Cloud Next промо-код на місяць безкоштовного користування Windsurf Pro. Тому рекомендую спробувати саме його.
Вводити промокод необхідно на сторінці checkout у Stripe. Підписку можна відключити одразу. Потрібна дійсна кредитна картка.
Для тих, хто вже користується Windsurf, можна відключити підписку і включити її знову, використавши промокод.
🔗 Вебсайт windsurf.com
💰Промокод gcn2025
04.04.202515:50
1 квітня Amazon анонсував MCP Servers, і це була не жартівлива новина. По суті, це зручна заміна AWS CLI, яка значно прискорює процес розробки. Проєкт поки що перебуває у глибокій альфа-версії, але я вже протестував його разом із Claude Desktop та Cursor і хочу поділитися власними враженнями.

При використанні Cursor ефективність виявилась нижчою через те, що змішувалися код, архітектура та інфраструктура. Була ідея налаштувати кастомний режим, але я вирішив цього не робити і переключився на Claude Desktop. Там мені вдалося зосередитись виключно на одному рівні й успішно вирішити кілька робочих завдань, не покидаючи інтерфейсу Claude. Вони були пов’язані з Visual Prompt Engineering, але це зовсім інша історія.

Короткий огляд AWS MCP серверів:

🔸Core MCP Server – відповідає за підключення та конфігурацію інших MCP серверів, а також забезпечує логування. Ідея окремого сервера для керування всією екосистемою мені сподобалася.
🔸AWS CDK MCP Server – генерує інфраструктуру як код (IaC), дотримуючись рекомендацій AWS Well-Architected. Особисто не тестував, бо використовую Terraform, лише переглянув source code. CDK підтримує багато ресурсів, включно з Lambda Powertools. Планую повернутись до нього під час запуску наступного проєкту на serverless AWS, щоб додатково протестувати AWS Lambda Powertools (TypeScript).
🔸Nova Canvas MCP Server – дозволяє створювати зображення. Саме цей сервер я використовував найактивніше, щоб протестувати кілька гіпотез на моделі від AWS Nova Canvas.
🔸Cost Analysis MCP Server – створений для аналізу та оптимізації витрат на AWS. Конкретних завдань із ним ще не вирішував, перше враження не дуже. Проте сама ідея дуже корисна, і як тільки вийде стабільна версія, планую активно застосовувати його під час архітектурних рев'ю.
🔸Bedrock Knowledge Base Retrieval – сервер для роботи з Amazon Bedrock Knowledge Bases. Поки не маю проєктів із Bedrock KB, тому навіть не переглядав source code.

Корисні посилання:
🔗 Офіційний анонс на AWS Blog
🔗 AWS MCP Servers на GitHub
🔗 Для встановлення більшості Python-based MCP серверів потрібен uv (сучасний Python package manager)

Резюме:
MCP Servers — перспективні інструменти, які вже зараз варто вивчати та пробувати застосовувати у своїх проєктах, а цей AWS проєкт хороший вибір для цього.
Shown 1 - 24 of 687
Log in to unlock more functionality.