Node.js Digest #6: новини Deno, оновлення та інсайди Node.js, npm знову атакують

Усі статті, обговорення, новини про Front-end — в одному місці. Підписуйтеся на телеграм-канал!

Привіт, спільното! Зустрічайте новий, різдвяний дайджест👇

До речі, сподіваюсь, усі памʼятають, що в грудні річниця JavaScript? Якщо ні, то швидше читайте дайджест, аби поностальгувати й про новинки у світі Node.js дізнатись!

Коротко про головне

🔹 Як завжди, оновлення у Node.js. Цього разу нова версія v.21.4.0 містить оновлення для fs.writeFileSync, що робить цю функцію до 2,5 разів швидше, ніж раніше. Також оновлення отримали v.20.10.0(LTS) та v.18.19.0(LTS).

🔹 Нова версія Prisma v.5.6.0 містить фікси для Prisma Client, Prisma Migrate та driverAdapters, зарелізаних у 5.4.0 версії, а також нову команду prisma debug.

🔹 Команда drizzle-orm зарелізала нову версію однієї з найпопулярніших ORM у світі Node.js. Зроблено багато роботи, а з детальним списком усіх покращень та нововведень версії 0.29.0 можете ознайомитись тут.

🔹 Відбувся офіційний реліз Typescript 5.3. З переліком усіх нововведень, а також з breaking changes можна ознайомитись в офіційному анонсі.

🔹 Фреймворк Serverless анонсували, що у новій версії v.4 буде додана підтримка так званих розширень (extensions). Зі слів авторів, у найближчому майбутньому буде створено такий собі маркетплейс, у якому можна буде придбати екстеншини для різних потреб, наприклад, готової інтеграції з AI-сервісами, розгортання вебсайту на AWS тощо. Можливість розробляти такі екстеншини та резервувати імена надається вже. Тож, хто хоче пасивний дохід, скоріш читайте про новий функціонал тут, чи дивіться коротке ревʼю тут.

🔹 Node.js 20.x тепер доступний в AWS Lambda та AWS Lambda@Edge. Більше деталей у блог пості AWS.

Річниця JavaScript

4 грудня 1995 року було опубліковано пресреліз, у якому компанія Netscape анонсує появу JavaScript як нової мови для кастомізації застосунків у мережі «Інтернет», 28 гігантів того часу виразили свою підтримку.

Можливо, це не є повноцінним днем народження, але точно є визначною датою для всіх нас — спільноти, яка працює з JavaScript на фронтенді та бекенді, для побудови мобільних та десктопних застосунків, написання тестів чи опису інфраструктури. Сам пресреліз доступний в архіві.

Deno Cron

Платформа Deno не стоїть на місці й майже в кожному дайджесті ми згадуємо про те, як вони пробують перевинайти колесо спростити веброзробку. Цього разу вони розробили свій власний механізм для написання крон джоб — Deno Cron. На момент написання дайджесту цей функціонал доступний лише з прапорцем --unstable, проте вже працює з Deno Deploy, а також візуалізується на Deno Dashboard, де ви зможете переглянути свої джоби, інформацію про них та інформацію про останній та наступний запуски.

Як і зазвичай, з боку коду все просто, елементарна джоба може мати ось такий вигляд:

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

Оскільки фіча нова, то команда Deno активно просить спільноту поділитись фідбеком, що спільнота і робить ось тут. А більше про саму фічу можете почитати тут.

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

Інсайди Node.js

Матео Коліна у своєму блозі поділився тим, що на крайньому неофіційному саміті співавторів в рамках конференції NodeConf.eu вони з колегами зрозуміли, що для ухвалення окремих рішень їм бракує розуміння, які версії Node.js і на яких системах використовуються. Саме тому Матео підготував відповідну статистику.

Перша і чи не найбільша проблема, яку можна побачити одразу, — це те, що користувачі не оновлюють Node.js вчасно. Саме тому в кожному дайджесті я нагадую, що вчасні оновлення — це запорука безпеки та стабільності ваших застосунків 😉

Інакшим цікавим спостереженням є те, що користувачі, які використовують Windows, не так мало, як може здаватись:

Крім цього, у січні був рекорд з завантажень Node.js, а саме — 131 мільйон.

З повною статтею, а також посиланнями на різні виступи Матео можете ознайомитись тут.

Npm vs Хакери

