Pull to refresh
9
Михаил Миронов@alwaysdeterminated

Backend Engineer

Send message

DTO, schema, model, entity: почему в коде всё называется User

Level of difficultyMedium
Reading time6 min
Reach and readers15K

Один User сначала кажется удобным: его можно принять в запросе, вернуть из API, сохранить в базу и передать дальше.
Но со временем такой класс смешивает разные границы и перестаёт защищать код.

Разбираю на Python-примерах, чем отличаются DTO, schema, model и entity — и когда отдельные классы действительно нужны.

Читать далее

ID, token, UUID и slug: в чём разница и почему их нельзя мешать

Level of difficultyMedium
Reading time9 min
Reach and readers21K

В каждом бэкенде рано или поздно рядом появляются id, UUID, slug, token и request_id. Все они выглядят как строки, но отвечают за разные вещи.

Когда это забывают, UUID становится защитой, slug — вечной айдишкой, а token — просто ещё одним идентификатором.

Читать далее

ObjectId против UUID: как выбор _id в MongoDB влияет на API, индексы и миграции

Level of difficultyMedium
Reading time5 min
Reach and readers8.1K

_id в MongoDB кажется мелочью, пока не попадает в API, события и миграции.

Разбираем, когда оставить стандартный ObjectId, когда нужен UUID, почему его лучше хранить как BSON Binary subtype 4 и зачем иногда разделять внутренний и публичный идентификатор.

Читать далее

VARCHAR(N) в PostgreSQL: ограничение, а не экономия памяти

Level of difficultyMedium
Reading time8 min
Reach and readers13K

varchar(255) выглядит как аккуратное ограничение и часто воспринимается как способ сэкономить место.
Но в PostgreSQL это не так: база хранит фактическую строку, а не заранее выделяет память под весь лимит.

Разбираемся, что на самом деле делает VARCHAR(N), чем он отличается от text, когда ограничение полезно, а когда просто превращается в число, которое притворяется архитектурой.

Читать далее

ИИ не отменяет найм. Он просто выставляет счёт в другом месте

Level of difficultyMedium
Reading time6 min
Reach and readers10K

ИИ уже меняет разработку, поддержку, аналитику и офисную рутину. Но тезис “больше продуктивности, меньше людей” слишком удобный. На практике корпоративный ИИ часто не убирает расходы, а переносит их в токены, инфраструктуру, безопасность, интеграции, ревью, ошибки и зависимость от поставщиков.

Читать далее

Information

Rating
Does not participate
Location
Молдова
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик, Фулстек разработчик
Средний
Python
Git
SQL
PostgreSQL
Docker
ООП
Базы данных
Оптимизация кода
Redis
MongoDB