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

Связь: @devmangx

РКН: https://clck.ru/3FocB6
Download Telegram
Пишем приложение на C#-стеке

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72
Media is too big
VIEW IN TELEGRAM
Управление состояниями в .NET с помощью Stateless

Stateless — представляет собой библиотеку для реализации конечных автоматов (state machines) в .NET. Она позволяет разработчикам легко создавать и управлять состояниями объектов и их переходами

У нее лаконичный API для определения состояний и их переходов. Также есть возможность обработки асинхронных переходов между состояниями

Пример кода:
using Stateless;

var stateMachine = new StateMachine<State, Trigger>(State.Off);

stateMachine.Configure(State.Off)
.Permit(Trigger.TurnOn, State.On);

stateMachine.Configure(State.On)
.Permit(Trigger.TurnOff, State.Off);

stateMachine.Fire(Trigger.TurnOn);
Console.WriteLine(stateMachine.State); // Output: On


👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
Media is too big
VIEW IN TELEGRAM
CRUD веб приложение на ASP.NET Core, React, EF Core, Postgresql с чистой архитектурой

Рассматриваются: введение, слой с domain-моделями, работа с базой данных, конфигурация модели, добавление репозитория, настройка класса Program, создание Docker-контейнера с PostgreSQL, слой бизнес-логики, контроллеры, фронтенд, а в конце демонстрируется результат.

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

👉 @KodBlog | #курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Вы используете Central Package Management в .NET?

Если вы слышите об этом впервые, вас ждет интересное открытие

Управлять зависимостями для одного проекта достаточно просто

Но что, если у вас 50–100 проектов в одном решении?

Это часто встречается в случае модульных монолитов или микросервисов

Когда у вас много зависимостей в проектах, можно использовать Central Package Management

С его помощью вы можете определить все зависимости NuGet в одном файле

Этот файл содержит версии ваших NuGet-пакетов

Ваши проекты на C# просто ссылаются на необходимые пакеты без указания версии

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🙏41
Немного про DDD: Реализация событий предметной области в .NET

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Как передавать данные в фоновые задачи?

Это не так просто сделать с помощью встроенного IHostedService

Он работает непрерывно, и вам пришлось бы сначала сохранить состояние в базе данных, чтобы использовать его в фоновой задаче

Quartz решает эту проблему, позволяя передавать данные при планировании задачи

Вы можете прикрепить данные либо к самой задаче (Job), либо к триггеру (Trigger).

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
Media is too big
VIEW IN TELEGRAM
Entity Framework Core на практике : репозитории, миграции, модели, связи, запросы к PostgreSQL

Видео охватывает работу с Entity Framework: создание моделей и связей, настройка DbContext, конфигурации, миграции, использование репозиториев, AsNoTracking, а также операции CRUD и пагинацию.

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

👉 @KodBlog | #курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Забыл про имбу 🤖

while True: learn() — это игра-симулятор о программировании и машинном обучении.

Вы играете за программиста, который пытается создать идеальный алгоритм машинного обучения, чтобы понять своего кота. Кот общается странным образом, и игрок должен построить модели, которые смогут расшифровать его "язык".

Она не требует реальных знаний кодинга, так что играть может даже тот, кто вообще не связан с ИТ

Игра доступна в стиме, но не бесплатная - тут

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👨‍💻3🔥2
15 Лучших Инструментов для .NET Разработки

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥85🔥2👍1🤔1
5 причин, почему простой метод расширения в C# чаще всего лучше AutoMapper:

𝟭. Простота
Пишите только то, что нужно. Методы расширения позволяют выполнять точное сопоставление без лишней настройки.

𝟮. Производительность
Без рефлексии и скрытых затрат. Прямое сопоставление обеспечивает оптимальную производительность на этапе выполнения, экономя драгоценные миллисекунды.

𝟯. Читаемость
Код должен быть понятным. Методы расширения делают маппинг явным, убирая догадки о том, что куда сопоставляется.

𝟰. Гибкость
Ваш код — ваши правила. Настраивайте логику маппинга под конкретные сценарии, не ограничиваясь рамками библиотеки.

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

Простота, производительность и контроль чаще всего побеждают, особенно при создании чистого и поддерживаемого кода

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Полиморфизм в C#

Учебный пример по полиморфизму в C# с пояснениями

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

👉 @KodBlog | #курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3😐2🔥1
15+ библиотек .NET, которые стоит знать:

