C# Portal | Программирование – Telegram
C# Portal | Программирование
14.9K subscribers
974 photos
118 videos
24 files
815 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для C#-разработчика

Связь: @devmangx

РКН: https://clck.ru/3FocB6
Download Telegram
Когда вы пишете код, важно убедиться, что он работает эффективно, при этом оставаясь читаемым.

В этом руководстве вас научат, как тестировать производительность вашего кода.

Вы узнаете, как запускать бенчмарки, измерять выделение памяти и многое другое.

Ссылка: тут

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4👏1
Примеры .NET DateOnly и TimeOnly

Мне очень нравятся эти новые типы, добавленные в dotnet 6.

Они позволяют нам лучше выражать намерения в коде и делают его более понятным для других разработчиков, показывая, что нас интересует только дата или только время.

До .NET 6 мы часто просто использовали DateTime и отбрасывали часть с временем для таких переменных, как DateOfBirth или OrderDate.

А ты часто их используешь? 🤔

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍179🔥6
Media is too big
VIEW IN TELEGRAM
Планирование фоновых задач в .NET с помощью Quartz

Видео посвящено настройке и использованию Quartz.NET в .NET для создания фоновых задач. Рассматриваются внедрение зависимостей, конфигурация Quartz, создание и планирование заданий с IJob, настройка ожидания завершения задач, предотвращение одновременного выполнения с DisallowConcurrentExecution и использование IConfigureOptions для управления фоновыми заданиями.

📲 Cмотреть источник: тут

👉 @KodBlog | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2
Как мы сделали такую простую идею такой сложной? 🤔

CQRS — это один из самых простых паттернов.

CQRS разделяет операции записи и чтения в приложении.

Это разделение может быть логическим ИЛИ физическим.

CQRS имеет множество преимуществ:

🟡Управление сложностью
🟡Повышенная производительность
🟡Масштабируемость
🟡Гибкость
🟡Безопасность

Мой предпочтительный подход — начинать с логического CQRS.

Одна база данных + отдельные потоки для записей и чтений.

Вы можете разработать модель данных, оптимизированную для каждой операции.

Многие разработчики избегают CQRS, боясь его сложности.

Они думают, что для реализации CQRS нужен MediatR.

Это не так.

Вот почему: клик

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
Процесс компиляции в .NET для C#, включая этапы от написания исходного кода до его выполнения.

Описание охватывает компиляцию в Common Intermediate Language (CIL), хранение в сборке, а также Just-In-Time (JIT) компиляцию в Common Language Runtime (CLR). Также упоминается Ahead-Of-Time (AOT) компиляция для оптимизации производительности.

Читать: клик

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113
SimpleAuth4Net — легковесная, но мощная библиотека для аутентификации в .NET-приложениях!

Быстро интегрирует авторизацию через OAuth или OpenID Connect, без сложной настройки и написания лишнего кода

🟡поддержка нескольких провайдеров аутентификации
🟡минимальная конфигурация, понятный API
🟡возможность адаптации под нужды проекта

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥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
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3🔥2
Вот быстрый способ добавить вход и регистрацию в ваш .NET-бэкенд:

🍩Установите один пакет NuGet:

dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore


🍩Определите класс, наследующий IdentityUser, чтобы представить пользователей в базе данных. Можно начать с пустого класса.

🍩Сделайте ваш DbContext наследником IdentityDbContext. В OnModelCreating обязательно вызовите base.OnModelCreating.

🍩Добавьте миграцию и обновите базу данных. У вас появится около 7 новых таблиц для управления пользователями, ролями, правами и т. д.

🍩Зарегистрируйте сервисы:

services.AddIdentityApiEndpoints<IdentityUser>()
.AddEntityFrameworkStores<ApplicationDbContext>();


🍩Включите эндпоинты:

app.MapIdentityApi<IdentityUser>();


