GyaanSetu WebDev

Frontend, backend and devops for the modern web.

230 articlesDeep, practical knowledge

Soft 404 ошибки в Next.js расходуют краулинговый бюджет и приводят к SEO-санкциям

Google Search Console помечает страницы, возвращающие статус 200 OK без контента, как Soft 404. В Next.js это часто происходит из-за динамического роутинга без надлежащей проверки данных, что расходует краулинговый бюджет, снижает позиции в поиске и увеличивает показатель отказов.

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

useSyncExternalStore в React 18 устраняет эффект разрыва во внешнем состоянии

Новый хук выполняет чтение снимка во время рендеринга, гарантируя, что каждый компонент видит одно и то же значение, даже когда конкурентный рендерер React приостанавливает или повторяет рендеринг, тем самым устраняя визуальный «разрыв», который был проблемой при использовании старого паттерна с useEffect.

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

Печатникам необходимо внедрить GS1 Digital Links до 19 июля 2026 года, иначе они потеряют доступ к рынку ЕС

Новое правило экодизайна рассматривает печатную упаковку как цифровую конечную точку, требуя использования QR-кодов, работающих через GS1 Digital Link. Без работающего механизма обработки ссылок товары не смогут пройти таможенную очистку, автоматизация складов будет приостановлена, а обязательства по отчетности о переработке — не выполнены.

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

Ошибка при миграции PostgreSQL: дублирование функции привело к сбою production-API

Разработчик добавил необязательный аргумент, используя CREATE OR REPLACE FUNCTION, но вместо перезаписи PostgreSQL создал новую перегрузку. Дублирование определения вызвало ошибку «function is not unique», которая проявилась в виде 400-го ответа от работающего API.

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

Улучшение SEO: Next.js 14 отдает полностью отрендеренный HTML, сокращая задержки при сканировании

В ходе быстрого теста на личном блоге перенос получения данных в Server Component уменьшил размер JS-бандла примерно на 60 % и сократил время первой отрисовки страницы до менее чем 200 мс, обеспечивая мгновенную передачу HTML как пользователям, так и поисковым роботам.

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

Задачи asyncio исчезают в продакшене, если их не сохранить — исправьте с помощью set

В продакшене задачи типа «выстрелил и забыл», созданные с помощью asyncio.create_task, могут быть удалены сборщиком мусора Python, если не сохранять на них ссылку. Это приводит к скрытым сбоям, которые проявляются в виде ошибки «Task was destroyed but it is pending!».

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

Динамический импорт иконок обрушил сервер разработки WSL2, поглотив 3,6 ГБ оперативной памяти

Проект на Next.js 16 с использованием Turbopack импортировал пакет иконок, содержащий около 9 000 модулей. Turbopack построил полную карту модулей в оперативной памяти, что привело к достижению лимита RAM, заданного в .wslconfig, и зависанию vmmemWSL, вызвав аварийное завершение работы Windows, несмотря на установленное ограничение.

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

SearchValues сокращает время сканирования до 3,3 мс на буферах в 32 МБ — в 1,7 раза быстрее, чем IndexOfAny

Когда SearchValues действительно оправдывает себя, люди называют SearchValues<T «чит-кодом». Говорят, что это ускоряет сканирование строк в пять раз. Я поддерживаю парсер логов, использующий IndexOfAny. Я д…

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

Founder Lab: показатель AI Intent Score колеблется на 2 пункта в неизменном магазине Shopify

Шестикратное сканирование одного и того же магазина Founder Lab на Shopify показало, что общий рейтинг остался на уровне 78, но вспомогательный показатель намерения ИИ колебался между 4 и 6, доказывая, что незначительные изменения баллов могут быть всего лишь статистическим шумом.

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

Почему уверенный ответ может быть хуже, чем его отсутствие

Почему уверенный ответ может быть хуже, чем его отсутствие. Вы закончили создание внутреннего чат-бота. Вы загрузили в него все HR-политики, инженерные спецификации и документы по онбордингу, которыми владеет ваша компания. А…

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

Когда я сел за создание своего первого сайта, я был по-настоящему воодушевлен. Я думал, что самым сложным будет научиться программировать — я

Когда я сел за создание своего первого сайта, я был по-настоящему воодушевлен. Я думал, что самым сложным будет научиться программировать: запоминание тегов, понимание функций, освоение синтаксиса…

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

Пациент нажимает на кнопку с надписью «Отключить мои данные». Веб-приложение показывает зеленую галочку и позитивное подтверждение.

Пациент нажимает на кнопку с надписью «Отключить мои данные». Веб-приложение показывает зеленую галочку и позитивное подтверждение. Где-то в фоновой очереди просыпается рабочий процесс…

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

Зайдите в любой технологический хаб в Нойде, и вы найдете десятки агентств, обещающих комплексные веб-решения. Их презентации

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

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

Две недели данных из Search Console исказили мой SEO-план

Две недели данных из Search Console исказили мой SEO-план. Я развиваю lans.cloud — это коллекция из 100 бесплатных браузерных инструментов. Я начал со стандартной SEO-стратегии, ориентируясь на длинно…

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

Я потратил месяцы на создание сравнительных таблиц, прежде чем понял, что моя база данных мне лгала.

Я потратил месяцы на создание сравнительных таблиц, прежде чем понял, что моя база данных мне лгала. Интерфейс выглядел вполне прилично: аккуратные строки, четкие галочки и красные крестики там, где инструмент не…

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

ChatGPT, GitHub Copilot, Cursor и их «родственники» теперь могут выдать React-компонент еще до того, как вы закончите печатать промпт

ChatGPT, GitHub Copilot, Cursor и их «родственники» теперь могут выдать React-компонент еще до того, как вы закончите печатать промпт. Подключить роут Next.js к Supabase? Готово за считанные секунды. Ре…

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

Большинство разработчиков выпускают фичу, которая выглядит идеально в браузере, и считают, что самая сложная работа позади. Я совершил

Большинство разработчиков выпускают фичу, которая выглядит идеально в браузере, и считают, что самая сложная работа позади. Я совершил именно такую ошибку, когда создавал свой фуд-блог на Django. ...

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