Mediator — для реализации CQRS (GitHub)
Dapper — легковесный микро-ORM (GitHub)
Serilog и NLog — мощные инструменты для логирования (Serilog, NLog)
Bogus — генератор фейковых данных (GitHub)
FluentValidation — упрощение проверки данных (Официальный сайт)
SignalR — для взаимодействия в реальном времени (Документация)
NSubstitute — упрощает создание моков (Официальный сайт)
Hangfire и Quartz — фоновые задачи (Hangfire, Quartz)
Noda Time — лучшая библиотека для работы с датами и временем (Официальный сайт)
Autofac — контейнер для управления зависимостями (Официальный сайт)
MiniProfiler — для мониторинга производительности (Официальный сайт)
Automapper, Mapster, Mapperley — удобные инструменты для маппинга объектов (Automapper, Mapster, Mapperley)
Polly — обработка ошибок и управление сбоями (GitHub)
NewtonSoft JSON — работа с JSON-объектами (Официальный сайт)
BenchmarkDotNet — измерение производительности кода (Официальный сайт)
Swagger — удобный инструмент для документирования API (Swagger)

Эти инструменты значительно упростят и улучшат вашу разработку!

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍205🔥3
Переход от монолита к микросервисам: руководство

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Какой самый простой способ запускать фоновые задачи в .NET?

Фоновые задачи — это процессы или операции, которые выполняются независимо от основного потока выполнения программы или приложения.

Обычно такие задачи работают в фоновом режиме, без прямого взаимодействия с пользователем, и могут выполнять различные функции, такие как:

🟡Уведомления
🟡Периодические задачи
🟡Планировщики
🟡Обработка сообщений
🟡Асинхронная обработка
🟡Обработка данных в реальном времени

Для реализации этого в .NET можно использовать интерфейс IHostedService.

Он включает два метода:

🟡 StartAsync
🟡 StopAsync

Вы можете добавить в него необходимые действия. Всё, что нужно сделать, — зарегистрировать эту службу в файле программы, и всё готово.

Для простых фоновых задач этого достаточно. Для более сложных сценариев вы можете использовать следующие NuGet-пакеты:

🟡 Hangfire
🟡 Quartz

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101🔥1👏1
Media is too big
VIEW IN TELEGRAM
Создайте свое первое приложение C# Windows Forms

В этом пошаговом руководстве вы создадите своё первое приложение Windows Forms на языке C# с использованием Visual Studio. Windows Forms — это графический интерфейс пользователя (GUI), который позволяет создавать настольные приложения с богатым и интерактивным пользовательским интерфейсом.

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

👉 @KodBlog | #курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤣94🔥2
Библиотека устойчивости HTTP в .NET предоставляет готовые к использованию каналы устойчивости для отправки HTTP-запросов.

Стандартный канал включает следующие стратегии:

🍩Ограничение скорости (Rate limiter)
🍩Общий таймаут запроса (Total request timeout)
🍩Повторная попытка (Retry)
🍩Прерыватель цепи (Circuit breaker)
🍩Таймаут одной попытки (Attempt timeout)


👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4
Event Sourcing и Saga с помощью Marten и Wolverine на C# и немного модульного монолита

📖 Читать: ссылка

👉 @KodBlog | #cтатья
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥1
Какие существуют способы передачи параметров в REST API?

Существует несколько способов передачи параметров в REST API:

🍩 Параметры запроса (Query Parameters):
- Добавляются в конец URL.
- Видны в URL запроса.
- Пример: https://api.example.com/resource?id=123&name=john

🍩 Заголовки запроса (Request Headers):
- Передаются в HTTP-заголовках.
- Используются для передачи информации, такой как токены аутентификации.
- Пример: Authorization: Bearer token123

🍩 Тело запроса (Request Body):
- Используется для передачи более сложных данных.
- Обычно применяется в запросах POST и PUT.
- Данные передаются в теле запроса в формате JSON или XML.

🍩 Параметры пути/URL (Path/URL Parameters):
- Используются для добавления динамических значений в URL.
- Являются частью пути URL.
- Пример: https://api.example.com/client/123/department/456/employees

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥2💯21
Media is too big
VIEW IN TELEGRAM
☺️Самоучитель по модульному тестированию C# для начинающих

В нем рассматриваются основы модульного тестирования, включая создание тестов, использование фреймворков и лучшие практики для обеспечения качества кода. Это полезный ресурс для разработчиков, стремящихся улучшить свои навыки тестирования в C#.

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

👉 @KodBlog | #курсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🙏2
Свободный открытый деинсталятор приложений для Windows на C# 😊

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

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

Ссылка: тык

👉 @KodBlog | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍53