GyaanSetu WebDev

Frontend, backend and devops for the modern web.

230 articlesDeep, practical knowledge

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

Три компонента планировщика — очередь с приоритетами, контроллер вытеснения и регулятор токенного бюджета — позволяют запросу чата в активном режиме обходить фоновые задачи, сокращая время отклика с 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 мин чтения

Ганский разработчик запустил PowerPulse с помощью AI Low-Code, не имея опыта программирования

С помощью PowerPulse любой житель Ганы может сообщить об отключении электричества, просматривать ленту событий в реальном времени и получать баллы за свой вклад. Приложение, созданное на Next.js, Tailwind, Supabase и развернутое на Vercel, планирует внедрить прогнозы на базе ИИ и push-уведомления, чтобы решить проблему «холодного старта».

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

Переход на DeepSeek и Qwen позволил сократить расходы на ИИ одного бота с $420 до $28

Направляя 85% запросов на более дешевые модели, кэшируя повторяющиеся промпты и сжимая входные данные, команда сократила ежемесячные расходы с $420 до $28, сохранив при этом низкую задержку и привычный пользовательский опыт.

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

pnpm v12 сокращает время «теплой» установки с 381 мс до 12 мс благодаря переписыванию на Rust

Новая версия, получившая название «pacquet», заменяет процесс загрузки Node.js на однопоточный бинарный файл на Rust, сохраняя все флаги и форматы lock-файлов без изменений. Разработчики могут протестировать обновление уже сегодня с помощью команды `pnpm self-update next-12` и оценить влияние на свои CI-пайплайны.

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

Разработчик сократил накладные расходы на API, перейдя с REST на tRPC за две недели

Миграция позволила избавиться от спецификации OpenAPI, генерации SDK, коллекций Postman и написанных вручную интерфейсов TypeScript, благодаря чему редактор стал мгновенно находить несоответствия, а размер репозитория значительно сократился.

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

Команда автоматизировала генерацию VPAT в CI, блокируя PR с нарушениями доступности

Благодаря интеграции сканирования axe-core, кастомных помощников Vitest для работы с клавиатурой и результатов работы скринридеров в формате JSON в процесс сборки, пайплайн отклоняет любые pull request'ы, вносящие регрессию доступности, и автоматически генерирует PDF-отчет VPAT при каждом успешном релизе.

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

Хватит тратить часы GPU впустую: когда использовать промптинг, RAG или fine-tuning

В руководстве рассматриваются три ключевых метода — промптинг, RAG и fine-tuning. Вы узнаете, как отличить пробел в знаниях от пробела в поведении, и получите чек-лист из трех шагов, чтобы выбрать правильный инструмент, прежде чем тратиться на вычислительные мощности.

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

Auto-Animate выпускает адаптер для Marko 6: анимация списков с помощью одного тега

Новый адаптер подключается к жизненному циклу onMount в Marko, создает MutationObserver и задействует движок auto-animate. Это позволяет разработчикам просто обернуть список тегом <auto-animate> и получить плавные эффекты появления, исчезновения и изменения порядка элементов без написания дополнительного JavaScript-кода.

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

ES2023 добавляет методы массивов без мутации, позволяя React мгновенно обнаруживать изменения состояния

Четыре новых метода — `toSorted`, `toReversed`, `toSpliced` и `with` — возвращают новые массивы, поэтому механизм shallow-compare в React видит новую ссылку и запускает ререндер без использования громоздких хаков со spread-оператором, которые раньше скрывали обновления.

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

Импорт через React-Fiber сокращает разрыв между дизайном и кодом, экономя командам тысячи на поддержке

Плагин считывает внутреннее дерево Fiber в React вместо отрендеренного DOM, напрямую сопоставляя компоненты со слоями Figma и сохраняя варианты, параметры автолейаута и триггеры состояний, что исключает необходимость ручного воссоздания дизайн-токенов.

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

Claude Fable 5 превосходит GPT-5.6 в генерации кода, достигнув 80% на SWE-Bench Pro

Хотя GPT-5.6 выигрывает у Claude Fable 5 по стоимости токенов и показывает отличные результаты в многошаговых агентских задачах, модель от Anthropic имеет явное преимущество в реальных бенчмарках по программированию. Разработчикам рекомендуется протестировать обе модели, учитывая скидки на кэширование и специфику рабочих нагрузок, прежде чем делать окончательный выбор.

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

Переход на TypeScript 7? Ожидайте ускорения проверок до 10 раз, но будьте готовы к сбоям в CI

Новый движок tsgo на базе Go обеспечивает сборку до десяти раз быстрее, но его постоянно меняющийся программный API ломает популярные инструменты. До заморозки API в версии 7.1 командам рекомендуется использовать TS 6.x для сборки и @typescript/native-preview для быстрых проверок.

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

Zod + Vercel AI SDK Guarantees Type-Safe JSON From LLMs, Preventing Crashes

A production classifier once threw an exception after an LLM added an unexpected “explanation” key, exposing how raw JSON parsing can silently break services. Wiring Zod schemas into Vercel’s AI SDK or Anthropic’s tool-use API catches such mismatches before they crash your app.

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

Junior-разработчик уменьшил размер Python Docker-образа на 93% до 85 МБ, сократив время CI до 90 секунд

Перейдя с образа python:latest на трехэтапную многоэтапную сборку на базе python:alpine, разработчик уменьшил размер образа с 1,2 ГБ до 85 МБ, сократив время работы пайплайна с 11 минут до всего 90 секунд, а также снизив затраты на хранение и поверхность атаки.

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