C# (C Sharp) programming
18.7K subscribers
754 photos
38 videos
8 files
673 links
По всем вопросам- @haarrp

C# - обучающий канал Senior C# разработчика.

@ai_machinelearning_big_data - Machine learning

@itchannels_telegram - 🔥лучшие ит-каналы

@csharp_ci - C# академия

@pythonlbooks- книги📚

Реестр РКН: https://clck.ru/3Fk3kb
Download Telegram
🧩 Как собрать приложение Playground: React + .NET Aspire

Если вы хотите быстро создать SPA на React (через Vite) вместе с backend’ом на ASP.NET Core, .NET Aspire делает это очень просто.

➡️ Новый пример на GitHub показывает, как интегрировать React-приложение и ASP.NET Core API в единую .NET Aspire‑архитектуру.

Что внутри:

- AspireJavaScript.AppHost — проект‑оркестратор на .NET Aspire
- AspireJavaScript.MinimalApi — API на ASP.NET Core (возвращает тестовые данные)
- AspireJavaScript.React — фронтенд на React (Vite), потребляющий API
- Также есть варианты на Angular и Vue

⚙️ Преимущества:

- Авто‑конфигурация сервисов и портов через Aspire Dashboard
- Простое связывание frontend/backend без ручной настройки
- Visual Studio или CLI (dotnet run) запускают всю систему сразу

Для запуска понадобится:

- .NET 8 SDK (или новее), Node.js (≥ 20.x), Docker Desktop/Podman
- В каждом клиентском (React/Angular/Vue) каталоге выполнить npm install, затем запустить через Aspire

📦 Структура запуска:


# из папки с AppHost
dotnet run
# откроется Aspire Dashboard
# через него можно перейти в React‑frontend, вызвав API


🧠 Почему это круто:

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

📌 Подробности

@react_tg
🗂 SimpleFolderIcon

Полезный инструмент, который поможет кастомизировать цвет и метку значка ваших папок в браузере проектов Unity.

➡️ GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀В открытый доступ выкатили Matrix-Game 2.0 — это открытая модель генерации мира, аналог Genie 3

Эта модели умеет генерировать виртуальные и интерактивные 3D-миры в реальном времени (25fps) и при этом работать пару минут без потери контекста.

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

Huggingface тут.
Репозиторий с примерами здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Ваши коллеги уже изучают .NET 10 → а вы готовы остаться на старых версиях?

Каждый релиз .NET приносит десятки нововведений, которые меняют подходы к разработке. Пока одни программисты осваивают новый синтаксис C# 14 и возможности runtime, другие продолжают писать код «по-старому» и удивляются, почему их решения выглядят устаревшими.

.NET 10 — это не просто очередное обновление. Это LTS-версия, которая задаст стандарты разработки на ближайшие годы. Новый синтаксический сахар, field и extension в C# 14, обновления в MAUI и EF Core — всё это уже меняет то, как пишут современные приложения.

Вебинар «Что нового в .NET 10 для разработчиков» в рамках курса «C# углубленный»

→ 18 августа, 20:00

→ Антон Герасименко

Программа:

→ Обзор ключевых нововведений .NET 10 и их практическое применение
→ Синтаксические конструкции C# 14: сахар, field, extension
→ Изменения в runtime и их влияние на производительность приложений 
→ Новые возможности MAUI и EF Core для современной разработки

После вебинара вы поймёте, как адаптировать свой код под новые стандарты, сможете читать и писать современный C# код и не будете отставать от коллег, которые уже перешли на актуальные версии.

Бесплатная регистрация — займите место в числе первых: https://otus.pw/dmGS/?erid=2W5zFHRBTUk

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🌀 Try .NET — интерактивная среда для работы с .NET прямо в браузере. Проект позволяет запускать и редактировать C#-код в интерактивных документах и учебных материалах, что особенно полезно для обучающих платформ вроде Microsoft Learn.

С помощью dotnet try можно превращать обычные Markdown-файлы в интерактивные руководства с исполняемыми примерами кода. Интеграция с Blazor дает возможность создавать подобный опыт прямо на веб-страницах без необходимости локальной установки SDK.

🤖 GitHub

@csharp_ci
Не сравнивай строки через .ToLower()

Плохая практика:

bool equal = stringA.ToLower() == stringB.ToLower();


Медленно (каждый раз создаёт новые строки)
Лишние аллокации памяти

Правильный способ:


bool equal = string.Equals(stringA, stringB, StringComparison.OrdinalIgnoreCase);

Без лишних аллокаций
Намного быстрее
Чёткий контроль над правилами сравнения

📊 Бенчмарки:


.ToLower() → ~38 ns

.ToUpper() → ~50 ns

string.Equals(..., OrdinalIgnoreCase) → ~0.003 ns 🚀
Что если за один вечер успеть прокачать скилы у пирса, вдохновиться новыми идеями за мороженым и отдохнуть под DJ-сет на закате?

GoSharp Weekend от Ozon Tech — летняя перезагрузка для тех, кто пишет на Go и C#.

Эксперты команд backend-разработки Ozon Tech поделятся внутренними исследованиями и инструментами оптимизации, которые уже доказали эффективность в продакшене.

Подавай заявку и жди приглашения!
🧼 Как писать чистый и тестируемый middleware в ASP.NET Core

Самый простой способ — сделать его строго типизированным.

📦 Что нужно:
1. Создай класс, который реализует IMiddleware
2. Помести всю логику в InvokeAsync(...)

Но не забудь два важных шага:

Зарегистрируй middleware в DI-контейнере:
services.AddTransient<YourMiddleware>();

Добавь его в пайплайн:
app.UseMiddleware<YourMiddleware>();

🎯 Такой подход:
- делает middleware переиспользуемым
- учитывает область действия зависимостей (scoped)
- и позволяет легко покрыть тестами

Идеально, если хочешь поддерживаемый и чистый код.
Что выведет на экран этот код?
Anonymous Quiz
12%
True, True
33%
True, False
23%
False, False
26%
False, True
6%
🥒