Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Node.js Recipes avatar

Node.js Recipes

Тэхналогіі
По буднях нотатки по #Nodejs розробці, по вихідним огляди конференцій та доповідей (с) @galkin_nikita
Рэйтынг TGlist
0
0
ТыпПублічны
Вертыфікацыя
Не вертыфікаваны
Надзейнасць
Не надзейны
РазмяшчэннеУкраїна
МоваІншая
Дата стварэння каналаFeb 07, 2025
Дадана ў TGlist
Jun 13, 2023
Прыкрепленая група

Папулярныя публікацыі Node.js Recipes

26.04.202520:20
Бабич записав відео як він спробував вайбкодинг.
Сергій, як завжди, харизматичний, але його постановка експериментів — це якась “срака-матика”.

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

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

Тож, чекайте відео на моєму каналі вже найближчими днями.
02.04.202517:14
Використання AI інструментів (ChatGPT, GitHub Copilot, Cursor, etc) створює проблему необхідності ручного копіювання деталей контексту з одного інструмента в інший. Конкретний приклад: копіювання деталей дизайну з Figma у вашу IDE для реалізації. Model Context Protocol (MCP) чудово вирішує цю проблему.

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

Ось три посилання, щоб дізнатися, що таке MCP:
- https://modelcontextprotocol.io/
- https://addyo.substack.com/p/mcp-what-it-is-and-why-it-matters
- https://www.aihero.dev/model-context-protocol-tutorial

Ось дві ключові MCP новини, які потрібно знати сьогодні:
- OpenAI буде підтримувати MCP у своїх продуктах. https://x.com/sama/status/1904957253456941061
- Вийшла нова версія MCP specification з підтримкою OAuth 2.1. https://spec.modelcontextprotocol.io/specification/2025-03-26/changelog/

Та ось ще один протокол, який, можливо, стане стандартом:
- Agent Communication Protocol ACP – https://docs.beeai.dev/acp/alpha/introduction
Цього тижня я займався рефакторингом Fastify-застосунку.
Fastify дає максимальний контроль: жодної “магії” – усе будуєш власноруч. Саме тому кожна команда створює застосунок на основі своїх принципів (конвенцій). Найчастіше ці принципи ніде не задокументовані, через що кодова база дуже швидко стає неузгодженою.

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

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

А як пройшов ваш тиждень?
15.04.202513:13
На цьому тижні OpenAI надала безкоштовний доступ до ChatGPT 4.1 через API. Інструменти для розробників, такі як Cursor, Windsurf та GitHub Copilot, вже інтегрували це. Рекомендую спробувати!

Якщо ви ще не працювали з жодним з цих інструментів, то у кожного з них є безкоштовний тариф щоб разпочати. Але я привіз з Google Cloud Next промо-код на місяць безкоштовного користування Windsurf Pro. Тому рекомендую спробувати саме його.
Вводити промокод необхідно на сторінці checkout у Stripe. Підписку можна відключити одразу. Потрібна дійсна кредитна картка.
Для тих, хто вже користується Windsurf, можна відключити підписку і включити її знову, використавши промокод.
🔗 Вебсайт windsurf.com
💰Промокод gcn2025
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/місяць.
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 – обовʼязковий інструмент.
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 не створює ілюзію ідеального захисту, а замість цього будує стійку систему, де можливі загрози передбачені, контрольовані і публічно обговорюються. У продуктовій розробці також варто використовувати ті ж принципи.
21.04.202514:02
Цікавий результат у #like_and_share MCP.
Переможцем став Bohdan з його коментарем
не юзаю жодного МРС 😢

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

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

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

image by Matt Pocock
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 проєкт хороший вибір для цього.
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, що вимагає додаткової уваги до безпеки.
21.04.202516:50
Переглядаючи новини за минулий тиждень, я побачив цікавий момент, пов’язаний із інструментами на основі AI. OpenAI веде переговори щодо придбання Windsurf. Оцінка – 3 мільярди доларів.

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

Різниця між конкуренцією Microsoft проти стартапів (на кшталт Cursor, Windsurf тощо) і конкуренцією Microsoft проти OpenAI буде суттєвою. Попереду – боротьба екосистем. Тому нагадаю собі й вам також:
Ми обираємо не один інструмент або фреймворк, а цілу екосистему та спільноту
source
01.04.202519:18
Мене в особистих повідомленнях запитали:
…Останні 7-8 років я працював в одній фірмі, невелика інтернет студія…
Хотів би запитати вашу думку:
На які компанії зараз варто звернути увагу?
Що ви думаєте про фріланс-платформи типу Fiverr, Toptal, Upwork? Чи варто пробувати та які є плюси/мінуси?

Ця тема цікавить багатьох, тому відповідаю публічно.

Про фріланс-платформи:
Щоб досягти успіху на платформах на кшталт Fiverr, Toptal чи Upwork, потрібно мати дві речі:
👉 Чітка спеціалізація: підтверджений досвід у конкретній сфері, наприклад, розробка сайтів у певній ніші, створення 3D-анімації, налаштування веб-аналітики тощо. Важливо чітко представляти цю спеціалізацію як на платформі, так і на власному сайті чи в соцмережах.
👉Репутація/рейтинг: історія успішно виконаних замовлень, відгуки та рекомендації від клієнтів.

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

Фріланс має свою особливость. Це не довстроково, тому що:
👉 Або ви залишаєте цю справу через брак замовлень чи складнощі;
👉 Або знаходите постійних клієнтів і перестаєте активно шукати нових. Просто працюю з постійними клієнтами на прямих контрактах без фрілансу
👉 Або той 0.1% намагається масштабуватись, наймаючи працівників і, по суті, створюючи бізнес.

Про як обирати компанію для роботи:
Зараз ринок праці належить роботодавцям, тобто в працівників не так багато вибору. Проте, нагадаю
⚠️Працюйте в тих компаніях, де ваша цінність на ринку зростатиме завдяки або технічному стеку, або перспективному бізнес-домену.

Для оцінки перспективності домену можна скористатися ChatGPT у режимі DeepResearch і визначити, чи збільшуються витрати кінцевих клієнтів у конкретній ніші. Наприклад, український стартап OnlyMonster.ai автоматизує процеси для OnlyFans-індустрії, яка зараз швидко зростає.

Щодо технічного стеку, звертайте увагу на компанії, що використовують сучасні технології: Cloud Native, AI, Data-driven рішення тощо.
09.04.202514:01
Мене там знову запитують про
Загальний тренд це впровадження «АІ як помічника» для збільшення делівері і немає тенденції до зменшення кількості девелоперів?

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

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

На завершення поділюся відео з Las Vegas Sphere. Там Учора Google показав, як вони створюють технологію для адаптації старих фільмів під сферичні екрани. Відео не передає і десятої частини вражень. Інженерні задачі, які їм довелося вирішувати, значно складніші, ніж просто розфарбувати чорно-біле кіно чи підвищити якість зображення.
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
- Успішність вашої команди та технологічного стека визначається кількістю продуктових експериментів, які ви можете провести за одиницю часу.
Увайдзіце, каб разблакаваць больш функцый.