GyaanSetu WebDev

Frontend, backend and devops for the modern web.

244 articlesDeep, practical knowledge

Пользователи нажимают кнопку «Назад» чаще, чем почти на любой другой элемент управления в браузере. Они ожидают, что предыдущий экран...

Пользователи нажимают кнопку «Назад» чаще, чем почти на любой другой элемент управления в браузере. Они ожидают, что предыдущий экран появится мгновенно, именно там, где они его оставили. Современные брау…

WebDev · 3 мин чтения

Разработчики могут итерировать в десять раз быстрее благодаря параллельному переписыванию TypeScript 7 на языке Go

TypeScript 7 официально вышел. TypeScript 7 уже доступен. Microsoft переписала ядро на языке Go. Это изменение значительно ускоряет компиляцию кода. Ваш редактор станет работать быстрее…

WebDev · 3 мин чтения

Веб-камера управляет VRM-аватаром со скоростью 17,3 FPS на M1 Max с помощью MediaPipe

Ретаргетинг с веб-камеры на VRM в реальном времени. Может ли браузер управлять 3D-аватаром, используя только веб-камеру? Я протестировал MediaPipe Holistic, чтобы проверить, может ли он отслеживать движения тела, лица и рук для ко...

WebDev · 1 мин чтения

WhatsApp RAG-бот перестает галлюцинировать благодаря внедрению JSON-цитирования

Прототип, построенный на PostgreSQL с использованием pgvector, заменяет громоздкие промпты схемой JSON, которая проверяет каждое утверждение. Если модель не может прикрепить ID фрагмента, ответ отклоняется, и пользователь получает четкое сообщение: «У меня недостаточно информации для ответа на этот вопрос».

WebDev · 2 мин чтения

Переход на контрактное тестирование сократил количество сбоев API с 2 в месяц до нуля за шесть месяцев

Переход команды от проверок с помощью mock-серверов к контрактному тестированию, управляемому потребителем, позволил увеличить число контрактов с 3 до 47, устранив ежемесячные сбои интеграции и позволяя выявлять ломающие изменения до их попадания в продакшн.

WebDev · 3 мин чтения

Упущенный трафик от ИИ может стоить топовым сайтам миллионов

Исследование Vercel-MERJ показывает, что GPTBot и ClaudeBot загружают только чистый HTML, пропуская выполнение JavaScript. В результате клиентские фреймворки, такие как React или Vue, могут доминировать в поисковой выдаче Google, оставаясь при этом невидимыми для ИИ-ассистентов, таких как ChatGPT и Bing AI.

WebDev · 4 мин чтения

Загрузка по частям с возможностью возобновления: как спасти свадебные фото при перегруженном Wi-Fi

В руководстве рассматриваются процессы генерации UUID-сессии, разделения файлов на фрагменты по 5–10 МБ, сохранения состояния в IndexedDB и использования экспоненциальной задержки с джиттером, чтобы загрузка не прерывалась при смене сети, блокировке устройства или перегрузке точки доступа.

WebDev · 4 мин чтения

ИИ-агент Elevare «проспал» полную очередь из-за того, что RLS скрыл все задачи

ИИ-оркестратор запросил таблицу ожидающих задач, не обнаружил в ней записей и перешел в режим ожидания, в то время как политика RLS незаметно скрывала все строки для его сервисной роли. Задачи накапливались незаметно, пока команда не добавила проверку через «канареечную» строку, чтобы выявить эту слепую зону.

WebDev · 3 мин чтения

ИИ-агенты фальсифицируют результаты работы инструментов, вызывая скрытые сбои в автоматизированных рабочих процессах

В недавней публикации в блоге содержится предупреждение о том, что ИИ-агенты могут выдумывать названия инструментов, передавать неверные аргументы или даже имитировать успешные результаты. Последнее — получившее название «тихий сбой» — позволяет ошибочным данным распространяться по конвейерам, вызывая ложные оповещения и дорогостоящие последствия.

WebDev · 3 мин чтения

Inbox Leases Stop Cron Email Races From Crashing Alerts

By assigning each cron run a unique lease ID, filtering on timestamps and labels, and logging lease metadata, teams can prevent stray messages from triggering duplicate or missed alerts—even when inboxes are shared.

WebDev · 3 мин чтения

Очередь с приоритетами позволяет мобильным чат-приложениям оставаться отзывчивыми даже при фоновой индексации

Три компонента планировщика — очередь с приоритетами, контроллер вытеснения и регулятор токенного бюджета — позволяют запросу чата в активном режиме обходить фоновые задачи, сокращая время отклика с 1420 мс до 161 мс без прерывания приостановленных процессов.

WebDev · 3 мин чтения

Open Interpreter позволяет LLM запускать код локально, снижая расходы на облачные сервисы и повышая конфиденциальность

Позволяя большим языковым моделям выполнять shell-команды и запускать скрипты на компьютере пользователя, Open Interpreter избавляет от необходимости использования дорогостоящих облачных API, сохраняя конфиденциальные файлы внутри системы, однако это также вынуждает разработчиков создавать «песочницы» и механизмы подтверждения действий.

WebDev · 2 мин чтения

ИИ-агенты для разработки кода обеспечивают 43% новых сделок по аутсорсингу с оплатой за результат

К 2026 году автономные агенты уже способны декомпозировать задачи, писать код, запускать тесты и создавать pull-запросы без участия человека, что вынуждает компании переходить от почасовой оплаты к оплате за подтвержденный результат.

WebDev · 3 мин чтения

Миграции PostgreSQL завершаются ошибкой «Read-Only Transaction» при отправке на реплику

Ошибка обычно возникает, когда попытка записи попадает на реплику для чтения — часто из-за того, что PgBouncer маршрутизирует соединение, роль по умолчанию имеет права только на чтение или облачная конфигурация использует эндпоинт для чтения. В статье показано, как переопределить этот флаг для текущей транзакции и как защититься от этой проблемы.

WebDev · 3 мин чтения

Frontend Team Cuts Bundle Size to Zero by Tree-Shaking Type-Safe API Mocks

The team built a dev-only mock layer using Axios interceptors and Vite’s tree-shaking. By gating the interceptor with import.meta.env.DEV, a custom VITE_ENABLE_MSW flag, and the MODE variable, the entire mock code is stripped from production bundles, keeping the bundle size unchanged.

WebDev · 3 мин чтения

Баг в рассылке RamenHire превратил каждое уведомление о найме в фишинговую ловушку

Уязвимость позволяла любому кандидату внедрять поддельную ссылку «подтвердить» в HTML-шаблон письма; вредоносная нагрузка сохранялась вместе с описанием вакансии и появлялась в каждом последующем уведомлении, пока не был добавлен новый вспомогательный метод escapeHtml, а юнит- и прикладные тесты не подтвердили исправление.

WebDev · 3 мин чтения

Тестирование собственного кода: что показало контрактное тестирование

Тестирование собственного кода: что показало контрактное тестирование. Я думал, что мой клон Zerodha уже готов. Это был проект на стеке MERN с бэкендом на Node, фронтендом на React, MongoDB и Razorpay…

WebDev · 3 мин чтения

Бесплатный ИИ-бот для покупок работает прямо внутри любой веб-страницы — API-ключ не требуется

Автор дообучил модель LFM2.5 от LiquidAI с 350 миллионами параметров на синтетическом датасете объемом 30 млн токенов, используя всего одну видеокарту с 16 ГБ памяти, а затем добавил восемь жестко запрограммированных инструментов и декодирование с грамматическими ограничениями, чтобы агент мог просматривать товары, добавлять их в корзину и оформлять заказ полностью на устройстве.

WebDev · 4 мин чтения

Бесплатный глобальный индекс: 3 804 порта и 9 640 аэропортов — регистрация не требуется

Сайт собирает данные из NGA World Port Index, UN/LOCODE и OurAirports, устраняет несоответствия и добавляет сопоставления глубины для судов и характеристик ВПП для самолетов. Весь сервис работает на базе статической сборки Next.js с нулевыми текущими затратами на вычислительные мощности.

WebDev · 4 мин чтения

TypeScript добавляет const-параметры типов для предотвращения расширения литералов в дженериках

Новый модификатор const для параметра типа указывает компилятору выводить максимально узкий тип. Это позволяет литералам, таким как «GET», оставаться литералами при передаче между функциями, избавляя от необходимости постоянно использовать приведение типов `as const`.

WebDev · 3 мин чтения