🔧 Обновления .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 | Другие наши каналы
В этом месяце вышли новые обновления .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 | Другие наши каналы
В .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 | Другие наши каналы
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 | Другие наши каналы
Узнайте, как начать работать с генеративным ИИ в .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 | Другие наши каналы
Кирилл Пронин из 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 | Другие наши каналы
Узнайте, как оптимизировать логирование в .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 | Другие наши каналы
Вам понравятся свежие обновления для 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 | Другие наши каналы
В рамках анализа 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 | Другие наши каналы
Делегаты в 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 | Другие наши каналы
Делегаты в 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 | Другие наши каналы
В статье автор делится опытом реализации кастования через оператор '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 | Другие наши каналы
Суть статьи: Паттерн Репозитория популяризировался благодаря концепциям 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 | Другие наши каналы
Встретилась необходимость генерировать случайные строки для тестирования или анонимизации данных? Разработанное решение позволяет создать такие строки любой длины с абсолютной случайностью буквально за секунды. Идеально для наполнения тестовой базы данных разработчикам всех уровней. Эффективная генерация уникальных строк на 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 | Другие наши каналы
Описание: Управление переменными окружения в 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 | Другие наши каналы
Использование 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 | Другие наши каналы
Теперь вы можете использовать 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 | Другие наши каналы
Пост: Изучение 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 | Другие наши каналы
Текст: В .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 | Другие наши каналы
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
📌 Оптимизация кода с битовыми операциями в C#
Автор делится успешным опытом упаковки 12 булевых и одного байтового значений в поле типа ushort для экономии памяти. В статье подробно раскрыт подход к использованию битовых операций и создания иммутабельных классов, что облегчает управление состоянием объектов в C#.
Читать подробнее: https://habr.com/ru/articles/885116/
#ru
@dot_net_c_sharp | Другие наши каналы
Автор делится успешным опытом упаковки 12 булевых и одного байтового значений в поле типа ushort для экономии памяти. В статье подробно раскрыт подход к использованию битовых операций и создания иммутабельных классов, что облегчает управление состоянием объектов в C#.
Читать подробнее: https://habr.com/ru/articles/885116/
#ru
@dot_net_c_sharp | Другие наши каналы
⚡2👍2
Узнайте возможности GitHub Copilot
Приглашаем на прямую трансляцию 27 февраля 2025 года в 10:00 по тихоокеанскому времени. Познакомьтесь с GitHub Copilot, изучите лучшие практики его использования и создайте мини-игру с нуля вместе с нами. Мы также покажем, как эффективно использовать GitHub Codespaces. Не пропустите!
Подробности: https://devblogs.microsoft.com/dotnet/lets-learn-dotnet-github-copilot-event/
#en
@dot_net_c_sharp | Другие наши каналы
Приглашаем на прямую трансляцию 27 февраля 2025 года в 10:00 по тихоокеанскому времени. Познакомьтесь с GitHub Copilot, изучите лучшие практики его использования и создайте мини-игру с нуля вместе с нами. Мы также покажем, как эффективно использовать GitHub Codespaces. Не пропустите!
Подробности: https://devblogs.microsoft.com/dotnet/lets-learn-dotnet-github-copilot-event/
#en
@dot_net_c_sharp | Другие наши каналы
⚡2