🍩Теперь клиентские приложения могут использовать /register и /login в API для регистрации и входа пользователей.

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4🤔21🤯1
Media is too big
VIEW IN TELEGRAM
Паттерн Abstract Factory, Абстрактная фабрика, C#, Unity

Видео объясняет порождающий паттерн проектирования "Абстрактная фабрика", начиная с его определения, ключевых аспектов и UML-схемы. Оно показывает, как этот паттерн помогает создавать семейства объектов (например, юниты, UI-элементы), избегая привязки к конкретным классам. Приводятся практические примеры кода: сначала без фабрик, затем с использованием абстрактной фабрики.

📲 Cмотреть источник: тут

👉 @KodBlog | #видео
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
Как достичь развертывания без простоя с помощью YARP , используя стратегии Blue-Green и Canary

Читать: клик

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
Работа с документами 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
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍54
Media is too big
VIEW IN TELEGRAM
Cancellation Token в C#. Как использовать ресурсы сервера оптимально

Видео объясняет использование CancellationToken в .NET, включая его применение в ASP.NET, обработку исключений при отмене задач, использование в обычных приложениях и работу с ним в синхронных контекстах, помогая управлять отменой операций и предотвращать ошибки.

📲 Cмотреть источник: тут

👉 @KodBlog | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1731🔥1
Изменение стандартного вида отладки для класса 👆

Я недавно об этом узнал, но мы можем изменить стандартное отображение отладки для класса C# с помощью атрибута DebuggerDisplay.

Достаточно добавить атрибут [DebuggerDisplay] в класс

Это делает отладку удобнее, сразу показывая ключевую информацию о каждом объекте.

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥164
OData в .NET Core: основы и лучшие практики

Если работаешь с OData в .NET Core, то эта статья — для тебя. Внутри разобраны ключевые концепции, REST-принципы, фильтрация, пагинация и лучшие практики для построения масштабируемых API.

Сохраняйте в закладки, это база 🔥

Читать: клик

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3😁3
Методы 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥123
Что такое туннели Dev в Visual Studio? 👩‍💻

Dev Tunnels в Visual Studio позволяют нам открывать доступ и отлаживать наши локальные API через удаленные URL-адреса.

Ранее, при интеграции со сторонними сервисами, которые использовали вебхуки или обратные вызовы для уведомления наших приложений о произошедших событиях, нам требовался общедоступный URL.

Для многих разработчиков это означало необходимость развертывания в Azure App Service или другом облачном сервисе, чтобы проверить, работают ли методы обработки обратных вызовов.

Теперь в Visual Studio можно создать Dev Tunnel, который создаст удаленный URL, перенаправляющий запросы в запущенный локально экземпляр.

Затем этот URL можно указать в настройках вебхука стороннего сервиса, и при вызове удаленного URL у нас сработают брейкпоинты в локальной среде – что значительно упрощает процесс разработки.

Ставь лайк, если пробовал ❤️

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥922
Хотите начать работу с искусственным интеллектом на C#?

Microsoft выпустили репозиторий dotnet/ai-samples, который показывает, как интегрировать искусственный интеллект в .NET-приложения.

Microsoft.Extensions.AI – библиотека для работы с LLM, SLM и эмбеддингами в .NET.
Microsoft.Extensions.AI.Evaluation – инструменты для оценки качества ответов LLM.
Готовые примеры: OpenAI/Azure OpenAI SDK, чат-боты, функции суммаризации.

👉 @KodBlog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4🤯31
Media is too big
VIEW IN TELEGRAM
Подключаемся к API REST из браузера. CORS

Автор показывает, как настроить CORS на бэкенде, добавляя политику с разрешёнными источниками, заголовками и методами. Также демонстрируется исправление ошибки, связанной с редиректом с HTTP на HTTPS. В конце видео даются рекомендации по безопасной настройке CORS, ограничивая доступ только для доверенных источников.

📲 Cмотреть источник: тут

👉 @KodBlog | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥2