Автор: dvcarrot
-

Альтернативная организация NestJS-проекта: разделение API и бизнес-слоя
Один из вариантов организации NestJS-проекта: отдельно API, бизнес-модули, репозитории и интеграции. Разбираем плюсы такого подхода.
-

Архитектура — это не папки и паттерны
Откройте любой новый проект на GitHub. Скорее всего, вы увидите знакомую картину: папки Domain, Application, Infrastructure, Presentation, десятки интерфейсов, фабрик, сервисов, репозиториев и других элементов «правильной» архитектуры. Проект выглядит солидно. Создается впечатление, что он хорошо спроектирован. Но внешний вид структуры каталогов почти ничего не говорит о качестве архитектуры. Потому что архитектура — это не папки.…
-

Qdrant MCP Server: как добавить долговременную память AI-ассистенту
Большие языковые модели отлично генерируют текст, помогают писать код и отвечают на вопросы. Но у них есть одна особенность — они не запоминают информацию между сессиями. Если сегодня вы рассказали AI о своем проекте, а завтра открыли новый чат, модель уже ничего не знает. Именно эту проблему решает Qdrant MCP Server — официальный MCP-сервер от…
-

Qdrant MCP Server: подключаем базу знаний к AI через MCP
Большие языковые модели умеют отвечать на вопросы, писать код и анализировать текст. Но без дополнительного контекста они ничего не знают о вашем проекте. Как AI узнать структуру вашего API? Где искать внутреннюю документацию? Как найти архитектурное решение, принятое несколько месяцев назад? Один из способов решить эту задачу — подключить базу знаний через Model Context Protocol…
-

Qdrant: современная векторная база данных для AI-приложений
Большие языковые модели, семантический поиск и RAG-системы сделали векторные базы данных практически обязательным элементом современной инфраструктуры. Если раньше приложения искали информацию только по ключевым словам, то сегодня они умеют искать по смыслу. Именно для этого и существуют векторные базы данных. Одной из самых популярных open-source реализаций является Qdrant. Она активно развивается, легко запускается через Docker…
-

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. Что должно получиться Компонент должен поддерживать: Почему…
