GyaanSetu WebDev

Frontend, backend and devops for the modern web.

257 articlesDeep, practical knowledge

MCP против API: Почему традиционные API не справляются с ИИ-агентами

MCP против API: Почему традиционные API не справляются с ИИ-агентами. Традиционные API не подходят для ИИ-агентов. Годами разработчики создавали веб-приложения, используя REST и GraphQL. Эти инструменты отлично работают для людей. ...

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

Аутентификация API: API-ключи vs JWT vs OAuth 2.0

Аутентификация API: API-ключи vs JWT vs OAuth 2.0. Однажды я выпустил API без аутентификации. Я думал, что это простой внутренний инструмент. Две недели спустя бот конкурента спарсил...

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

Проверка ширины сломала кандзи

Проверка ширины сломала кандзи. Имя попало в терминальную таблицу и вышло поврежденным. Фамилия была 𠮷田. Первый символ — это не обычный 吉, а 𠮷 (U+20BB7). Это редкий...

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

What Solo Skydiving Taught Me About Web Design

What Solo Skydiving Taught Me About Web Design Solo skydiving looks like one big moment. You open the door. You jump. You fall. People see that part in photos. They do not see the…

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

Эпоха ИИ: Демократизация «башни из слоновой кости»

Эпоха ИИ: Демократизация «башни из слоновой кости». История показывает нам, что наука не всегда справедлива. Долгое время академический мир функционировал как закрытый клуб. Этот клуб часто иг...

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

Тестирование писем для восстановления OAuth без использования реальных почтовых ящиков

Тестирование писем для восстановления OAuth без использования реальных почтовых ящиков. Простой способ тестирования писем для восстановления OAuth создает риски безопасности. Многие команды отправляют ссылки для сброса пароля на один общий почтовый ящик...

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

How to Deploy NestJS on Namecheap Shared Hosting

How to Deploy NestJS on Namecheap Shared Hosting Deploying NestJS to Namecheap shared hosting is not like deploying a static site or a PHP app. You cannot just upload files and ex…

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

Программному обеспечению всегда не хватало «пищевой этикетки»

Программному обеспечению всегда не хватало «пищевой этикетки». 9 декабря 2021 года исследователь безопасности обнаружил уязвимость в Java-библиотеке Log4j. В течение 72 часов сотни миллионов си…

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

Тестирование процессов смены email в React без путаницы в ссылках

Тестирование процессов смены email в React без путаницы в ссылках. Смена email аккаунта кажется незначительной задачей, но на самом деле это основной источник ошибок при тестировании. Тестировщики часто путают подтверждения...

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

Мой CI/CD пайплайн работал без ошибок 3 месяца — а затем я прочитал логи

Мой CI/CD пайплайн работал без ошибок 3 месяца — а затем я прочитал логи. Зеленые галочки радуют глаз. Каждый pull request проходил успешно. Каждый деплой работал. Но затем пользователь сообщил о неработающей функции. Это...

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

Все методы оптимизации для достижения идеального показателя Lighthouse

Все методы оптимизации для достижения идеального показателя Lighthouse. Я постоянно запускаю Lighthouse на своем сайте. Он стабильно показывает 100 при каждом локальном запуске и 100 в показателе Vercel Real Experience Score. Эти ск...

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

Возможности против инструментов в агентном ИИ

Возможности против инструментов в агентном ИИ. Люди часто оценивают ИИ-агентов по количеству инструментов, которые они используют. Они спрашивают, может ли агент просматривать веб-страницы, запускать код или делать запросы к базе данных. Лог…

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

В HTTP впервые за 20 лет появился новый метод

В HTTP впервые за 20 лет появился новый метод. Скорее всего, вы уже сталкивались с этим. Вам нужно найти товары, но ваши фильтры поиска слишком велики для URL-адреса. Чтобы решить эту проблему, вы используете…

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

Что я узнал об асинхронном PHP, будучи разработчиком синхронного PHP

Что я узнал об асинхронном PHP, будучи разработчиком синхронного PHP. Я годами работал с Laravel. Я использовал синхронный PHP. Приходит запрос, запускается процесс, и уходит ответ. Я никогда...

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

Интеграция платежного шлюза: руководство для разработчика

Интеграция платежного шлюза: руководство для разработчика. Клиенты ожидают быстрых и безопасных транзакций. Они не видят сложного кода, стоящего за кнопкой «Оплатить сейчас». Как разработчик, вы…

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

Тестирование пригласительных писем React без конфликтов во входящих

Тестируйте пригласительные письма React без конфликтов во входящих. Среды предварительного просмотра работают некорректно, когда потоки приглашений переполняют общий почтовый ящик QA. Один тестировщик открывает не ту ссылку, а другой берет старое сообщение…

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

QUERY: HTTP-метод, который мы имитировали на протяжении 16 лет

QUERY: HTTP-метод, который мы имитировали на протяжении 16 лет. Бэкенд-разработчики постоянно сталкиваются с проблемой эндпоинтов поиска. Вы хотите использовать GET, потому что поиск — это операция чтения. Но…

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

Мой ИИ-агент для кодинга помнил сессии, а не работу

Мой ИИ-агент для кодинга помнил сессии, а не работу. Агент для написания кода может поддерживать поток общения, но при этом казаться забывчивым. Я столкнулся с этой проблемой при создании CliGate. Я исправил непрерывность сессий…

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

Кэш работал, но все равно приводил к дублированию API-запросов

Кэш работал, но все равно приводил к дублированию API-запросов. С кэшем все было в порядке. Тем не менее, три одновременных запроса с одним и тем же именем пользователя трижды обратились к GitHub. Это произошло…

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

Проектирование для пользователей с нарушениями зрения

Проектирование для пользователей с нарушениями зрения. В своей презентации Apple призывала разработчиков делать приложения более красивыми. Они представили новые эффекты прозрачности и более изящные края. Вы не можете…

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

Удаленные функции SvelteKit: Часть 1

Удаленные функции SvelteKit: Часть 1. SvelteKit тестирует новый способ обработки данных. Он называется Remote Functions. Эта функция позволяет клиенту и серверу взаимодействовать друг с...

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

Тестирование беспарольного входа без хаоса в почтовом ящике

Тестирование беспарольного входа без хаоса в почтовом ящике. Беспарольный вход кажется простым на демо. Пользователь вводит email, получает магическую ссылку и входит в систему. На стейджинге этот процесс ломается. Ссылки...

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