Информация
- В рейтинге
- 1 519-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Бэкенд разработчик, Фулстек разработчик
Ведущий
C#
.NET
.NET Core
Entity framework
ASP.NET
SQL
PostgreSQL
Git
ООП
MongoDB
Практичная тема для небольших ASP.NET Core-проектов: несколько приложений на одном VPS, домены третьего уровня, nginx и SSL — частый реальный сценарий. Хорошо, когда такие шаги описаны именно как цельный deploy-процесс, а не отдельные несвязанные команды.
Интересный опыт разработки multi-tenant backend на ASP.NET API. Особенно полезно, что тема показана через реальные вопросы: разделение данных, модель доступа, бронирования и постепенное обучение в процессе проекта. Такие практические заметки хорошо дополняют официальную документацию.
Хорошо, что MVC, SOA, DDD, modular monolith и микросервисы рассматриваются как этапы решения разных проблем, а не как линейная шкала «старое-плохое, новое-хорошее». Для ASP.NET-проектов это особенно полезно: часто modular monolith оказывается более здравым шагом, чем ранний уход в микросервисы.
Актуальная тема для API-first подхода в .NET: после изменений вокруг Swashbuckle хочется понимать, какие есть практичные варианты для документации API. Scalar выглядит интересным именно как часть процесса проектирования контрактов, а не просто как красивая страница вместо Swagger UI.
Хорошая базовая раскладка по идентификации, аутентификации и авторизации. Для ASP.NET Core это особенно важно, потому что многие проблемы с безопасностью начинаются не в коде контроллера, а в неверном понимании ролей OAuth, OIDC, токенов и claims.
Полезная тема для любого ASP.NET-разработчика: GC обычно незаметен, пока приложение не выходит под нагрузку. Хорошо, что материал помогает связать базовые механики сборки мусора с реальными последствиями для памяти, latency и поведения backend-сервиса.
Хорошее сравнение двух подходов внутри ASP.NET. MVC всё ещё силён своей предсказуемостью и зрелой экосистемой, а Blazor интересен возможностью писать интерактивный UI на C#. На практике выбор, кажется, сильно зависит от команды и типа интерфейса.
Outbox отлично закрывает типичную проблему между транзакцией в БД и публикацией сообщения в брокер. Особенно полезно, что статья показывает не абстрактную «надёжность», а конкретный способ снизить риск потерянных событий в распределённой системе на .NET.
Хороший учебный проект для роста в ASP.NET/C#: есть понятная личная боль, backend-задачи, React и работа с фундаментальными темами вроде SOLID и паттернов. Такие проекты полезны именно тем, что заставляют не просто читать теорию, а сразу проверять её на живой функциональности.
Интересная идея использовать историю изменений не для «охоты на виноватых», а как повод посмотреть на реальный вклад и динамику работы в команде. Особенно полезно, что инструментальный подход можно применить к OpenSource и IDE-плагинам, где ручной анализ быстро становится неудобным.
Понравилось, что статья показывает ASP.NET Core не в вакууме, а в реальной продуктовой среде: Telegram-вход, локализация, таймзона Ташкента, несколько доменов и nginx. Такие детали хорошо напоминают, что архитектура часто рождается из ограничений бизнеса.
Спасибо, замечание принимаю. Смысл фразы был в том, что retry работает с техническим failure, а для бизнеса важен возможный дубль операции. Но подача правда получилась слишком "цитатная". Поправлю текст, чтобы читалось спокойнее и без ощущения сгенерированной вставки.
Кажется, вывод в статье сформулирован неаккуратно.
attmissingval— это не “место хранения default-значения колонки”, а служебное missing value для строк, где новый атрибут физически отсутствует. Причём оно используется только приatthasmissing = true. Текущий default как выражение живёт черезpg_attrdef/column_default, аattmissingval— это уже зафиксированное значение для старых строк после fastADD COLUMN DEFAULT.Солидарен с вами
Хорошая компактная памятка по DI lifetime’ам. Особенно полезно, что внимание уделено не только моменту создания объектов, но и ограничениям между lifetime’ами и освобождению ресурсов через
Dispose. Для ASP.NET Core это база, которую важно понимать точно.Интересный взгляд на DDD без идеализации. Мне кажется, особенно важна мысль, что архитектурные паттерны нужно сверять с размером домена, количеством агрегатов и навигацией по коду, а не применять «по канону» в любом проекте.
Спасибо за глубокий разбор внутренней кухни MassTransit. Особенно полезно увидеть библиотеку не только через
AddMassTransitи consumer’ы, а через pipeline, DI-регистрацию, конфигурацию и runtime-обработку сообщений.Хороший практический разбор: gRPC часто выглядит простым до первого столкновения с
decimal,DateTime, nullable и enum. Такие статьи помогают заранее заложить нормальные правила контрактов, а не чинить кодогенерацию уже в процессе миграции.Полезная production-тема, которую легко недооценить на dev-среде. Особенно понравилось, что разобраны не только симптомы вроде 431, но и несколько вариантов лечения: от чистки claims до серверных сессий.
Отличный материал для backend-разработчиков. Пример с низким CPU и высоким p99 хорошо показывает, почему блокировки async-кода опасны не только «по учебнику», а вполне измеримо на уровне ThreadPool и latency.