Дуже цікавий кейс про хакерську атаку з використанням npm розповіла команда Phylum. На початку листопада в поле їхнього зору потрапили деякі пакети, що були опубліковані в npm і містили зашифрований blob, розшифрувати який було можливим лише використовуючи деякі локальні машинні дані. Детальніше про те, як це все працювало, можете прочитати тут.

Із цікавого: ці пакети виявились не хакерськими, а псевдохакерськими, оскільки їх розробила спеціалізована команда (red team), яка симулювала хакерську атаку в одній з компаній. Саме в цій історії хепі-енд, бо жодних хакерських дій ніхто не вчинив. Проте це чергове нагадування нам усім про те, що вартує бути обачним з npm-пакетами, які ви використовуєте.

Щось подивитись

  • Оскільки 2023 добігає свого завершення, то рекомендую короткий огляд технологічних трендів які, скоріш за все, будуть популярними у 2024 році:
  • Чому версіонування ендпоінтів є важливим? На каналі Web Dev Cody вийшла відповідь на це запитання:
  • Edge Computing, розгортання застосунків в Edge і т. д. — досить популярна тема у сучасній Node.js розробці (і не тільки). Theo Browne розповідає чому Edge це не завжди гарна ідея:
  • Нещодавно відбувся AWS re:Invent 2023. Як завжди, обговорювали все, що стосується новин AWS, трендів, тенденцій та кращих практик. На офіційному каналі вже доступні відеозаписи, тому раджу виділити трішки часу на перегляд, бо є багато цікавого. Кілька цікавих доповідей:
  • Ще трішки про Serverless та як цей підхід використовують у компанії Lego:
  • Невеликий туторіал про те, як можна побудувати REST API використовуючи Nest.js, Prisma ORM та Neon Posgres:
  • Для підняття настрою рекомендую до перегляду нове відео на каналі ThePrimeTime про те, як покращити швидкодію у Node.js:

Щось почитати

🔹 Bun нікуди не зникав і продовжує активно розвиватись як технологія. У своїй статті Jaffrey Faden ділиться власними роздумами про Bun.

🔹 У блозі компанії AppSignal, як завжди, багато про Node.js розробку, цього разу про профайлінг.

🔹 Цікава стаття про Session Fixation атаку та як цьому запобігти у Node.js.

🔹 Усе ще вважаєте, що JS однопотоковий? Ось вам стаття про те, як досягти багатопотоковості у JS.

🔹 Ще трошки про те, як Deno розвиває свою платформу для монетизації, додаючи все більше нових фіч. Цього разу додали Deno Subhosting, ось відповідний допис в офіційному блозі Deno.

🔹 Luca Mezzalira розповідає про те, як вони покращили старт AWS Lambda. Трішки лонгрід, але буде цікаво всім любителям serverless.

🔹 Liran Tal виступав з доповіддю на конференції Node.js fwdays пару тижнів тому, але сьогодні поділюсь одним із його нещодавніх дописів у авторському блозі про хороші практики для роботи з налаштуваннями у Node.js застосунках.

🔹 Тут невеличкий огляд того, як покращили скейлінг в AWS Lambda аж у 12 разів для окремих кейсів.

🔹 На Hackernoon вийшов великий туторіал про автоматизацію деплойменту додатку на Node.js, який використовує CouchDB, Aptible та Github Actions.

Бібліотека місяця

Цього місяця головна бібліотека від мене — це drizzle-orm. Просто через те, що це українська розробка (що для мене було сюрпризом), яка є одним з головних гравців серед ORM для Node.js. 🇺🇦

Хлопці виступали на грудневому Node.js fwdays і розповідали про те, де зараз їхній продукт і які плани на майбутнє. Маю надію, що хтось з читачів цього дайджесту зміг відвідати подію офлайн. Хто не зміг, очікуйте на публікацію відео на офіційному каналі fwdays, а ще краще — долучайтесь і підтримуйте хлопців з drizzle-orm стаючи спонсорами 😉

Ось і дійшов до кінця останній у цьому році Node.js дайджест. Йду на невелику перерву та повернусь в лютому. Не забувайте ділитись цим дописом з друзями та залишати свої фідбеки в коментарях.

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

Усіх вітаю з різдвяними святами та побачимось у Новому 2024 році!

👍ПодобаєтьсяСподобалось9
До обраногоВ обраному4
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі