.NET / C# – Telegram
.NET / C#
3.92K subscribers
2.14K photos
40 videos
1 file
3.69K links
Лучшие материалы по разработке на платформе .NET и языке C#

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Часть 1: Почему стандартное логирование может тормозить .NET-приложения

Узнайте, как стандартное логирование в .NET может замедлять работу приложения. Разбираем основные проблемы, связанные с записью логов, и их влияние на производительность.

Читать: «Часть 1: Почему стандартное логирование может тормозить .NET-приложения»

#ru

@dot_net_c_sharp | Другие наши каналы
2
Улучшения в C# Dev Kit: что нового?

Вышло обновление C# Dev Kit для VS Code, улучшающее ваш опыт работы. Включены режим работы без файлов решений, поддержка .NET Aspire для оптимизации процессов и усовершенствования в Razor/Blazor. Обновленные функции делают разработку и отладку более эффективной и удобной. Дайте нам знать ваше мнение!

Подробности: https://devblogs.microsoft.com/dotnet/csharp-on-visual-studio-code-just-got-better-with-enhancements-to-csharp-dev-kit/

#en

@dot_net_c_sharp | Другие наши каналы
🔧 Обновления .NET: версии 9.0.2 и 8.0.13

В этом месяце вышли новые обновления .NET 9.0.2 и 8.0.13, но никаких новых исправлений безопасности не добавлено. Обновления касаются ASP.NET Core, EF Core и других компонентов. Подробности смотрите в релиз-заметках. Не забудьте обновить свои версии.

Подробности: https://devblogs.microsoft.com/dotnet/dotnet-and-dotnet-framework-february-2025-servicing-updates/

#en

@dot_net_c_sharp | Другие наши каналы
🔍 Разделяй и здравствуй: CQRS и MediatR

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

Подробности: https://milanjovanovic.hashnode.dev/stop-conflating-cqrs-and-mediatr

#en

@dot_net_c_sharp | Другие наши каналы
🔧 Увеличьте продуктивность с C# Source Generators

C# Source Generators — это инструмент, который упрощает разработку, автоматически генерируя код во время компиляции. Он позволяет избежать рутинных задач и повысить производительность. Узнайте о создании методов `ToString` и генерации классов на основе таблиц БД в статье.

Подробности: https://softlogy.hashnode.dev/c-source-generators-let-your-code-write-code-for-you

#en

@dot_net_c_sharp | Другие наши каналы
Новый курс: Генеративный ИИ для .NET-разработчиков

Узнайте, как начать работать с генеративным ИИ в .NET! Этот курс познакомит вас с базовыми понятиями, настройкой среды и созданием решений на основе ИИ с использованием инструментов Microsoft и GitHub. Присоединяйтесь и применяйте ИИ в своих проектах уже сегодня!

Подробности: https://devblogs.microsoft.com/dotnet/announcing-generative-ai-for-beginners-dotnet/

#en

@dot_net_c_sharp | Другие наши каналы
🔥2
🚀 Автоматизация офисных приложений в Linux: новые горизонты

Кирилл Пронин из PIX Robotics делится опытом интеграции PIX Studio с офисными приложениями в Linux. В статье рассматриваются тонкости работы с XML-форматами и выбор между XDocument и XmlDocument. Узнайте, как эффективно обрабатывать данные и управлять документацией.

Читать подробнее: https://habr.com/ru/companies/pix_robotics/articles/882242/

#ru

@dot_net_c_sharp | Другие наши каналы
Часть 2: Как оптимизировать логирование в .NET: советы и примеры

Узнайте, как оптимизировать логирование в .NET на практике. Разбираем тесты производительности, сравниваем методы и показываем, как автоматизировать переход на эффективное логирование.

Читать: «Часть 2: Как оптимизировать логирование в .NET: советы и примеры»

#ru

@dot_net_c_sharp | Другие наши каналы
Новые возможности для разработки с Razor

Вам понравятся свежие обновления для Visual Studio и Visual Studio Code! Функция Extract to Component упростит создание компонентов, а токенизатор Roslyn улучшит обработку C# в Razor. Узнайте, как эти инструменты сделают ваш код чище и эффективнее.

Подробности: https://devblogs.microsoft.com/dotnet/enhancing-razor-productivity-with-new-features/

#en

@dot_net_c_sharp | Другие наши каналы
👍1
🔍 Обнаружены ошибки в MSBuild от Microsoft

В рамках анализа MSBuild, инструмента для сборки приложений от Microsoft, выявлены потенциальные ошибки. Первый случай: некорректная строка формата при вызове метода Trace, что приводит к потере сообщений об ошибках. Во втором случае неправильная отписка от событий может привести к неожиданному поведению.

Читать подробнее: https://habr.com/ru/companies/pvs-studio/articles/882530/

#ru

@dot_net_c_sharp | Другие наши каналы
👍2
Погружаемся в мир делегатов C#

Делегаты в C#—это указатели на методы, хранящие ссылки в хипе и позволящие взаимодействовать с классами и их переменными. В данной статье разъясняется, как делегаты работают на низком уровне. Обсуждаются механизмы, такие как замыкания, и отличается ли их поведение с классами и структурами.

Читать подробнее: https://habr.com/ru/articles/882676/

#ru

@dot_net_c_sharp | Другие наши каналы
👍4
🔍 Делегаты в C#: что это и зачем нужно?

Делегаты в C# позволяют передавать методы как аргументы и хранить функции в переменных, что делает код более гибким и переиспользуемым. Они похожи на указатели функций в C++, но более безопасны. Из статьи вы узнаете, как использовать делегаты для логирования и динамического вызова методов.

Подробности: https://theoramalatso.hashnode.dev/understanding-delegates-in-c

#en

@dot_net_c_sharp | Другие наши каналы
👍3
Тайны кастования в C#: изучаем детали

В статье автор делится опытом реализации кастования через оператор 'as' в C#, исследуя, при каких условиях возникают ошибки компиляции. Вопросы возникают на границе работы с интерфейсами. Почему компилятор позволяет преобразования, даже если класс не реализует интерфейс напрямую? Ответ скрыт в особенностях C#.

Читать подробнее: https://habr.com/ru/articles/882888/

#ru

@dot_net_c_sharp | Другие наши каналы
🗿1
Паттерн Репозитория: Когда и как использовать

Суть статьи: Паттерн Репозитория популяризировался благодаря концепциям Domain-Driven Design, но его нередко применяют неуместно. Он эффективен для сложной логики и агрегатов, но избыточен для простых CRUD операций. Важно понимать, когда использовать репозиторий, чтобы не усложнять код. Правильное применение DDD и паттерна Repository

Текст: Domain-Driven Design — это методология, а не универсальное решение. Важно понимать контексты и создавать целостные модели, не превращая каждую таблицу в репозиторий. Ценим простоту и продуманность архитектуры для достижения лучших результатов.

Подробности: https://danyl.hashnode.dev/the-overuse-of-repositories

#en

@dot_net_c_sharp | Другие наши каналы
Генерация случайных строк: быстро и просто

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

Реализован алгоритм, генерирующий 100 млн. уникальных строк менее чем за минуту на обычном ПК. Генерация происходит через GUID и криптохэширование с параллельной обработкой. Результат сохраняется в массив, который при записи в файл занимает около 4Гб. Код проверен на .NET8.

Читать подробнее: https://habr.com/ru/companies/alfa/articles/883226/

#ru

@dot_net_c_sharp | Другие наши каналы
Настройка переменных окружения в IIS без перезагрузки

Описание: Управление переменными окружения в IIS может быть сложной задачей. В статье рассматриваются различные подходы, такие как настройка на уровне системы, для служб W3SVC и WAS, а также через файл applicationHost.config. Узнайте об их преимуществах и ограничениях.

Подробности: https://andrewlock.net/setting-environment-variables-in-iis-and-avoiding-app-pool-restarts/

#en

@dot_net_c_sharp | Другие наши каналы
Как улучшить производительность запросов в EF Core

Использование EF Core может быть медленным, особенно при обработке больших объемов данных. В статье обсуждается семь стратегий для оптимизации запросов. Среди них — проекция нужных данных, использование .AsSplitQuery() для работы с связанными сущностями и применение асинхронных методов для повышения отзывчивости приложений.

Подробности: https://ujjwal-ghatani-dev.hashnode.dev/boost-your-applications-performance-7-effective-strategies-for-writing-efficient-db-queries-in-ef-core

#en

@dot_net_c_sharp | Другие наши каналы
🚀 Новый SDK для работы с Chroma в C#!

Теперь вы можете использовать Chroma как базу данных для ваших AI-приложений в .NET. Это открытый инструмент для семантического поиска и хранения данных, включая векторный и полнотекстовый поиск. Начните с ChromaDB.Client и оценивайте возможности Chroma на практике.

Подробности: https://devblogs.microsoft.com/dotnet/announcing-chroma-db-csharp-sdk/

#en

@dot_net_c_sharp | Другие наши каналы
👍2
Осваиваем Docker и C# вместе: начнем с основ

Пост: Изучение Docker и C# может показаться сложным, но все начинается с простых шагов. Как построить докерфайл и создать консольное приложение на C#? Статья предлагает пошаговый подход, чтобы настроить ваш проект, используя базовые команды dotnet и многослойную сборку. Эффективная сборка .NET приложений

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

Читать подробнее: https://habr.com/ru/articles/884084/

#ru

@dot_net_c_sharp | Другие наши каналы
3
Нововведения в .NET MAUI: снижение размера приложений и улучшение производительности

Текст: В .NET 9 для .NET MAUI появляются новые возможности, такие как поддержка NativeAOT и оптимизация кода через полное обрезание. Эти функции помогают уменьшить размер приложений и улучшить их быстродействие. Разработчики могут теперь использовать инструменты .NET для анализа производительности своих приложений. Оптимизация .NET MAUI: новые инструменты и возможности

.NET 9 приносит улучшения в производительность приложений MAUI, включая полное сокращение и поддержку NativeAOT. С помощью инструментов dotnet-trace и dotnet-gcdump разработчики могут анализировать производительность своих приложений, уменьшая их размер и улучшая время запуска.

Подробности: https://devblogs.microsoft.com/dotnet/dotnet-9-performance-improvements-in-dotnet-maui/

#en

@dot_net_c_sharp | Другие наши каналы
🔍 Новые возможности ASP.NET Core 9: отключение метрик

ASP.NET Core 9 предлагает функцию выборочного отключения http-метрик, что позволяет исключать технические endpoints из метрик. Это полезно для минимизации ненужной статистики и облегчения работы с данными в minimal API, контроллерах и middleware. В статье рассмотрены примеры и механика работы этого инструмента. Новые возможности метрик в ASP.NET Core

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

Читать подробнее: https://habr.com/ru/articles/880738/

#ru

@dot_net_c_sharp | Другие наши каналы
4