RU

150 запросов на один flush, и 4343 зелёных теста. Как я делал детектор N+1 и как он сам меня обманывал

Один open-source тайм-трекер на Symfony имеет 4343 теста, и все они проходят. При этом каждое сохранение записи времени отправляет в базу три дополн…

phpunitdoctrinelaraveln+1ormленивая загрузкаquery-guard
Habr
RU

Что скрывают популярные ORM для C#: проверка проектов RepoDB и SqlSugar

Когда речь заходит об ORM, большинство C# разработчиков сразу вспоминают мощный Entity Framework Core или же легковесный Dapper. Но что насчёт RepoD…

.netormc#c#.netsqlпрограммированиестатический анализинформационная безопасность
Habr
RU

Предзагрузил пачкой — получил N² запросов. Как expire_on_commit превращает оптимизацию в квадрат

Бывают ошибки, которые не видит ни ревью, ни тесты: код отрабатывает правильно, прогон зелёный, а запросов к базе он делает в сто раз больше прежнег…

sqlalchemyormpostgresqlpythonn+1оптимизацияпроизводительностьexpire_on_commitпрофилирование
Habr
RU

Я написал ASGI-фреймворк, в котором дерево папок — это и есть API

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

pythonasgiвеб-фреймворкormpostgresqlopen sourceбезопасностьтестированиебэкенд
Habr
EN

Gnome GJS - ActiveRecord ORM

A lightweight, asynchronous ActiveRecord ORM designed for GJS (GNOME JavaScript) applications. Built natively on top of libgda (GNOME Data Access).…

gnomegjsdatabaseorm
Dev.to
RU

DAO vs Repository и ORM: где заканчивается архитектура и начинается хаос

Всем привет! Я Дмитрий Милов, Python-разработчик компании МУЛЬТИФАКТОР в команде продукта MULTIDIRECTORY, мы разрабатываем собственную службу катало…

multifactormultidirectoryархитектура приложенийоопpythonormчистый кодпаттерныrepositorydao
Habr