Автор: dvcarrot
-

RAG простыми словами: как научить ИИ отвечать по вашим документам
Практически каждый современный ИИ-ассистент умеет отвечать на вопросы, писать код и объяснять сложные вещи. Но что делать, если ему нужно работать с вашей документацией, внутренней базой знаний, инструкциями или API, которых он никогда не видел? Многие думают, что для этого нужно обучить собственную нейросеть. На практике в большинстве случаев достаточно использовать RAG (Retrieval-Augmented Generation). В…
-

JSONB против отдельных таблиц: что выбрать в PostgreSQL
Практически в каждом проекте рано или поздно возникает вопрос: Стоит ли хранить эти данные в JSONB или лучше создать отдельные таблицы? Допустим, у товара появились характеристики. Можно сделать так: А можно сделать нормализованную структуру. Какой вариант лучше? Ответ не такой очевидный. Когда JSONB действительно хорош JSONB отлично подходит, если структура данных заранее неизвестна. Например: Например:…
-

Как проектировать API, чтобы не ломать клиентов через год
Практически каждое API начинает жить по одному сценарию: «Сейчас сделаем просто, потом поправим.» Через год появляется мобильное приложение, партнеры, интеграции, публичный API — и выясняется, что любое изменение превращается в катастрофу. Проблема не в том, что API меняется. Проблема в том, что оно меняется несовместимо. 1. API — это контракт Самая распространенная ошибка — считать…
-

Как превратить компонент в чистый UI-слой
Со временем многие Vue-компоненты превращаются в мини-приложения. Они загружают данные, делают запросы, хранят бизнес-логику, управляют состоянием и одновременно отвечают за отображение. Проблема становится заметна, когда один и тот же интерфейс нужно использовать в другом месте. Вместо переиспользования приходится копировать код или добавлять десятки пропсов и флагов. В этой статье разберем подход, который помогает избежать подобных…
-

Делаем двухползунковый слайдер на VueUse
При разработке фильтров товаров, недвижимости или объявлений часто возникает задача выбора диапазона значений. Например, пользователь хочет указать цену от 10 000 до 50 000 рублей. Первое желание — подключить готовую библиотеку. Но если нужен простой и легковесный компонент, двухползунковый слайдер можно реализовать самостоятельно с помощью Vue и VueUse. Что должно получиться Компонент должен поддерживать: Почему…
-

Почему большинство задач в разработке — не про код
Когда начинаешь работать разработчиком, кажется, что главное — писать код. Чем больше строк, тем “настоящая” работа. Но чем дальше, тем сильнее ощущение, что код — это вообще финальный шаг. Иногда даже самый простой. 1. Код почти всегда уже понятен Если задачу разложить правильно: то сам код превращается в рутину.Не всегда простую, но предсказуемую. Сложность обычно…
-

Универсальный Drawer на Vue: один компонент вместо модалки, сайдбара и bottom sheet
В интерфейсах постоянно повторяется один и тот же паттерн:что-то должно появиться поверх страницы — сбоку, снизу или на весь экран. Обычно это реализуют по-разному: В итоге — куча дублирующегося кода. А можно сделать один универсальный компонент, который покрывает всё это. 💡 Идея Компонент управляется через v-model и умеет: 🧩 Пример использования <Drawer v-model=»opened» side=»right»> <div…
-

DeferRender: маленький Vue-компонент для контроля момента рендера
В веб-разработке есть класс багов, которые сложно объяснить, но легко увидеть: Во многих случаях причина одна —👉 код выполняется раньше, чем браузер завершил первый рендер В этой статье разберём простой паттерн, который решает эту проблему — DeferRender. 🚧 Проблема: неправильный момент выполнения Когда Vue монтирует компонент: Но твой код может выполниться между этими этапами. Например:…
-

Плавное переключение контента в Vue: маленький компонент, который сильно улучшает UX
В интерфейсах постоянно приходится переключать состояние: Обычно это делают через v-if. И обычно это выглядит… плохо. Резкий скачок, дергается высота, ломается восприятие. В этой статье разберём простой, но мощный паттерн — анимированный переключатель контента, который делает интерфейс заметно приятнее. 🧩 Сам компонент 🎯 Какую задачу он решает Этот компонент делает одну вещь: плавно заменяет один…
-

Scroll-контейнер с тенями на Vue: простой UX-паттерн, который реально улучшает интерфейс
В веб-интерфейсах постоянно встречаются зоны со скроллом: И у всех них есть одна и та же проблема: 👉 пользователь не всегда понимает, что блок можно прокрутить Скролл есть, но визуально это никак не обозначено.Особенно если скроллбар скрыт или минималистичный. 🎯 Решение Добавить тени сверху и снизу, которые появляются в зависимости от позиции скролла: Это простой…
