fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

C# 1001 notes

C# 1001 notes

رفتن به کانال در Telegram

Регулярные короткие заметки по C# и .NET. Просто о сложном для каждого. admin - @haarrp

نمایش بیشتر
6 687
مشترکین
-324 ساعت
+67 روز
+3830 روز
آرشیو پست ها
Основы обобщений (Generics) в C#: классы, интерфейсы, методы и делегаты Generics — это фундамент гибкого и переиспользуемого
Основы обобщений (Generics) в C#: классы, интерфейсы, методы и делегаты Generics — это фундамент гибкого и переиспользуемого кода в C#. На открытом вебинаре курса OTUS C# Developer. Professional Павел Нилов объяснит, как работают обобщения, зачем они нужны и как с их помощью писать код, который не боится масштабирования. 📌 18 ноября, 20:00 Основы обобщений (Generics) в C# — классы, интерфейсы, методы и делегаты — ковариантность, контравариантность и ограничения — эффективное использование List и Dictionary — примеры и разбор типичных ошибок Вебинар бесплатный и подойдёт начинающим .NET-разработчикам, студентам и джунам, готовящимся к собеседованиям, а также тем, кто хочет систематизировать знания по Generics. 👉 Регистрируйтесь: https://otus.pw/SjQq/?erid=2W5zFH97jxt Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Что выведет код? Пишите ответ в комментариях
Что выведет код? Пишите ответ в комментариях

Гид по Redis в C# ASP.NET: ускоряем приложения и снижаем нагрузку на базу данных. Redis — быстрая база данных в памяти, котор
Гид по Redis в C# ASP.NET: ускоряем приложения и снижаем нагрузку на базу данных. Redis — быстрая база данных в памяти, которая помогает масштабировать системы и ускорять доступ к данным. На открытом вебинаре курса OTUS C# ASP.NET Core разработчик Андрей Сорокин покажет, как интегрировать Redis в ASP.NET Core 8 и внедрить кэширование в реальных проектах. 📌 12 ноября, 20:00 Гид по Redis в C# ASP.NET — настройка Redis в Docker — кэширование ответов API — хранение данных для быстрого доступа — ускорение обработки запросов и снижение нагрузки на БД Вебинар бесплатный и будет полезен C#-разработчикам, архитекторам и тимлидам, которые хотят повысить производительность приложений и упростить масштабирование. 👉 Регистрируйтесь: https://otus.pw/7CFj/?erid=2W5zFHZ3J6k Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

⚡️ Вышел pgbalancer 1.0 - интеллектуальный балансировщик нагрузки для PostgreSQL Представлен первый стабильный релиз pgbalanc
⚡️ Вышел pgbalancer 1.0 - интеллектуальный балансировщик нагрузки для PostgreSQL Представлен первый стабильный релиз pgbalancer 1.0 — балансировщика нагрузки для PostgreSQL, построенного на основе pgpool-II с существенными доработками. Проект позиционируется как решение с элементами адаптивной маршрутизации запросов, управляемое через REST API и поддерживающее MQTT для потоковой передачи событий в реальном времени. Ключевые особенности: • Управление пулом соединений и распределение нагрузки между репликами PostgreSQL; •Поддержка HTTP/REST для конфигурации и мониторинга; • Интеграция с MQTT для стриминга метрик и событий; • Реализация на языке C с сохранением производительности оригинального pgpool-II; • Распространяется под открытой лицензией PostgreSQL. https://www.pgelephant.com/pgbalancer

Повышение надёжности .NET-приложений: как обрабатывать сбои и предотвращать каскадные ошибки. Даже самые стабильные системы л
Повышение надёжности .NET-приложений: как обрабатывать сбои и предотвращать каскадные ошибки. Даже самые стабильные системы ломаются — вопрос лишь в том, насколько вы готовы к этому. Библиотека Polly позволяет гибко управлять сбоями и повышать устойчивость микросервисов и API. На открытом вебинаре курса OTUS C# ASP.NET Core разработчик Виктор Дзицкий покажет, как использовать Polly и HttpClientFactory для защиты приложений от временных отказов и непредсказуемых сетевых ошибок. 📌 6 ноября, 20:00 Повышение надежности .NET-приложений с Polly — ключевые стратегии и политики Polly — настройка и комбинирование стратегий для сложных сценариев — защита от каскадных сбоев и готовые паттерны устойчивости — улучшения в .NET 8 Вебинар бесплатный и подойдёт .NET-разработчикам, работающим с микросервисами и внешними API, которые хотят сделать свои системы по-настоящему отказоустойчивыми. 👉 Регистрируйтесь: https://otus.pw/Ketn/?erid=2W5zFJKZcBJ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🚀 5 мощных приёмов рефакторинга в C#, которые сделают ваш код чище, проще и надёжнее Больше не пишите “спагетти” — превращай
🚀 5 мощных приёмов рефакторинга в C#, которые сделают ваш код чище, проще и надёжнее Больше не пишите “спагетти” — превращайте запутанный код в красивую архитектуру. ✅ Уберите дублирование ✅ Разбейте методы ✅ Используйте DI и фабрики ✅ Спрячьте логику в объекты ✅ Упростите условия 👉 Пример до/после — на картинке: из хаоса в чистый, тестируемый, поддерживаемый код. 📌 Подробнее

Нашёл отличный учебник по основам Computer Science - настоящая находка! Он охватывает всё самое важное: от классики вроде алг
Нашёл отличный учебник по основам Computer Science - настоящая находка! Он охватывает всё самое важное: от классики вроде алгоритма Евклида до продвинутых тем — динамическое программирование, криптография, анализ сложности и не только. Материал подан чётко, логично и последовательно: каждая концепция — с примерами, интуитивными пояснениями и строгими доказательствами. Идеально подойдёт тем, кто хочет выйти за рамки синтаксиса и глубоко понять, как устроен код изнутри. https://eecs376.github.io/notes/algorithms.html

‼️ Хотите стать разработчиком на C# и создавать игры или бэкенд-приложения? Не знаете, с чего начать? 🎯 Курс «C# Developer»
‼️ Хотите стать разработчиком на C# и создавать игры или бэкенд-приложения? Не знаете, с чего начать? 🎯 Курс «C# Developer» состоит из двух ступеней, с практикой в Scrum-команде и реальными кейсами. Вы освоите не только основы C# и .NET Core, но и научитесь применять LINQ, работать с SQL и использовать Git для управления версиями. 🦾 Это обучение поможет вам перейти с нуля на Middle. Вы изучите продвинутые инструменты бэкенда, повысите качество кода, освоите Scrum и сможете работать в высококачественной команде. А еще вы получите диплом OTUS, который ценят в крупных IT-компаниях. ➡️ Оставьте заявку и получите скидку на обучение, старт уже 29 октября: https://otus.pw/vIeG/?erid=2W5zFJTwJNk Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Что выведет код? 1 — Выбросит исключение 2 — Произойдет взаимоблокировка 3 — Напечатает слово "test" 4 — Напечатает слово "te
Что выведет код? 1 — Выбросит исключение 2 — Произойдет взаимоблокировка 3 — Напечатает слово "test" 4 — Напечатает слово "test" бесконечное число раз

EF Core: Что скрывают за репозиторием? Entity Framework Core — мощный инструмент, но его часто оборачивают в Repository Patte
EF Core: Что скрывают за репозиторием? Entity Framework Core — мощный инструмент, но его часто оборачивают в Repository Pattern, не задумываясь, действительно ли это нужно. На открытом вебинаре курса OTUS C# Developer. Professional Виктор Дзицкий покажет, когда репозиторий оправдан, а когда он только мешает. 📌 5 ноября, 20:00EF Core: Что скрывают за репозиторием? — когда Repository Pattern избыточен — реализация Specification Pattern для гибких запросов — как объединить оба подхода для чистой архитектуры Вебинар бесплатный и будет полезен C# и .NET-разработчикам, которые активно используют EF Core и хотят сделать код доступа к данным тестируемым и поддерживаемым. 👉 Регистрируйтесь: https://otus.pw/LsRF/?erid=2W5zFJBmqU4 Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

