GyaanSetu WebDev

Frontend, backend and devops for the modern web.

460 articlesDeep, practical knowledge

Как загружать документы в чат на Firebase

Как загружать документы в чат на Firebase. Создание чат-приложения для отдела продаж требует большего, чем просто текст и изображения. Операторам часто необходимо делиться PDF-файлами, документами Word и таблицами Excel…

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

Создание центра уведомлений в Firebase PWA

Создание центра уведомлений в Firebase PWA. Управление отделом продаж требует множества инструментов. Моя панель управления использовала push-уведомления FCM, чаты, напоминания и общий календарь...

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

Создание интерактивного руководства по приложению

Создание интерактивного руководства по приложению. Команды поддержки часто сталкиваются с трудностями при использовании приложений, которые они никогда не устанавливали. Руководство в формате PDF — плохое решение, потому что их никто не читает. Я создал инструмент, кото...

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

4 паттерна GitHub Actions для ETL в монорепозитории

4 паттерна GitHub Actions для ETL в монорепозитории. Запуск трех сайтов из одного монорепозитория создает проблемы. Вы сталкиваетесь с тремя отдельными ETL-задачами, тремя пересборками контента и тремя процессами развертывания...

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

LLMS.TX: ПОЧЕМУ ВАШЕМУ САЙТУ ЭТО НЕОБХОДИМО

LLMS.TX: ПОЧЕМУ ВАШЕМУ САЙТУ ЭТО НЕОБХОДИМО. ИИ-поисковые системы, такие как ChatGPT и Perplexity, меняют способы поиска информации. Чтобы оставаться заметным, вашему сайту нужен новый инструмент: llms.txt...

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

Невидимый фронтенд: маленькие решения, которые спасают ваш продукт

Невидимый фронтенд: маленькие решения, которые спасают ваш продукт. Лучшая фронтенд-работа никогда не попадает на демо. Люди не делают скриншотов такой работы. Но без этой работы пользователи…

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

GPT Image 2: Какой узел оно удаляет?

GPT Image 2: Какой узел оно удаляет? Новые модели генерации изображений часто сопровождаются эффектными демо. Разработчикам стоит игнорировать хайп. Демонстрация — это не повод для принятия решения о внедрении. Вместо этого задайте один вопрос:…

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

Как я выбирал свой ИИ-инструмент для программирования в 2026 году

Как я выбирал свой ИИ-инструмент для программирования в 2026 году. Выбрать ИИ-помощника для написания кода сложнее, чем кажется. Благодаря маркетингу все инструменты кажутся одинаковыми. Настоящие различия проявляются только тогда, когда вы…

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

Cloudflare’s New AI Crawler Controls

Cloudflare’s New AI Crawler Controls Website traffic is changing. In the past, search engines crawled your site to help people find you. It was a simple deal. AI has made this muc…

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

Я создал собственную платформу для туннелирования

Я создал собственную платформу для туннелирования. Я потратил три дня на доработку веб-приложения на своем ноутбуке. Оно выглядело идеально. Затем я попытался протестировать его на телефоне. Все сломалось. Локальная разработка…

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

Дорожная карта MERN Stack разработчика

Дорожная карта MERN Stack разработчика. Стек MERN — отличный выбор для веб-разработки. Он позволяет создавать full-stack приложения, используя всего один язык: JavaScript. MERN расшифровывается как…

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

Перестаньте относиться к внутренним коммуникациям как к задаче HR

Перестаньте относиться к внутренним коммуникациям как к задаче HR. Две компании запускают один и тот же продукт в один и тот же день. У обеих отличные разработчики. Спустя шесть месяцев одна компания растет, в то время как другая...

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

LLM + RAG + Function Calling — это не ИИ-агент

LLM + RAG + Function Calling — это не ИИ-агент. Многие называют ИИ-агентом любое приложение, использующее LLM, RAG и вызов функций. Это неверно. Эти инструменты расширяют возможности…

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

Ловушка JOIN в Firestore

Ловушка JOIN в Firestore. Вы сталкиваетесь с распространенной проблемой Firestore: ваша функция Firebase выдает ошибку превышения максимального размера пакета. Вам нужно объединить заказы и клиентов для дашборда. Вы у...

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

AWS для новичков: S3, дедупликация и Presigned URLs

AWS для новичков: S3, дедупликация и Presigned URLs. Хватит создавать игрушечные приложения. Начните строить продакшн-системы. Если ваш сервер эфемерный, ваши файлы не могут храниться на его диске...

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

Как я оптимизировал свой сайт-портфолио

Как я оптимизировал свой сайт-портфолио. Ваше портфолио — это ваше первое впечатление. Если оно загружается медленно или не отображается в Google, вы упускаете возможности. Я оптимизировал свой сайт для скор…

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

Создание модального окна поиска для сайтов WordPress с закрытым контентом

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

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

5 ошибок REST API, стоивших мне пользователей

5 ошибок REST API, стоивших мне пользователей. Три года назад я создал свой первый публичный API. Я думал, что закончу его всего за одни выходные. Я ждал, когда придут пользователи. Они пришли. Затем они...

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

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

Использование ИИ для поиска уязвимостей авторизации. Программы Bug bounty меняются. Некоторые программы перестали выплачивать вознаграждения. Другие сократили выплаты на 80%. Причина не в том, что ИИ находит слишком много багов...

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

Выбор правильной стратегии веб-рендеринга

Выбор правильной стратегии веб-рендеринга. В веб-разработке скорость и интерактивность часто вступают в противоречие друг с другом. Если вы сосредоточитесь только на том, насколько быстро загружается страница, вы можете испортить ощущение от её работы...

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

Многоязычные email-уведомления через вебхуки Stripe

Многоязычные email-уведомления через вебхуки Stripe. Масштабирование SaaS на глобальный рынок таит в себе скрытые ловушки. Мы обнаружили одну из них в наших вебхуках Stripe. Наша система отправляла подтверждения покупок, продления и ошибк...

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

TypeScript выводит последнюю перегрузку

TypeScript выводит последнюю перегрузку. У TypeScript есть специфическое поведение при использовании перегруженных функций. Когда вы пытаетесь вывести тип из перегруженной функции, TypeScript только...

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