Forwarded from Defront — про фронтенд-разработку и не только (Alexander Myshov)
Андрей Мелихов на канале ДевШахты опубликовал вторую часть видео, посвящённую Server-Sent Events — "Server-Sent Events: Снимаем ограничения".
В первой части Андрей рассказывал про основные концепции использования API и про решаемые ей задачи (простая альтернатива веб-сокетам, однонаправленный канал связи с сервером). Вторая часть посвящена использованию SSE в реальных проектах.
При использовании SSE поверх первой версии HTTP есть ограничение на максимальное количество подключений к источнику данных — в рамках одной страницы нельзя сделать больше шести подключений. Эту проблему можно обойти переходом на HTTP2. Также при создании подключения с помощью конструктора
Рекомендую посмотреть видео, если хотите узнать больше подробностей про нюансы работы с SSE.
#api #nodejs #video
https://www.youtube.com/watch?v=v6Fc4FQwNa4
В первой части Андрей рассказывал про основные концепции использования API и про решаемые ей задачи (простая альтернатива веб-сокетам, однонаправленный канал связи с сервером). Вторая часть посвящена использованию SSE в реальных проектах.
При использовании SSE поверх первой версии HTTP есть ограничение на максимальное количество подключений к источнику данных — в рамках одной страницы нельзя сделать больше шести подключений. Эту проблему можно обойти переходом на HTTP2. Также при создании подключения с помощью конструктора
EventSource нет возможности передать дополнительные HTTP-заголовки, например, для авторизации. Это ограничение можно обойти с помощью кук.Рекомендую посмотреть видео, если хотите узнать больше подробностей про нюансы работы с SSE.
#api #nodejs #video
https://www.youtube.com/watch?v=v6Fc4FQwNa4
YouTube
Server-Sent Events: Снимаем ограничения
Внимание! Канал заморожен, все видео по-умолчанию диприкейтед. Смотрите на свой страх и риск :)
---
После первого видео об SSE накопились вопросы и самый важный из них — какие ограничения у этой технологии и как их преодолеть? Разбираемся и лечим.
Спойлер:…
---
После первого видео об SSE накопились вопросы и самый важный из них — какие ограничения у этой технологии и как их преодолеть? Разбираемся и лечим.
Спойлер:…
Forwarded from Defront — про фронтенд-разработку и не только (Alexander Myshov)
Томас Штайнер написал статью про 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/
Современные веб-приложения не могут эффективно и гибко работать с большими массивами данных, сохранёнными на диске, что особенно критично для баз данных и программ редактирования аудио и видео.
Эту проблему призван решить Storage Foundation API. Он предоставляет средства для производительной работы с хранилищем данных и включает себя набор примитивов, работа с которыми напоминает работу с обычной файловой системой. С его помощью можно получать информацию о доступном месте, создавать/удалять/переименовывать файлы, производить запись/чтение данных со смещением и т.п.
На данный момент экспериментальная поддержка Storage Foundation API есть только в Chrome в рамках программы Origin Trial.
#api #chrome #experimental
https://web.dev/storage-foundation/
Forwarded from The Devs
Forwarded from Defront — про фронтенд-разработку и не только (Alexander Myshov)
Использование 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/
Джеймс Снелл — контрибьютор 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/
Nearform
Using AbortSignal in Node.js | Nearform
Nearform is an independent team of engineers, designers and strategists. We build digital capability and software solutions for ambitious enterprises seeking sustained business impact. We love what we do.
Forwarded from Defront — про фронтенд-разработку и не только (Alexander Myshov)
Глубокое копирование объектов с помощью structuredClone
Сурма из Google рассказал про новое API для глубокого копирования JavaScript-объектов — "Deep-copying in JavaScript using structuredClone".
Самым популярным решением для глубокого копирования объектов был JSON-хак:
Он стал настолько популярен, что в браузерах были добавлены специальные оптимизации для этого хака. На данный момент он остаётся самым быстром способом для быстрого копирования небольших объектов. Однако он не поддерживает копирование объектов с циклическими ссылками,
Структурное клонирование — это другое название для глубокого копирования. Оно использовалось браузерами неявно при передаче объектов с помощью
Поддержка
#js #api
https://web.dev/structured-clone/
Сурма из 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/
web.dev
Deep-copying in JavaScript using structuredClone | Articles | web.dev
For the longest time, you had to resort to workarounds and libraries to create a deep copy of a JavaScript value. The Platform now ships with `structuredClone()`, a built-in function for deep-copying.
Forwarded from Defront — про фронтенд-разработку и не только (Alexander Myshov)
Self-Profiling API на практике
Ник Джансма написал статью про новое экспериментальное API для профилировки производительности сайтов на устройствах пользователей — "JS Self-Profiling API In Practice".
Self-Profiling API предоставляет программный доступ к семплирующему профилировщику для получения детальной информации о выполнении JavaScript-кода у пользователей сайта. API можно использовать как для анализа производительности кода сайта, так и для анализа производительности скриптов внешних сервисов. Проанализировать выполнение кода можно на любом этапе жизни страницы. Доступ к Self-Profiling API включается с помощью HTTP-заголовка
Несмотря на экспериментальный статус Facebook и Microsoft уже начали использовать Self-Profiling API в своих сервисах для поиска проблем производительности.
На данный момент поддержка Self-Profiling API есть только в Chrome версии 94 и выше.
#performance #api
https://calendar.perfplanet.com/2021/js-self-profiling-api-in-practice/
Ник Джансма написал статью про новое экспериментальное 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/
Web Performance Calendar
JS Self-Profiling API In Practice
Table of Contents
The JS Self-Profiling API
What is Sampled Profiling?
Downsides to Sampled Profiling
API
Document Policy
API Shape
Sample Interval
Buffer
Who to Profile
When to Profile
Specific Operations
User Interactions…
The JS Self-Profiling API
What is Sampled Profiling?
Downsides to Sampled Profiling
API
Document Policy
API Shape
Sample Interval
Buffer
Who to Profile
When to Profile
Specific Operations
User Interactions…
Forwarded from запуск завтра
Тем временем, Claude Code это оказывается уже для нормисов, а модные ребята пересели на более крутую open source упряжь openCode, которая поддерживает любые модели (а не только от anthropic). Ну и конечно есть безумно прокачанный форк от китайцев oh-my-opencode, который прямо сейчас запускают как отдельный сервис, Сизиф. Нейминг как у самолета Антея.
Узнал об этих инструментах из драмы, которая разворачивается прямо сейчас: формально, Anthropic разрешает пользоваться своими моделями с подпиской Pro и Max только внутри своего Claude Code. Пару часов назад, они начали блокировать запросы из openCode, после чего пользователи стали жаловаться, что Claude Code — это каменный век и отменять подписки. При этом модели Anthropic, по словам пользователей, лучше конкурентов. Моделями Anthropic можно пользоваться «по API» без скидок и ограничений, но если платить за каждый запрос — получаются совсем безумные цифры даже для модных вайбкодеров.
Вряд ли Anthropic стал бы бороться с чужими инструментами, будь они хуже родного. Лучшая (и честная) рекомендация от ведущей лаборатории, получается!
Узнал об этих инструментах из драмы, которая разворачивается прямо сейчас: формально, Anthropic разрешает пользоваться своими моделями с подпиской Pro и Max только внутри своего Claude Code. Пару часов назад, они начали блокировать запросы из openCode, после чего пользователи стали жаловаться, что Claude Code — это каменный век и отменять подписки. При этом модели Anthropic, по словам пользователей, лучше конкурентов. Моделями Anthropic можно пользоваться «по API» без скидок и ограничений, но если платить за каждый запрос — получаются совсем безумные цифры даже для модных вайбкодеров.
Вряд ли Anthropic стал бы бороться с чужими инструментами, будь они хуже родного. Лучшая (и честная) рекомендация от ведущей лаборатории, получается!
Forwarded from Веб-стандарты (Vadim Makeev)
Представляем HTML-элемент
https://developer.chrome.com/blog/geolocation-html-element
<geolocation>. В Chrome 144 появился контрол для декларативного запроса геолокации по клику, который заменяет большинство прямых вызовов Geolocation API, уменьшает объём кода и лучше отражает намерение пользователя. Origin trial ранее показали меньше ошибок, больше успешных сценариев и лучшее восстановление после отказа. #html #apihttps://developer.chrome.com/blog/geolocation-html-element
Forwarded from Веб-стандарты (Vadim Makeev)
В интернете снова весело: первые эксперименты с HTML в <canvas>. Амит Шин разбирает экспериментальный API Canvas Draw Element за флагом в Chrome 146, который рисует нативный HTML на
https://frontendmasters.com/blog/the-web-is-fun-again-first-experiments-with-html-in-canvas/
<canvas>, сохраняя семантику, формы и взаимодействие. С помощью атрибута layoutsubtree и drawElementImage() он показывает синхронизацию трансформаций, манипуляции пикселями для эффектов цвета и искажений, отклик на движение мыши и WebGL-шейдеры. #html #apihttps://frontendmasters.com/blog/the-web-is-fun-again-first-experiments-with-html-in-canvas/