Node.js Digest #4: маскот для Node.js, місяць з Bun, новини Deno та Cloudflare
Зустрічайте новий дайджест за вересень.
Коротко про головне
🔹 Node v20.8.0 — як завжди, купа покращень та виправлень.
🔹 Deno Queue — команда Deno продовжує розвивати свою платформу та випускати новий цікавий функціонал.
🔹 Deno v1.3.7 — Jupiter Notebooks, покращення до розширення у VSCode, testing API та сумісності з Node.js.
🔹 Prisma v.5.4.1 — у цій та попередній версіях додали підтримку кількох Serverless баз даних (PlanetScale, Neon, ранню підтримку Turso) та інші покращення.
🔹 Google Cloud SQL Node.js Connector — офіційно став публічним і готовий до використання.
🔹 Github Actions повністю переходять на Node.js v20* до весни 2024 року.
🔹 Serverless framework еволюціонував в ampt.
Маскот для Node.js
Нічого не віщувало біди, але схоже, що в найближчому майбутньому Node.js матиме свого власного маскота, як Bun чи Deno. В офіційному Github репозиторії почалась дискусія на цю тему з ідеями, побажаннями та пропозиціями. Як це часто буває, все почалось з твітера, а потім перейшло на гітхаб, де Матео Коліна запропонував переосмислити попереднього маскота Node.js та зробити його офіційним. Для тих, хто не в курсі, попередній маскот — це ось це:
У цьому ж треді розробники та представники спільноти почали ділитись своїми варіантами та думками на тему нового маскота Node.js. У хід пішли як і фантазії розробників, так і Midjourney. Що з цього вийшло, можете переглянути тут. Додам лише спойлер: там є капібара 🦫.
Що вибере OpenJS Foundation і який саме процес для цього буде потрібний — побачимо в майбутньому.
Node.js після появи Bun
На момент публікації цього дайджесту ми вже трішки більше ніж місяць живемо з так званою production-ready версією Bun. Наразі вже зрозуміло, що далеко не на всіх проєктах можна з легкістю замінити Node.js на Bun, переваги в перфомансі не завжди вагомі, а на офіційному репозиторії Bun уже більш ніж 1.8К зареєстрованих тікетів.
За цей час команда Node.js зазнала досить серйозної критики у твітері через те, що буцімто не приділяли достатньої уваги швидкодії Node.js і загалом розвитку середовища:
Через це дехто з контрібьюторів був змушений відповідати та пояснювати, чому ситуація з Node.js виглядає саме так, як виглядає:
Матео Коліна взагалі зі свого твіта зробив окремий пост у блозі, де поділився думками про Bun і чому все так з Node.js. А Тео Браун випустив відео, у якому виступив на захист команди Node.js та висловив своє бачення щодо Bun.
Зі свого боку додам, що, на мою думку, Bun може бути великим імпульсом для розвитку Node.js. Саме тому на офіційному гітхабі Node.js ми можемо спостерігати появу ось таких пропозицій.
До речі, минулого тижня на DOU вийшла стаття з детальнішим оглядом та порівнянням Bun i Node.js.
Cloudflare і нова цінова політика
Cloudflare пробує завойовувати нові частки Serverless ринку й анонсує зміну цінової політики. Тепер розробники будуть платити лише за час CPU і не платитимуть за час, який витрачається на очікування відповіді від стороннього API чи на інші I/O операції. У старій моделі, коли є якась операція, у якій ви готуєте дані й, відправивши на сервер, чекаєте 200 мілісекунд, а потім ще 2 мілісекунди опрацьовуєте, платити доводилось за всі 207 мілісекунд.
Тепер, згідно з оновленою ціновою політикою, платити потрібно буде лише за 5 та 2 мілісекунди. Різниця відчутна, цікаво, яку долю ринку це принесе для компанії Cloudflare 🤔.
Обережно з залежностями, тепер не тільки npm
У своєму новому звіті команда Phylyum розповідає про те, що атаки через залежності npm не тільки продовжуються, а ще й набирають обертів і переходять на нові екосистеми, як от PyPi. Усе працює схожим способом, як я вже згадував у попередньому дайджесті, тільки тепер ціллю зловмисників додатково є SSH-ключі та kubeconfig-файли.
Детальніше про те, як це відбувається і які саме пакети вже помічені в атаці, можете почитати за посиланням вище, а від себе додам, що ніхто так не вбереже вас від небезпечних залежностей, як ви самі, тому стежте за тим, що встановлюєте 😉
З хороших новин: у боротьбу зі шкідливими пакетами вступає Github, про це можна почитати у їхньому блозі тут і тут.
Щось подивитись
- Вибачте, але ще трішки про Bun. Цікаве відео, де можна побачити Bun в дії:
- Сьогодні ми дожились до того, що документалки виходять не лише про природу, бактерії, історію тощо, а й про Typescript:
- Luca Mezzalira традиційно розповідає про AWS і все що з ним пов’язано. У своїй новій доповіді він докладніше розповідає про AWS Lambdas та як вони побудовані всередині:
- Давно в нас нічого не було про патерни. У цьому відео трішки про Data Streaming патерни:
- На каналі Severless Land вийшло кілька цікавих стрімів:
- Коротко про те, що таке ідемпотентність:
Щось почитати
🔹 Усі говорять про Bun на сервері, але мало хто говорить про те, як це працює у Serverless архітектурі. Мітчел Коссоріс вирішив дослідити це питання і навів свої бенчмарки.
🔹 Дуже цікавий погляд на Bun через історію появи та розвитку Yarn. Можна погоджуватись не з усім, але точно варто ознайомитись як з самою статтею, так і з коментарями.
🔹 Огляд того, що може увійти у новий TypeScript 5.3. Можливо, у цю версію вже ввійдуть навіть Import Attributes.
🔹 Cтаття про те, як можна подружити AWS Step Functions і Node.js.
🔹 Нова стаття на тему того, що ж не так з чинною Javascript екосистемою від Martin Hagemeister. Цього разу йдеться про поліфіли та їхній вплив на кількість залежностей.
🔹 Трохи офтоп, але це просто гарно. Github додали трохи інфографіки з коммітами, контриб’юторами, репозиторіями тощо, переглянути можна тут.
🔹 Основні правила налаштувань безпеки у роботі з Node.js.
🔹 Трішки деталей про те, як будували Deno KV з FoundationDB з деякими відповідями на питання для чого це та чому зробили саме так.
Бібліотека місяця
Хочете мати thread pool, але з воркерами в Node.js? Тоді бібліотека workerpool саме для вас. Вона дозволяє створити такий собі пул воркерів і ефективно з ними працювати.
На цьому все. Якщо є якісь побажання до того, що ви хотіли б додати в дайджести, чи що варто покращити, пишіть про це в коментарях 🙌
1 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарів