DevNotes Live
6 subscribers
84.2K photos
12K videos
195 files
35.4K links
Автоматический агрегатор IT ресурсов в Telegram (@devnotes_robot)
Информация: https://t.me/devnotes_live/121
Download Telegram
Андрей Мелихов на канале ДевШахты опубликовал вторую часть видео, посвящённую Server-Sent Events — "Server-Sent Events: Снимаем ограничения".

В первой части Андрей рассказывал про основные концепции использования API и про решаемые ей задачи (простая альтернатива веб-сокетам, однонаправленный канал связи с сервером). Вторая часть посвящена использованию SSE в реальных проектах.

При использовании SSE поверх первой версии HTTP есть ограничение на максимальное количество подключений к источнику данных — в рамках одной страницы нельзя сделать больше шести подключений. Эту проблему можно обойти переходом на HTTP2. Также при создании подключения с помощью конструктора EventSource нет возможности передать дополнительные HTTP-заголовки, например, для авторизации. Это ограничение можно обойти с помощью кук.

Рекомендую посмотреть видео, если хотите узнать больше подробностей про нюансы работы с SSE.

#api #nodejs #video

https://www.youtube.com/watch?v=v6Fc4FQwNa4
Томас Штайнер написал статью про Storage Foundation API — "High performance storage for your app: the Storage Foundation API".

Современные веб-приложения не могут эффективно и гибко работать с большими массивами данных, сохранёнными на диске, что особенно критично для баз данных и программ редактирования аудио и видео.

Эту проблему призван решить Storage Foundation API. Он предоставляет средства для производительной работы с хранилищем данных и включает себя набор примитивов, работа с которыми напоминает работу с обычной файловой системой. С его помощью можно получать информацию о доступном месте, создавать/удалять/переименовывать файлы, производить запись/чтение данных со смещением и т.п.

На данный момент экспериментальная поддержка Storage Foundation API есть только в Chrome в рамках программы Origin Trial.

#api #chrome #experimental

https://web.dev/storage-foundation/
Forwarded from The Devs
Give me /events, not webhooks.

#article #api
@thedevs

https://kutt.it/55j1UH
Использование AbortController и AbortSignal в Node.js

Джеймс Снелл — контрибьютор Node.js — написал статью про использование AbortController и AbortSignal в Node.js — "Using AbortSignal in Node.js".

Последние два года разработчики Node.js работают над добавлением разных API web-платформы. Результатом этой работы стала реализация AbortController, который появился в стабильной версии Node.js 16.

AbortController и AbortSignal реализуют интерфейс для отмены выполнения асинхронных операций. С его помощью можно прерывать таймеры, асинхронные запросы, отписываться от событий, добавленных с помощью интерфейса EventTarget, который поддерживают некоторые API Node.js. В статье рассказывается о том как использовать AbortController и AbortSignal на примере прерывания асинхронного события по таймауту.

Рекомендую почитать статью всем, так как AbortController доступен не только в Node.js, но и во всех актуальных браузерах.

#nodejs #async #api

https://www.nearform.com/blog/using-abortsignal-in-node-js/
Глубокое копирование объектов с помощью structuredClone

Сурма из Google рассказал про новое API для глубокого копирования JavaScript-объектов — "Deep-copying in JavaScript using structuredClone".

Самым популярным решением для глубокого копирования объектов был JSON-хак:

const myDeepCopy = JSON.parse(JSON.stringify(myOriginal));

Он стал настолько популярен, что в браузерах были добавлены специальные оптимизации для этого хака. На данный момент он остаётся самым быстром способом для быстрого копирования небольших объектов. Однако он не поддерживает копирование объектов с циклическими ссылками, Map, Set, Date, RegExp и ArrayBuffer.

Структурное клонирование — это другое название для глубокого копирования. Оно использовалось браузерами неявно при передаче объектов с помощью postMessage и сохранении объектов в IndexedDB. Новый метод structuredClone открывает удобный доступ к этому механизму клонирования без недостатков JSON-хака:

const myDeepCopy = structuredClone(myOriginal);

Поддержка strucutredClone на данный момент есть в Firefox 94, в nightly-версии Chrome и Safari TP.

#js #api

https://web.dev/structured-clone/
Self-Profiling API на практике

Ник Джансма написал статью про новое экспериментальное API для профилировки производительности сайтов на устройствах пользователей — "JS Self-Profiling API In Practice".

Self-Profiling API предоставляет программный доступ к семплирующему профилировщику для получения детальной информации о выполнении JavaScript-кода у пользователей сайта. API можно использовать как для анализа производительности кода сайта, так и для анализа производительности скриптов внешних сервисов. Проанализировать выполнение кода можно на любом этапе жизни страницы. Доступ к Self-Profiling API включается с помощью HTTP-заголовка Document-Policy: js-profiling. Оно оказывает минимальный эффект на производительность сайта у пользователей.

Несмотря на экспериментальный статус Facebook и Microsoft уже начали использовать Self-Profiling API в своих сервисах для поиска проблем производительности.

На данный момент поддержка Self-Profiling API есть только в Chrome версии 94 и выше.

#performance #api

https://calendar.perfplanet.com/2021/js-self-profiling-api-in-practice/
Тем временем, Claude Code это оказывается уже для нормисов, а модные ребята пересели на более крутую open source упряжь openCode, которая поддерживает любые модели (а не только от anthropic). Ну и конечно есть безумно прокачанный форк от китайцев oh-my-opencode, который прямо сейчас запускают как отдельный сервис, Сизиф. Нейминг как у самолета Антея.

Узнал об этих инструментах из драмы, которая разворачивается прямо сейчас: формально, Anthropic разрешает пользоваться своими моделями с подпиской Pro и Max только внутри своего Claude Code. Пару часов назад, они начали блокировать запросы из openCode, после чего пользователи стали жаловаться, что Claude Code — это каменный век и отменять подписки. При этом модели Anthropic, по словам пользователей, лучше конкурентов. Моделями Anthropic можно пользоваться «по API» без скидок и ограничений, но если платить за каждый запрос — получаются совсем безумные цифры даже для модных вайбкодеров.

Вряд ли Anthropic стал бы бороться с чужими инструментами, будь они хуже родного. Лучшая (и честная) рекомендация от ведущей лаборатории, получается!
Forwarded from Веб-стандарты (Vadim Makeev)
Представляем HTML-элемент <geolocation>. В Chrome 144 появился контрол для декларативного запроса геолокации по клику, который заменяет большинство прямых вызовов Geolocation API, уменьшает объём кода и лучше отражает намерение пользователя. Origin trial ранее показали меньше ошибок, больше успешных сценариев и лучшее восстановление после отказа. #html #api

https://developer.chrome.com/blog/geolocation-html-element
Forwarded from Веб-стандарты (Vadim Makeev)
В интернете снова весело: первые эксперименты с HTML в <canvas>. Амит Шин разбирает экспериментальный API Canvas Draw Element за флагом в Chrome 146, который рисует нативный HTML на <canvas>, сохраняя семантику, формы и взаимодействие. С помощью атрибута layoutsubtree и drawElementImage() он показывает синхронизацию трансформаций, манипуляции пикселями для эффектов цвета и искажений, отклик на движение мыши и WebGL-шейдеры. #html #api

https://frontendmasters.com/blog/the-web-is-fun-again-first-experiments-with-html-in-canvas/