Как мы сделали такую простую идею такой сложной? 🤔
CQRS — это один из самых простых паттернов.
CQRS разделяет операции записи и чтения в приложении.
Это разделение может быть логическим ИЛИ физическим.
CQRS имеет множество преимуществ:
🟡 Управление сложностью
🟡 Повышенная производительность
🟡 Масштабируемость
🟡 Гибкость
🟡 Безопасность
Мой предпочтительный подход — начинать с логического CQRS.
Одна база данных + отдельные потоки для записей и чтений.
Вы можете разработать модель данных, оптимизированную для каждой операции.
Многие разработчики избегают CQRS, боясь его сложности.
Они думают, что для реализации CQRS нужен MediatR.
Это не так.
⏩ Вот почему: клик
👉 @KodBlog
CQRS — это один из самых простых паттернов.
CQRS разделяет операции записи и чтения в приложении.
Это разделение может быть логическим ИЛИ физическим.
CQRS имеет множество преимуществ:
Мой предпочтительный подход — начинать с логического CQRS.
Одна база данных + отдельные потоки для записей и чтений.
Вы можете разработать модель данных, оптимизированную для каждой операции.
Многие разработчики избегают CQRS, боясь его сложности.
Они думают, что для реализации CQRS нужен MediatR.
Это не так.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3
Процесс компиляции в .NET для C#, включая этапы от написания исходного кода до его выполнения.
Описание охватывает компиляцию в Common Intermediate Language (CIL), хранение в сборке, а также Just-In-Time (JIT) компиляцию в Common Language Runtime (CLR). Также упоминается Ahead-Of-Time (AOT) компиляция для оптимизации производительности.
⏩ Читать: клик
👉 @KodBlog | #cтатья
Описание охватывает компиляцию в Common Intermediate Language (CIL), хранение в сборке, а также Just-In-Time (JIT) компиляцию в Common Language Runtime (CLR). Также упоминается Ahead-Of-Time (AOT) компиляция для оптимизации производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3
SimpleAuth4Net — легковесная, но мощная библиотека для аутентификации в .NET-приложениях!
Быстро интегрирует авторизацию через OAuth или OpenID Connect, без сложной настройки и написания лишнего кода
🟡 поддержка нескольких провайдеров аутентификации
🟡 минимальная конфигурация, понятный API
🟡 возможность адаптации под нужды проекта
👉 @KodBlog
Быстро интегрирует авторизацию через OAuth или OpenID Connect, без сложной настройки и написания лишнего кода
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🔥1
Как стать AWS Data Engineer
В Amazon Web Services доступно сотни сервисов, но вам не нужно изучать их все.
Достаточно сосредоточиться на 10-20 сервисах, которые используются в работе дата-инженера, а также на сервисах для сетевого взаимодействия и управления доступом.
AWS-сервисы для дата-инженеров:👇
☑ Simple Storage Service (S3):
Это объектное хранилище (можно хранить любые данные) и, по сути, центр вашей работы. Вся поступающая информация будет храниться здесь для дальнейшей обработки.
☑ AWS Glue:
Хотите писать ETL-скрипты (Extract, Transform, Load) на Python/Spark без забот о серверах? Glue — это серверлесс-сервис, где вам нужно сосредоточиться только на коде, а AWS возьмет на себя всё остальное.
☑ Amazon Redshift:
Обработали данные и написали ETL-скрипт — куда их загружать? В хранилище данных! Amazon Redshift — это управляемый сервис для работы с Data Warehouse, который позволяет анализировать данные с помощью SQL и инструментов BI.
☑ Amazon EMR (Elastic MapReduce):
Если у вас уже есть скрипты обработки данных на локальных серверах с использованием Hadoop/Spark и вы хотите перенести их в облако, EMR — ваш выбор.
Этот сервис упрощает обработку больших объемов данных с помощью фреймворков с открытым исходным кодом, таких как Apache Hadoop и Apache Spark.
☑ AWS Lambda:
Хотите запускать короткие скрипты по расписанию, событиям или триггерам? Lambda — ваш лучший друг!
AWS Lambda — это серверлесс-сервис, позволяющий запускать код без управления серверами. Используется для автоматизации процессов и обработки данных в реальном времени.
☑ Amazon Athena:
Зачем загружать данные в хранилище, если можно просто выполнять SQL-запросы прямо по файлам? Athena — это сервис для выполнения ad-hoc SQL-запросов непосредственно по данным, хранящимся в S3.
☑ Kinesis:
Хотите обрабатывать, анализировать и сохранять потоковые данные в реальном времени? Kinesis — ваш инструмент!
Аналог Apache Kafka, позволяет работать с потоковыми данными.
☑ DMS (Data Migration Service):
Работа с миграцией данных становится намного проще благодаря DMS. Если вам нужно перенести данные между разными источниками, этот сервис поможет справиться с задачей быстро и без лишних сложностей.
Помимо этого, можно изучить и другие полезные сервисы: EC2, IAM, VPC, Batch, SageMaker и др.
👉 @KodBlog
В Amazon Web Services доступно сотни сервисов, но вам не нужно изучать их все.
Достаточно сосредоточиться на 10-20 сервисах, которые используются в работе дата-инженера, а также на сервисах для сетевого взаимодействия и управления доступом.
AWS-сервисы для дата-инженеров:
Это объектное хранилище (можно хранить любые данные) и, по сути, центр вашей работы. Вся поступающая информация будет храниться здесь для дальнейшей обработки.
Хотите писать ETL-скрипты (Extract, Transform, Load) на Python/Spark без забот о серверах? Glue — это серверлесс-сервис, где вам нужно сосредоточиться только на коде, а AWS возьмет на себя всё остальное.
Обработали данные и написали ETL-скрипт — куда их загружать? В хранилище данных! Amazon Redshift — это управляемый сервис для работы с Data Warehouse, который позволяет анализировать данные с помощью SQL и инструментов BI.
Если у вас уже есть скрипты обработки данных на локальных серверах с использованием Hadoop/Spark и вы хотите перенести их в облако, EMR — ваш выбор.
Этот сервис упрощает обработку больших объемов данных с помощью фреймворков с открытым исходным кодом, таких как Apache Hadoop и Apache Spark.
Хотите запускать короткие скрипты по расписанию, событиям или триггерам? Lambda — ваш лучший друг!
AWS Lambda — это серверлесс-сервис, позволяющий запускать код без управления серверами. Используется для автоматизации процессов и обработки данных в реальном времени.
Зачем загружать данные в хранилище, если можно просто выполнять SQL-запросы прямо по файлам? Athena — это сервис для выполнения ad-hoc SQL-запросов непосредственно по данным, хранящимся в S3.
Хотите обрабатывать, анализировать и сохранять потоковые данные в реальном времени? Kinesis — ваш инструмент!
Аналог Apache Kafka, позволяет работать с потоковыми данными.
Работа с миграцией данных становится намного проще благодаря DMS. Если вам нужно перенести данные между разными источниками, этот сервис поможет справиться с задачей быстро и без лишних сложностей.
Помимо этого, можно изучить и другие полезные сервисы: EC2, IAM, VPC, Batch, SageMaker и др.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥2
Вот быстрый способ добавить вход и регистрацию в ваш .NET-бэкенд:
🍩 Установите один пакет NuGet:
🍩 Определите класс, наследующий IdentityUser, чтобы представить пользователей в базе данных. Можно начать с пустого класса.
🍩 Сделайте ваш DbContext наследником IdentityDbContext. В OnModelCreating обязательно вызовите base.OnModelCreating.
🍩 Добавьте миграцию и обновите базу данных. У вас появится около 7 новых таблиц для управления пользователями, ролями, правами и т. д.
🍩 Зарегистрируйте сервисы:
🍩 Включите эндпоинты:
🍩 Теперь клиентские приложения могут использовать
👉 @KodBlog
dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore
services.AddIdentityApiEndpoints<IdentityUser>()
.AddEntityFrameworkStores<ApplicationDbContext>();
app.MapIdentityApi<IdentityUser>();
/register и /login в API для регистрации и входа пользователей.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4🤔2❤1🤯1
Media is too big
VIEW IN TELEGRAM
Паттерн Abstract Factory, Абстрактная фабрика, C#, Unity
Видео объясняет порождающий паттерн проектирования "Абстрактная фабрика", начиная с его определения, ключевых аспектов и UML-схемы. Оно показывает, как этот паттерн помогает создавать семейства объектов (например, юниты, UI-элементы), избегая привязки к конкретным классам. Приводятся практические примеры кода: сначала без фабрик, затем с использованием абстрактной фабрики.
📲 Cмотреть источник: тут
👉 @KodBlog | #видео
Видео объясняет порождающий паттерн проектирования "Абстрактная фабрика", начиная с его определения, ключевых аспектов и UML-схемы. Оно показывает, как этот паттерн помогает создавать семейства объектов (например, юниты, UI-элементы), избегая привязки к конкретным классам. Приводятся практические примеры кода: сначала без фабрик, затем с использованием абстрактной фабрики.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥1
Практические советы по операциям вывода в C# для новичков
Если ты новичок — отметься лайком❤️
👉 @KodBlog
Если ты новичок — отметься лайком
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥18🍌3🤯2
Работа с документами Office на .NET
Если нужно генерировать, читать или изменять файлы Word, Excel и PowerPoint (форматы .docx, .xlsx, .pptx) без установки Microsoft Office – Open-XML-SDK от Microsoft отлично подойдёт
☑ Создание и редактирование файлов без COM и Interop
☑ Извлечение данных из документов (например, текст из Word или ячейки из Excel)
☑ Высокая производительность при работе с большими файлами
☑ Поддержка .NET Core и .NET 6+
Использовали Open-XML-SDK?🤔 \
👉 @KodBlog
Если нужно генерировать, читать или изменять файлы Word, Excel и PowerPoint (форматы .docx, .xlsx, .pptx) без установки Microsoft Office – Open-XML-SDK от Microsoft отлично подойдёт
Использовали Open-XML-SDK?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍5❤4
Media is too big
VIEW IN TELEGRAM
Cancellation Token в C#. Как использовать ресурсы сервера оптимально
Видео объясняет использование CancellationToken в .NET, включая его применение в ASP.NET, обработку исключений при отмене задач, использование в обычных приложениях и работу с ним в синхронных контекстах, помогая управлять отменой операций и предотвращать ошибки.
📲 Cмотреть источник: тут
👉 @KodBlog | #видео
Видео объясняет использование CancellationToken в .NET, включая его применение в ASP.NET, обработку исключений при отмене задач, использование в обычных приложениях и работу с ним в синхронных контекстах, помогая управлять отменой операций и предотвращать ошибки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17⚡3❤1🔥1
Изменение стандартного вида отладки для класса 👆
Я недавно об этом узнал, но мы можем изменить стандартное отображение отладки для класса C# с помощью атрибута D
Достаточно добавить атрибут [DebuggerDisplay] в класс
Это делает отладку удобнее, сразу показывая ключевую информацию о каждом объекте.
👉 @KodBlog
Я недавно об этом узнал, но мы можем изменить стандартное отображение отладки для класса C# с помощью атрибута D
ebuggerDisplay.Достаточно добавить атрибут [DebuggerDisplay] в класс
Это делает отладку удобнее, сразу показывая ключевую информацию о каждом объекте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥16❤4
Методы LINQ в .NET 9.
⏩ Materialization/Conversion (Материализация/Конвертация) — методы преобразования коллекций (например, ToList, ToArray, ToDictionary).
⏩ Projection (Проекция) — методы преобразования данных (Select, SelectMany).
⏩ Filtering (Фильтрация) — методы для выбора элементов (Where, SkipWhile, TakeWhile).
⏩ Grouping (Группировка) — методы для группировки элементов (GroupBy, CountBy).
⏩ Aggregation (Агрегация) — методы для вычисления суммарных значений (Sum, Average, Max).
⏩ Set Operations (Операции с множествами) — методы работы с множествами (Union, Intersect, Except).
⏩ Order (Сортировка) — методы сортировки (OrderBy, ThenBy).
⏩ Element (Элементы) — методы извлечения элементов (FirstOrDefault, SingleOrDefault).
⏩ Sequence (Последовательности) — методы работы с последовательностями (Reverse, Append, Chunk).
⏩ Merging (Объединение) — методы объединения последовательностей (Join, Zip).
Это наглядная карта возможностей LINQ, полезная для понимания его функциональности в .NET 9.
👉 @KodBlog
Это наглядная карта возможностей LINQ, полезная для понимания его функциональности в .NET 9.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥12⚡3
Что такое туннели Dev в Visual Studio? 👩💻
Dev Tunnels в Visual Studio позволяют нам открывать доступ и отлаживать наши локальные API через удаленные URL-адреса.
Ранее, при интеграции со сторонними сервисами, которые использовали вебхуки или обратные вызовы для уведомления наших приложений о произошедших событиях, нам требовался общедоступный URL.
Для многих разработчиков это означало необходимость развертывания в Azure App Service или другом облачном сервисе, чтобы проверить, работают ли методы обработки обратных вызовов.
Теперь в Visual Studio можно создать Dev Tunnel, который создаст удаленный URL, перенаправляющий запросы в запущенный локально экземпляр.
Затем этот URL можно указать в настройках вебхука стороннего сервиса, и при вызове удаленного URL у нас сработают брейкпоинты в локальной среде – что значительно упрощает процесс разработки.
Ставь лайк, если пробовал❤️
👉 @KodBlog
Dev Tunnels в Visual Studio позволяют нам открывать доступ и отлаживать наши локальные API через удаленные URL-адреса.
Ранее, при интеграции со сторонними сервисами, которые использовали вебхуки или обратные вызовы для уведомления наших приложений о произошедших событиях, нам требовался общедоступный URL.
Для многих разработчиков это означало необходимость развертывания в Azure App Service или другом облачном сервисе, чтобы проверить, работают ли методы обработки обратных вызовов.
Теперь в Visual Studio можно создать Dev Tunnel, который создаст удаленный URL, перенаправляющий запросы в запущенный локально экземпляр.
Затем этот URL можно указать в настройках вебхука стороннего сервиса, и при вызове удаленного URL у нас сработают брейкпоинты в локальной среде – что значительно упрощает процесс разработки.
Ставь лайк, если пробовал
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥9❤2⚡2
Хотите начать работу с искусственным интеллектом на C#?
Microsoft выпустили репозиторий dotnet/ai-samples, который показывает, как интегрировать искусственный интеллект в .NET-приложения.
☑
☑ Microsoft.Extensions.AI.Evaluation – инструменты для оценки качества ответов LLM.
☑ Готовые примеры: OpenAI/Azure OpenAI SDK, чат-боты, функции суммаризации.
👉 @KodBlog
Microsoft выпустили репозиторий dotnet/ai-samples, который показывает, как интегрировать искусственный интеллект в .NET-приложения.
Microsoft.Extensions.AI – библиотека для работы с LLM, SLM и эмбеддингами в .NET.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4🤯3❤1
Media is too big
VIEW IN TELEGRAM
Подключаемся к API REST из браузера. CORS
Автор показывает, как настроить CORS на бэкенде, добавляя политику с разрешёнными источниками, заголовками и методами. Также демонстрируется исправление ошибки, связанной с редиректом с HTTP на HTTPS. В конце видео даются рекомендации по безопасной настройке CORS, ограничивая доступ только для доверенных источников.
📲 Cмотреть источник: тут
👉 @KodBlog | #видео
Автор показывает, как настроить CORS на бэкенде, добавляя политику с разрешёнными источниками, заголовками и методами. Также демонстрируется исправление ошибки, связанной с редиректом с HTTP на HTTPS. В конце видео даются рекомендации по безопасной настройке CORS, ограничивая доступ только для доверенных источников.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥2
Если ты кодишь на .NET и хочешь просто и красиво связывать backend с frontend – зацени dotNetify
Это фреймворк, который позволяет легко организовать real-time связь между
*️⃣ dotNetify использует WebSockets или SignalR, чтобы данные обновлялись в реальном времени без сложного API. По сути, ты просто пишешь ViewModel на C#, а фронт автоматически получает обновления.
☑ Минимум кода – не надо вручную писать REST API
☑ Реактивные обновления без перезагрузки страницы
☑ Поддержка разных фронтов (React, Vue, Blazor)
☑ можно работать как с WebSockets, так и с SignalR
👉 @KodBlog
Это фреймворк, который позволяет легко организовать real-time связь между
ASP.NET и фронтомPlease open Telegram to view this post
VIEW IN TELEGRAM
👍15🥴5❤2🔥1🌚1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4❤2🐳2
Одна из самых подробных и полезных шпаргалок для Backend-разработчиков на русском языке.
Всё, что нужно, собрано в одном месте: как устроен интернет, как работают ПК, базы данных, API, тестирование и куча всего ещё
Весь материал преисполнен разными таблицами и картинками для лучшего усвоения, вся информация подаётся кратко и понятно, а если захотите изучить детальнее — везде есть ссылки на источники.
👉 @KodBlog
Всё, что нужно, собрано в одном месте: как устроен интернет, как работают ПК, базы данных, API, тестирование и куча всего ещё
Весь материал преисполнен разными таблицами и картинками для лучшего усвоения, вся информация подаётся кратко и понятно, а если захотите изучить детальнее — везде есть ссылки на источники.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤩4🔥2😁1