Node.js Digest #2: npm та соціальна інженерія, LLM в Node.js розробці, чергові оновлення та критика CommonJS
Усі статті, обговорення, новини про Front-end — в одному місці. Підписуйтеся на телеграм-канал!
Усім привіт, мене звати Олександр Зіневич, я працюю Engineering Director (Node.js, Ruby) в компанії Avenga. Пропоную вашій увазі другий випуск дайджесту з новинами, цікавим та корисним контентом про Node.js.
Коротко про головне
Prisma 5 — нова версія популярної ORM. Якщо коротко, то основні зміни стосуються покращення швидкодії Prisma в цілому. Команда проробила велику роботу і перейшла на jsonProtocol за замовчуванням у Prisma Client. Завдяки цьому, а також іншим покращенням, вдалось досягнути дуже хороших показників по швидкодії.
На ютубі вже є відео, в якому детальніше говорять про нову версію з представниками Prisma.
Bun 0.7 тепер має ще більше сумісності з Node.js та Node.js екосистемою. В експериментальному режимі додали підтримку Vite, імпементнули Web Workers, а також додали прапорець — smol, щоб Bun працював у середовищах з обмеженою пам’яттю.
Deno 1.35.3 — цього місяця Deno також отримав декілька оновлень, що містили усілякі фікси та покращення. Детальніше тут.
Prettier 3.0. З ключових змін: міграція на ECMAScript Modules і зміна значення за замовчуванням для trailingComma (тепер буде all). Детальніше про те, що нового і що змінилось, можна почитати тут.
Список найкращих практик з Node.js отримав значне оновлення у липні. Планую розпочати роботу над українською версією цих рекомендацій, хто має бажання допомогти, пишіть у коментарях 😉.
Велике оновлення сайту Node.js
Спойлер: не велике 🙈
Офіційний твітер-акаунт Node.js оголосив, що завершився довгий процес переходу основного сайту Node.js на новий техстек. Тепер це все працює на Next.js і Vercel. Особливих візуальних оновлень немає, проте, як завжди, нам обіцяють багато надійності, швидкодії та інших покращень у новій версії.
Сподіваємось, що візуальні зміни також будуть та поширяться на частину з документацією, бо те, як вона виглядає станом на 2023 рік, вже трішки (сильно 🙂) застаріло.
Ну, а поки можете сміливо тестувати новий сайт та писати під твітом за посиланням, якщо знайдете якісь несправності.
Оновлення Node.js
Типово цього місяця були релізи оновленнь для Node.js різних версій.
Остання актуальна версія Node.js 20 — 20.5.0 не мала багато нового, проте у попередній версії 20.4.0, що також вийшла в липні, все було трішки цікавіше.
Крім усіляких покращень та виправлень, ця версія принесла нам нове MockTimers API, що дозволяє мокати setTimeout та setInterval. Крім цього, завезли початковий супорт explicit resource management, а тому тепер можна використовувати Typescript-овий using.
А ще, був реліз Node.js v18.17.0, де оновили URL парсер Ada, а також завезли оновлення до Web Crypto API 💻.
Привіт з Північної Кореї
У минулому дайджесті ми вже згадували про вразливість npm-екосистеми і ось npm знову використовують для хакерських атак.
Цього разу спільноті користувачів npm передають вітання представники раніше невідомої хакерської групи з Північної Кореї. У липні Github сповістили про нову атаку, спрямовану на працівників технологічних компаній.
Якщо коротко, то хакери створювали фейкового користувача у LinkedIn, Telegram тощо. Цей фейковий користувач виходив на контакт з потенційною жертвою і пропонував попрацювати над репозиторієм у Github. Жертва клонувала репозиторій і встановлювала усі необхідні npm-залежності, деякі з яких містили шкідливе програмне забезпечення. Детальніше можна почитати тут.
Від себе додам, будьте обачні і уважно слідкуйте за тим які npm-залежності використовуєте, бо можна випадково додати у свою команду колег з Північної Кореї 🙂
2023 State of API Report
Компанія Postman опублікувала результати свого
Увесь звіт можете переглянути тут, а я хотів би лише звернути вашу увагу на окремі теми.
Наприклад: близько 65% респондентів зазначили, що використовують інструменти штучного інтелекту при написанні API:
Також респонденти відзначили, що коли девелопер йде з проєкту, то найбільшою проблемою є застаріла документація, а також зомбі API, про які всі забувають та не підтримують належним чином:
Щось подивитись
У червні пройшла конференція Node Tel-Aviv, і вже почали викладати записи доповідей, їх можна переглянути тут. Мені було цікаво подивитись доповідь від Adir Amsalem про написання CLI додатків на Node.js, а також про ESM Loaders: Enhancing Module Loading in Node.js від Gil Tayar.
Вже доступні записи доповідей з останньої конференції JSNation 2023. Звісно, не все там буде цікаво власне Node.js розробникам, але мені особливо сподобались дві доповіді:
- Матео Колліни про ORM — «I Would Never Use an ORM»;
- про штучний інтелект та веброзробку — «AI and Web Development: Hype or Reality».
Тут повний список доповідей з цієї та минулих конференцій.
Якщо ви ще не знайомі з Edge Computing, то вам точно буде корисною доповідь Александра Карана про те, що ж таке той Edge Computing та як це можна використовувати.
У Віктора Турського вийшло перше відео з серії «про те, як працює інтернет». Буде точно корисним освіжити свої знання в цій темі тим, хто знає, і дасть можливість розібратись тим, хто ще не розбирався 😉
Вийшов новий випуск Техревені, де ми з колегами обговорюємо сучасні тенденції переходу з десктопу у веб, з вебу у десктоп і технології, що пов’язані з цим всім.
А у цьому відео Ерік Вендел створює свій власний лінтер 🤯
Щось почитати
Andy Jiang з команди Deno вирішив закинути не те що камінь, а таку добрячу жменю каміння в город Node.js, а саме: системи CommonJS, назвавши її тягарем, від якого потрібно терміново відмовлятись. Детальніше почитати можна тут.
На офіційному сайті Typescript в документації активно оновлюють сторінку ECMAScript Modules in Node.js, де розповідають про підтримку цієї технології у Typescript.
Не розумієте, для чого в Node.js додали нативний test runner? Colin J. Ihrig опублікував свої роздуми на цю тему. Вони допоможуть сформувати правильні очікування і розуміння, для чого потрібен нативний test runner.
У блозі компанії AppSignal розповідають про те, як можна інтегрувати Fastify з їхньою системою. І хоч з їх сторони це трішки реклама, але загальний підхід може використовуватись і з іншими платформами.
Бібліотека місяця
Головною новиною місяця стало, звісно, те, що ChatGPT 4 став тупіший, проте сам хайп і надії, що покладають на LLM, нікуди не зникли. Node.js спільнота цього місяця також зазнала впливу в цій темі.
Microsoft викотили бібліотеку TypeChat, що дозволяє структурувати відповіді, які дає OpenAI API. Ми могли й раніше явно описати, у якому вигляді нам потрібна відповідь, простий список чи JSON. По суті TypeChat автоматизує та інкапсулює цей процес.
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів