Самые просматриваемые за 30 дней
Решил собрать воедино все архитектуры, которые на слуху, или которые были на слуху.
Рынок труда для .NET-разработчиков в России прошел точку бифуркации в 2026 году: после экстремального перевеса работодателей в первом квартале (hh-индекс 19-21) началась постепенная стабилизация.
Рынок труда для .NET-разработчиков в России за период 2024–2026 годов претерпел кардинальную трансформацию: от острого дефицита кадров в 2024 году (1–1,5 резюме на вакансию) до экстремального рынка работодателя в первом полугодии 2026 года (19–21 резюме на вакансию).
Мне в последнее время очень часто встречаются программисты, которые не только используют в обычной “программной” жизни структуры (struct), но вообще, ничего не знают об этом объекте. И зачастую, для простоты своей "программной" жизни используют всегда классы (class). В этой статье я бы хотел в очередной раз остановиться на различиях между структурами и классами.
Терминология имеет очень важное значение для любого разработчика, особенно важно это в концепции Domain Driven Design.
Прежде чем начать реализовывать бизнес-логику какого-либо приложения, сайта, программы, обычно приходится проделать очень много рутиной работы. А при использовании "правильного" подхода программирования, это рутина многократно увеличивается. В этой статье повествуется о том, как можно сократить количество рутины.
Довольно запутанно на первый взгляд выглядит эта троица: Принцип. Паттерн. Контейнер. Если с контейнером более или менее всё понятно, то остальные термины требуют объяснения.
Разработчики и иже с ними часто упоминают термин "логика" и/или "бизнес-логика", а что это такое? Где находится логика? В каком слое находится бизнес-логика? Как определить в тексте программы тип логики? Попробую ответить на эти и подобные этим вопросы.
Часть 11. Объектно-ориентированные упражнения на C# в контексте EntityFrameworkCore. В этом видео EntityFrameworkCore миргации и сохранение в БД созданного документа. А также UnitOfWork паттерн при использовании EntityFrameworkCore.
Построение сложных и не очень сложных систем задача не тривиальная. Причем сложность разработки увеличивается прямо пропорционально числу разработчиков, которые в ней участвуют. При таких условиях разработки, принято придерживаться предопределённых правил, шаблонов и договоренностей, не говоря уже о паттернах проектирования, общеизвестных методологий по разработки ПО и, вообще, принципах ООП.
В статье показано как установить NuGet и что это такое. Показаны примеры управления пакетами NuGet. Достаточно подробно и с картинками.
Если вы разработчик, то точно знаете, что придумать название для проекта, метода, переменной или класса, на самом деле не такое уж простое дело. Особенно если вы работает в команде. В этой статье я опишу названия проектов (projects) для одного решении (solution), которые я обычно использую или стараюсь использовать.
При разработке микросервисной архитектуры, где используются множество слабо связанных между собой сервисов, потребуется реализация взаимодествие между этими самыми микросервисами.
Func и Action обобщенные делегаты были введены в .NET Framework начиная с NET 3.5. Они обеспечивают гибкость делегатов с общими параметрами. Делегат Func предназначен для инкапсуляции метода, который принимает в качестве параметров от нуля для четырех аргументов и возвращает значение. Что же касается делегата Action, то единственное отличие его от Func – это то, что Action возвращает процедуру.
В этой серии видео роликов покажу как можно усовершенствовать принципы показанные в статье. Это второе видео, где начнем создавать сущности.
Надо ли реализовывать паттерны "Unit of Work" и "Repository" если вы используете EntityFramework Core?
Как часто вам необходимо знать, какие действия были произведены с определенной сущностью? Например, в какой момент поменялось значение какого-либо свойства?
Изучаем вместе новый фреймворк от Microsoft под названием .NET Aspire. Что такое Aspire? Зачем это нужно разработчику?
Серия роликов про коммуникации в микросервисной архитектуре на базе Rebus для .NET. В этой серии знакомство в Rebus, а также про причины ухода от MassTransit.
Не часто пишу Unit-тесты с нуля, особенно если учесть, что создавать новые проекты приходится не часто. Придумал себе такую шпаргалку, которая призвана освежить память при написании тестов с использованием Moq + xUnit + AutoFixture
Несколько способов создания self-signed сертификата, в том числе и на C#.
ключевые моменты: #csharp #abstract #theory #ООП #абстрации #программирование #теория
Серия роликов про коммуникации в микросервисной архитектуре на базе Rebus для .NET. Поговорим про паттерн SAGA и реализуем его на Rebus, используя IN-MEMORY режим хранения данных.
Особых споров по этому поводу нет, но дабы расставить все точки на "Ё" поговорим на эту тему.
Очень часто в своей работе мне приходилось использовать перечисления (Enum) в качестве информации о состоянии объекта. И всё бы вроде как хорошо, но есть некоторое неудобство, при таком подходе логика по проверке состояния (validation) объекта при смене статуса "размазывалась" по всей системе. И часто получалось, что отследить все правила перехода от одного состояния к другому практически непосильная задача, особенно если проект разрабатывает группа программистов.
Серия роликов про коммуникации в микросервисной архитектуре на базе Rebus для .NET. Создадим решение для Visual Studio (solution), куда добавим пару проектов для организации некоторой инфраструктуры.
В этом видео про: вопросы, ответы, собеседование, программирование, разработка, microservices, developer, устройство на работу, quiz, validation, валидация, бизнес-правила
Микросервисы штука непростая, я бы даже сказал, очень непростая, а коммуникации между ними еще сложнее. Хочу обозначить некоторое количество фактов, на основании которые, я надеюсь, будут приняты к сведению при выборе того или иного похода при решение задач коммуникации между микросервисами.
Аналитика 36205 записей о посещении страницы просмотра записи блога.