🧩 Несколько DbContext в одном приложении на EF Core — когда это нужно Использовать несколько DbContext в одном приложении —
🧩 Несколько DbContext в одном приложении на EF Core — когда это нужно Использовать несколько DbContext в одном приложении — не ошибка, а часто отличное архитектурное решение. Вот когда это оправдано: - 🗃 Работа с несколькими базами данных - 🧠 Разделение областей ответственности - 🧩 Архитектура modular monolith - ⚡ Использование read replicas Автор применил это при создании модульного монолита: каждый модуль имел собственную схему в БД и отдельный DbContext в коде. Самое интересное — как EF Core справляется с миграциями и разными схемами баз данных. Разбор и пошаговое решение — здесь: 🔗 https://milanjovanovic.tech/blog/using-multiple-ef-core-dbcontext-in-single-application #DotNet #EFCore #CSharp #Backend #Architecture #DesignPatterns

🖥 Гайд по PostgreSQL для продвинутых разработчиков PostgreSQL – одна из самых мощных СУБД с открытым исходным кодом. Этот га
🖥 Гайд по PostgreSQL для продвинутых разработчиков PostgreSQL – одна из самых мощных СУБД с открытым исходным кодом. Этот гайд подробно охватывает ключевые аспекты PostgreSQL: от внутренней архитектуры до приёмов оптимизации. Мы рассмотрим администрирование, производительность, расширения, инструменты, а также сравним популярные ORM для Python и Go. В конце приведён список продвинутых вопросов, часто встречающихся на собеседованиях. 🟠Гайд

С EF Core можно делать действительно классные вещи — вот пример конфигурации сущности: - 🔒 Check constraint: Price > 0 — защ
С EF Core можно делать действительно классные вещи — вот пример конфигурации сущности: - 🔒 Check constraint: Price > 0 — защита данных прямо на уровне БД. - 🎯 Precision control — задаём точность для столбца Price, чтобы избежать ошибок округления. - 🧩 Unique index на Name — просто потому что можно (и полезно). Пример конфигурации:

builder.Property(p => p.Price)
    .HasPrecision(10, 2);

builder.HasCheckConstraint("CK_Product_Price_Positive", "Price > 0");

builder.HasIndex(p => p.Name)
    .IsUnique();
Следующий шаг — создать EF migration, чтобы применить эти настройки в базе данных. Если вы хотите разобраться глубже — вот отличный гайд по миграциям в EF Core: гайд

🔥 Открытый урок «C# и ORM: работаем с базой данных». Взаимодействие с базами данных - классический сценарий работы программы
🔥 Открытый урок «C# и ORM: работаем с базой данных». Взаимодействие с базами данных - классический сценарий работы программы. В рамках ОУ рассмотрим инструменты из категории ORM, которые позволяют используя язык C# работать с БД (на примере PostgreSQL) безопасно и эффективно. 🗓 21 октября в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «C# Developer». 🎯 О чём поговорим: ✔️ для чего нужны БД ✔️ Какие сценарии использования реляционных баз данных на примере PostgreSQL ✔️ Что такое ORM ✔️ Какие библиотеки (ORM) используются при разработке на C# для работы с базами данных ✔️CRUD операции (создать, читать, обновить, удалить запись в БД) 👥 Кому будет полезно: - Тем, кто понимает, как работает C#, но хочет узнать, как применять его в реальных программах - Тем, кто писал на других языках программирования, и хочет узнать, как работать с БД на платформе .Net 🔗 Ссылка на регистрацию: https://otus.pw/iONDI/?erid=2W5zFHHzeNc Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

⚡ .NET Channel Publisher — простой способ строить настоящий async messaging 📌 Как это работает: - Использует System.Threadin
⚡ .NET Channel Publisher — простой способ строить настоящий async messaging 📌 Как это работает: - Использует System.Threading.Channels для асинхронной публикации событий - Сообщения пишутся в канал и обрабатываются в фоне, не блокируя поток - Поддержка CancellationToken для безопасной отмены 🔥 Плюсы: - Минимум кода — максимум гибкости - Высокая производительность и низкая задержка - Удобно для event-driven архитектуры и микросервисов На скриншоте: - Пример класса ChannelPublisher для отправки нотификаций - Трейсинг вызова Order.Service: POST orders показывает прозрачную обработку и асинхронность #dotnet #csharp #async #messaging

Что мне нравится в **.NET Aspire** 👇 👉 С ним невероятно просто запускать полезные сервисы. Всего в несколько строк кода мож
Что мне нравится в **.NET Aspire** 👇 👉 С ним невероятно просто запускать полезные сервисы. Всего в несколько строк кода можно поднять: - базу данных - Redis - LLM - reverse proxy - message broker Можно даже масштабировать сервисы, чтобы проверить сценарии с конкурентной нагрузкой. Если вы ещё не пробовали построить своё первое Aspire-приложение — у меня есть подробный гайд о том, как я мигрировал свой .NET проект в Aspire. 🟠Читать здесь: https://milanjovanovic.tech/blog/dotnet-aspire-a-game-changer-for-cloud-native-development

🌟 Знаете ли вы, что с помощью информационных атрибутов можно получить информацию о вызывающем методе? @csharp_ci
🌟 Знаете ли вы, что с помощью информационных атрибутов можно получить информацию о вызывающем методе? @csharp_ci

⚡️ .NET-приложения должны быть устойчивыми — и сделать их надежнее реально за пару минут. В .NET 8 и выше есть библиотеки от
⚡️ .NET-приложения должны быть устойчивыми — и сделать их надежнее реально за пару минут. В .NET 8 и выше есть библиотеки от Microsoft и обновлённый API Polly — популярной библиотеки для повышения надёжности и обработки сбоев. С Polly можно легко настроить стратегии: - повтор запросов (Retry) - резервные сценарии (Fallback) - ограничение времени (Timeout) - контроль частоты (Rate-limiting) - автоматическое отключение при сбоях (Circuit breaker) Эти механизмы помогают облачным приложениям оставаться живыми даже в условиях ошибок и перегрузок. Подробный разбор тут

🔥 Лучшая фича C# за последние годы? Pattern Matching Зачем он нужен: Pattern matching позволяет элегантно проверять объект н
🔥 Лучшая фича C# за последние годы? Pattern Matching Зачем он нужен: Pattern matching позволяет элегантно проверять объект на определённые свойства: - ✅ Является null или не null - ✅ Является объектом конкретного типа - ✅ Имеет свойство с определённым значением В связке со switch-выражениями и record-типами это превращает код в лаконичный и выразительный. 📌 Пример:

static string PrintShape(object shape) =>
    shape switch
    {
        null => "Нет объекта",
        Circle c => $"Круг с радиусом {c.Radius}",
        Rectangle { Width: > 0, Height: > 0 } r => $"Прямоугольник {r.Width}x{r.Height}",
        _ => "Неизвестная фигура"
    };

⚡️ dotnet/eShop — справочное .NET-приложение (reference application) 📌 Что это такое - Приложение-пример на .NET, которое ре
⚡️ dotnet/eShop — справочное .NET-приложение (reference application) 📌 Что это такое - Приложение-пример на .NET, которое реализует веб-сайт электронной коммерции (eCommerce) с архитектурой, основанной на сервисах. - Использует .NET 9. - Код лицензирован по MIT. 📌 Как запустить - Клонировать репозиторий. - Установить .NET 9 SDK. - Для Windows: можно использовать Visual Studio (2022 17.10+). - Можно запустить через Docker Desktop. - Через терминал: ```bash dotnet run --project src/eShop.AppHost/eShop.AppHost.csproj 📌 Особенности Пример данных каталога хранится в catalog.json, описания продуктов и брендов — вымышленные. Изображения продуктов сгенерированы с помощью DALL·E 3. Есть версия приложения, подготовленная для деплоя в Azure. 📌 Почему полезно - Подходит как учебный материал для изучения структуры реального .NET-приложения. - Демонстрирует современные практики: архитектура, CI/CD, микросервисы. - Можно использовать как стартовую точку для собственных проектов. #dotnet #eCommerce #ReferenceApp #MIT #Architecture #SampleProject #Microservices Репозиторий: https://github.com/dotnet/eShop