Автор: dvcarrot

  • RAG простыми словами: как научить ИИ отвечать по вашим документам

    RAG простыми словами: как научить ИИ отвечать по вашим документам

    —

    от автора

    в

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

  • JSONB против отдельных таблиц: что выбрать в PostgreSQL

    JSONB против отдельных таблиц: что выбрать в PostgreSQL

    —

    от автора

    в ,

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

  • Как проектировать API, чтобы не ломать клиентов через год

    Как проектировать API, чтобы не ломать клиентов через год

    —

    от автора

    в

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

  • Как превратить компонент в чистый UI-слой

    Как превратить компонент в чистый UI-слой

    —

    от автора

    в

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

  • Делаем двухползунковый слайдер на VueUse

    Делаем двухползунковый слайдер на VueUse

    —

    от автора

    в

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

  • Почему большинство задач в разработке — не про код

    Почему большинство задач в разработке — не про код

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

  • Универсальный Drawer на Vue: один компонент вместо модалки, сайдбара и bottom sheet

    Универсальный Drawer на Vue: один компонент вместо модалки, сайдбара и bottom sheet

    —

    от автора

    в

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

  • DeferRender: маленький Vue-компонент для контроля момента рендера

    DeferRender: маленький Vue-компонент для контроля момента рендера

    —

    от автора

    в

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

  • Плавное переключение контента в Vue: маленький компонент, который сильно улучшает UX

    Плавное переключение контента в Vue: маленький компонент, который сильно улучшает UX

    —

    от автора

    в

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

  • Scroll-контейнер с тенями на Vue: простой UX-паттерн, который реально улучшает интерфейс

    Scroll-контейнер с тенями на Vue: простой UX-паттерн, который реально улучшает интерфейс

    —

    от автора

    в

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