📰 Новый .NET 9: Что изменилось?
Недавно вышел .NET 9 с множеством улучшений и новыми функциями. В нашем дайджесте — подробности релиза, изменения в C# 13 и ускорение восстановления пакетов благодаря новому алгоритму NuGet. Также делимся последними новостями о .NET Community и топом актуальных статей 2024 года. Обновление PVS-Studio: Новая версия 7.34
Вышла PVS-Studio 7.34 с поддержкой Apple Silicon ARM64 и .NET 9. В обновлении появились новые диагностические правила и улучшения. Также состоится вебинар о статическом анализе в C#. Подробности и пробный ключ доступны на сайте.
Читать подробнее: https://habr.com/ru/companies/pvs-studio/articles/874430/
#ru
@dot_net_c_sharp | Другие наши каналы
Недавно вышел .NET 9 с множеством улучшений и новыми функциями. В нашем дайджесте — подробности релиза, изменения в C# 13 и ускорение восстановления пакетов благодаря новому алгоритму NuGet. Также делимся последними новостями о .NET Community и топом актуальных статей 2024 года. Обновление PVS-Studio: Новая версия 7.34
Вышла PVS-Studio 7.34 с поддержкой Apple Silicon ARM64 и .NET 9. В обновлении появились новые диагностические правила и улучшения. Также состоится вебинар о статическом анализе в C#. Подробности и пробный ключ доступны на сайте.
Читать подробнее: https://habr.com/ru/companies/pvs-studio/articles/874430/
#ru
@dot_net_c_sharp | Другие наши каналы
👎1
Dependency Injection в .NET Core 8: Обзор и новшества
Dependency Injection (DI) в .NET Core 8 — важнейший инструмент для создания масштабируемых и тестируемых приложений. Мы обсудим ключевые преимущества DI, такие как слабая связность и улучшенная управляемость, а также новинки в поддержке мультитенантности. Узнайте, как DI способствует созданию гибкой архитектуры вашего ПО!
Подробности: https://mukhiarambhu.hashnode.dev/dependency-injection-in-net-core-8-concepts-and-best-practices
#en
@dot_net_c_sharp | Другие наши каналы
Dependency Injection (DI) в .NET Core 8 — важнейший инструмент для создания масштабируемых и тестируемых приложений. Мы обсудим ключевые преимущества DI, такие как слабая связность и улучшенная управляемость, а также новинки в поддержке мультитенантности. Узнайте, как DI способствует созданию гибкой архитектуры вашего ПО!
Подробности: https://mukhiarambhu.hashnode.dev/dependency-injection-in-net-core-8-concepts-and-best-practices
#en
@dot_net_c_sharp | Другие наши каналы
👍2
Эволюция разработки ПО: от одиночек к большим командам
В прошлом разработку ПО зачастую осуществлял один человек или небольшая команда, которые также занимались его тестированием. Со временем процесс усложнился: сегодня разработка требует командной работы и более сложных методов коммуникации и тестирования.
Подробности: https://nomisoft.hashnode.dev/sonarqube-analysis-of-net-application-with-sonar-projectproperties-in-azure-devops
#en
@dot_net_c_sharp | Другие наши каналы
В прошлом разработку ПО зачастую осуществлял один человек или небольшая команда, которые также занимались его тестированием. Со временем процесс усложнился: сегодня разработка требует командной работы и более сложных методов коммуникации и тестирования.
Подробности: https://nomisoft.hashnode.dev/sonarqube-analysis-of-net-application-with-sonar-projectproperties-in-azure-devops
#en
@dot_net_c_sharp | Другие наши каналы
Жизненный цикл API: от разработки до продакшна
В статье раскрываются все этапы создания API на языке C#, включая проектирование, разработку и публикацию с Docker и CI/CD. Уделено внимание практическим аспектам и тестированию с xUnit и FluentAssertions, приведены примеры реализации для управления базой шуток.
Читать подробнее: https://habr.com/ru/articles/874972/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье раскрываются все этапы создания API на языке C#, включая проектирование, разработку и публикацию с Docker и CI/CD. Уделено внимание практическим аспектам и тестированию с xUnit и FluentAssertions, приведены примеры реализации для управления базой шуток.
Читать подробнее: https://habr.com/ru/articles/874972/
#ru
@dot_net_c_sharp | Другие наши каналы
✍5
📌 Преимущества Snapshot-тестирования в разработке
Snapshot-тестирование — метод, сравнивающий текущие состояния объектов с ранее сохраненными "снимками". Эта техника помогает в тестировании UI, обеспечивая точность изменений без неожиданных сбоев. Развитие AI и Azure расширяет возможности автоматизации. Интригующий подход для стабилизации кода! Тестирование с помощью сыночек: как AI и Verify усиливают контроль качества ПО
Библиотека Verify для .Net упрощает создание snapshot тестов, позволяя разработчикам легко проверять и документировать изменения в коде. Такой подход обеспечивает стабильность интерфейсов, особенно важных в open source проектах, и снижает риск ошибок в сложных структурах данных.
Подробности: https://beniaminlenarcik.hashnode.dev/snapshot-testing-prostota-i-dokumentacja-w-jednym
#en
@dot_net_c_sharp | Другие наши каналы
Snapshot-тестирование — метод, сравнивающий текущие состояния объектов с ранее сохраненными "снимками". Эта техника помогает в тестировании UI, обеспечивая точность изменений без неожиданных сбоев. Развитие AI и Azure расширяет возможности автоматизации. Интригующий подход для стабилизации кода! Тестирование с помощью сыночек: как AI и Verify усиливают контроль качества ПО
Библиотека Verify для .Net упрощает создание snapshot тестов, позволяя разработчикам легко проверять и документировать изменения в коде. Такой подход обеспечивает стабильность интерфейсов, особенно важных в open source проектах, и снижает риск ошибок в сложных структурах данных.
Подробности: https://beniaminlenarcik.hashnode.dev/snapshot-testing-prostota-i-dokumentacja-w-jednym
#en
@dot_net_c_sharp | Другие наши каналы
Новый WYSIWYG UI XAML-редактор в Visual Studio Code!
Для разработчиков OpenSilver-приложений теперь доступен новый WYSIWYG UI XAML-редактор в Visual Studio Code. Он позволяет создавать интерфейсы быстрее и удобнее. Расширение доступно бесплатно в Visual Studio Marketplace. Узнайте подробности в статье!
Читать подробнее: https://habr.com/ru/articles/874536/
#ru
@dot_net_c_sharp | Другие наши каналы
Для разработчиков OpenSilver-приложений теперь доступен новый WYSIWYG UI XAML-редактор в Visual Studio Code. Он позволяет создавать интерфейсы быстрее и удобнее. Расширение доступно бесплатно в Visual Studio Marketplace. Узнайте подробности в статье!
Читать подробнее: https://habr.com/ru/articles/874536/
#ru
@dot_net_c_sharp | Другие наши каналы
👍5😁2🌚2
Эффективная локализация с Slang.Net
Компания DD Planet представила библиотеку Slang.Net для упрощения локализации .NET-приложений. Она обеспечивает типобезопасные переводы, автоматическую интеграцию с GPT и настройку интерфейсов без перезапуска. Оцените возможности и улучшите локализацию в ваших проектах!
Читать подробнее: https://habr.com/ru/articles/874066/
#ru
@dot_net_c_sharp | Другие наши каналы
Компания DD Planet представила библиотеку Slang.Net для упрощения локализации .NET-приложений. Она обеспечивает типобезопасные переводы, автоматическую интеграцию с GPT и настройку интерфейсов без перезапуска. Оцените возможности и улучшите локализацию в ваших проектах!
Читать подробнее: https://habr.com/ru/articles/874066/
#ru
@dot_net_c_sharp | Другие наши каналы
📌 Настройка генераторов исходного кода с помощью MSBuild
Статья описывает, как использовать MSBuild-свойства для настройки поведения генераторов исходного кода. Автор показывает, как получать доступ к свойствам через AnalyzerConfigOptionsProvider и автоматизировать их использование в NuGet-пакетах. Это упрощает управление настройками, такими как включение/отключение функционала. Упрощаем применение интерсепторов в проектах
NetEscapades.EnumGenerators теперь предлагает простое решение для активации интерсепторов. Пакет использует механизм .targets файлов, чтобы автоматически настроить namespaces, не требуя дополнительных усилий от пользователей. Узнайте, как это работает и какие возможности предлагает новая реализация.
Подробности: https://andrewlock.net/creating-a-source-generator-part-13-providing-and-accessing-msbuild-settings-in-source-generators/
#en
@dot_net_c_sharp | Другие наши каналы
Статья описывает, как использовать MSBuild-свойства для настройки поведения генераторов исходного кода. Автор показывает, как получать доступ к свойствам через AnalyzerConfigOptionsProvider и автоматизировать их использование в NuGet-пакетах. Это упрощает управление настройками, такими как включение/отключение функционала. Упрощаем применение интерсепторов в проектах
NetEscapades.EnumGenerators теперь предлагает простое решение для активации интерсепторов. Пакет использует механизм .targets файлов, чтобы автоматически настроить namespaces, не требуя дополнительных усилий от пользователей. Узнайте, как это работает и какие возможности предлагает новая реализация.
Подробности: https://andrewlock.net/creating-a-source-generator-part-13-providing-and-accessing-msbuild-settings-in-source-generators/
#en
@dot_net_c_sharp | Другие наши каналы
Новое слово в анализе кода WinForms!
С выходом .NET 9 представлены новые Roslyn Analyzers для WinForms, которые помогут разработчикам избегать ошибок в асинхронном коде. Эти инструменты анализируют ваш код в реальном времени и советуют, как выбрать правильный шаблон InvokeAsync. Испытайте мощь улучшенных аналитических инструментов в действии! 🚀 Успешное редактирование с помощью WinForms Analyzers!
WinForms Analyzers помогают улучшать код, предотвращая случайную сериализацию свойств. Они добавляют атрибуты, такие как DesignerSerializationVisibility, для более безопасного кодирования. При поддержке Copilot и настоек .editorconfig, модернизация теперь проще и эффективнее!
Подробности: https://devblogs.microsoft.com/dotnet/introducing-winforms-analyzers/
#en
@dot_net_c_sharp | Другие наши каналы
С выходом .NET 9 представлены новые Roslyn Analyzers для WinForms, которые помогут разработчикам избегать ошибок в асинхронном коде. Эти инструменты анализируют ваш код в реальном времени и советуют, как выбрать правильный шаблон InvokeAsync. Испытайте мощь улучшенных аналитических инструментов в действии! 🚀 Успешное редактирование с помощью WinForms Analyzers!
WinForms Analyzers помогают улучшать код, предотвращая случайную сериализацию свойств. Они добавляют атрибуты, такие как DesignerSerializationVisibility, для более безопасного кодирования. При поддержке Copilot и настоек .editorconfig, модернизация теперь проще и эффективнее!
Подробности: https://devblogs.microsoft.com/dotnet/introducing-winforms-analyzers/
#en
@dot_net_c_sharp | Другие наши каналы
🔥3
Загадочная DarkGaboon: как её раскрыли
Впервые обнаруженная специалистами Positive Technologies группировка DarkGaboon нацеливалась на финансовые отделы российских компаний с мая 2023 года. Узнайте, как киберпреступники оставались незамеченными и на чем были пойманы. Подробности в свежем расследовании!
Читать подробнее: https://habr.com/ru/companies/pt/articles/875482/
#ru
@dot_net_c_sharp | Другие наши каналы
Впервые обнаруженная специалистами Positive Technologies группировка DarkGaboon нацеливалась на финансовые отделы российских компаний с мая 2023 года. Узнайте, как киберпреступники оставались незамеченными и на чем были пойманы. Подробности в свежем расследовании!
Читать подробнее: https://habr.com/ru/companies/pt/articles/875482/
#ru
@dot_net_c_sharp | Другие наши каналы
👍2
📢 Важные обновления для Blazor от Syncfusion
С марта 2025 года Syncfusion прекращает поддержку .NET 6 и 7 для Blazor компонентов, направив развитие на .NET 8 и 9. Это решение обеспечит улучшенную производительность и безопасность. Разработчикам рекомендуется обновиться для использования новых возможностей и продолжения поддержки.
Подробности: https://syncfusion-blogs.hashnode.dev/syncfusion-blazor-components-end-support-for-net-6-and-7
#en
@dot_net_c_sharp | Другие наши каналы
С марта 2025 года Syncfusion прекращает поддержку .NET 6 и 7 для Blazor компонентов, направив развитие на .NET 8 и 9. Это решение обеспечит улучшенную производительность и безопасность. Разработчикам рекомендуется обновиться для использования новых возможностей и продолжения поддержки.
Подробности: https://syncfusion-blogs.hashnode.dev/syncfusion-blazor-components-end-support-for-net-6-and-7
#en
@dot_net_c_sharp | Другие наши каналы
👎2
💡 Как снизить ресурсоёмкость сервиса, не изменяя бизнес-логику?
Древний сервис ClusterConfig потреблял много ресурсов из-за фрагментации памяти и больших объектов. В статье описано, как оптимизировав параллелизм и внедрив объекты Lazy, удалось значительно снизить нагрузку на память и CPU. Узнайте, какие простые изменения улучшили производительность системы.
Читать подробнее: https://habr.com/ru/companies/skbkontur/articles/875514/
#ru
@dot_net_c_sharp | Другие наши каналы
Древний сервис ClusterConfig потреблял много ресурсов из-за фрагментации памяти и больших объектов. В статье описано, как оптимизировав параллелизм и внедрив объекты Lazy, удалось значительно снизить нагрузку на память и CPU. Узнайте, какие простые изменения улучшили производительность системы.
Читать подробнее: https://habr.com/ru/companies/skbkontur/articles/875514/
#ru
@dot_net_c_sharp | Другие наши каналы
👍3
Новый уровень многопоточности в C#
В ноябре 2024 года с выходом .NET 9 и C# 13 представили новинку — System.Threading.Lock. Это улучшает многопоточность и снижает риск дедлоков. Новый API предлагает большую производительность и гибкость, помогая разработчикам избегать ошибок в сложных сценариях синхронизации.
Читать подробнее: https://habr.com/ru/articles/876380/
#ru
@dot_net_c_sharp | Другие наши каналы
В ноябре 2024 года с выходом .NET 9 и C# 13 представили новинку — System.Threading.Lock. Это улучшает многопоточность и снижает риск дедлоков. Новый API предлагает большую производительность и гибкость, помогая разработчикам избегать ошибок в сложных сценариях синхронизации.
Читать подробнее: https://habr.com/ru/articles/876380/
#ru
@dot_net_c_sharp | Другие наши каналы
🔨 Три ключевых техники рефакторинга
Узнайте, как улучшить код с помощью трех простых подходов: разделение команд и запросов, явное определение входных и выходных данных, а также принцип единой ответственности. Также стоит помнить о правиле бойскаута: оставляйте код в лучшем состоянии, чем нашли. Маленькие улучшения приводят к большим изменениям!
Подробности: https://danyl.hashnode.dev/three-must-know-refactoring-techniques
#en
@dot_net_c_sharp | Другие наши каналы
Узнайте, как улучшить код с помощью трех простых подходов: разделение команд и запросов, явное определение входных и выходных данных, а также принцип единой ответственности. Также стоит помнить о правиле бойскаута: оставляйте код в лучшем состоянии, чем нашли. Маленькие улучшения приводят к большим изменениям!
Подробности: https://danyl.hashnode.dev/three-must-know-refactoring-techniques
#en
@dot_net_c_sharp | Другие наши каналы
Оптимизация SQL-миграций в .NET приложениях
В статье Кирилла Салихова рассматриваются методы автоматизации применения SQL-миграций в .NET. Чтобы упростить деплой и управление базой данных, он предлагает встроить SQL-скрипты в приложение через Embedded Resource, избегая ручного труда и увеличивая эффективность процессов развертывания. Автоматизация обновления встраиваемых ресурсов в приложении
Статья рассказывает о решении задачи автоматического обновления процедур и представлений в приложении. Используются миграции и команда `create or alter`, а также отслеживание изменений в скриптах через хэш-суммы. Это позволяет избежать лишних действий и снизить риск потери данных. Эффективная работа с SQL-кодом
Обсуждается улучшенный подход к работе с SQL, который повышает скорость публикации приложений и оптимизирует управление базами данных. Этот метод снижает нагрузку на инженеров и повышает общую эффективность. Хотите узнать детали? Переходите к статье!
Читать подробнее: https://habr.com/ru/companies/croc/articles/876468/
#ru
@dot_net_c_sharp | Другие наши каналы
В статье Кирилла Салихова рассматриваются методы автоматизации применения SQL-миграций в .NET. Чтобы упростить деплой и управление базой данных, он предлагает встроить SQL-скрипты в приложение через Embedded Resource, избегая ручного труда и увеличивая эффективность процессов развертывания. Автоматизация обновления встраиваемых ресурсов в приложении
Статья рассказывает о решении задачи автоматического обновления процедур и представлений в приложении. Используются миграции и команда `create or alter`, а также отслеживание изменений в скриптах через хэш-суммы. Это позволяет избежать лишних действий и снизить риск потери данных. Эффективная работа с SQL-кодом
Обсуждается улучшенный подход к работе с SQL, который повышает скорость публикации приложений и оптимизирует управление базами данных. Этот метод снижает нагрузку на инженеров и повышает общую эффективность. Хотите узнать детали? Переходите к статье!
Читать подробнее: https://habr.com/ru/companies/croc/articles/876468/
#ru
@dot_net_c_sharp | Другие наши каналы
🔧 Вступайте в сообщество .NET Open Source!
Хотите расти как разработчик? Присоединяйтесь к .NET Foundation, некоммерческой инициативе, поддерживающей открытые проекты. Участвуйте в разработке ASP.NET Core или ML.NET, улучшайте навыки и находите работу мечты, сотрудничая с разработчиками по всему миру.
Подробности: https://lovelacecoding.hashnode.dev/getting-started-in-the-net-open-source-community-a-beginners-guide
#en
@dot_net_c_sharp | Другие наши каналы
Хотите расти как разработчик? Присоединяйтесь к .NET Foundation, некоммерческой инициативе, поддерживающей открытые проекты. Участвуйте в разработке ASP.NET Core или ML.NET, улучшайте навыки и находите работу мечты, сотрудничая с разработчиками по всему миру.
Подробности: https://lovelacecoding.hashnode.dev/getting-started-in-the-net-open-source-community-a-beginners-guide
#en
@dot_net_c_sharp | Другие наши каналы
👍2
Путь к создателю ИИ в s&box
Участие в Tech Jam показало, что даже без опыта в геймдеве можно добиться успеха. Автор делится своими открытиями в разработке ИИ для s&box, несмотря на вызовы, такие как работа с NavMesh. Всё это привело к созданию ботов, способных использовать укрытия и координировать атаки. Узнайте, как проектировался SbokuBot!
Читать подробнее: https://habr.com/ru/articles/876730/
#ru
@dot_net_c_sharp | Другие наши каналы
Участие в Tech Jam показало, что даже без опыта в геймдеве можно добиться успеха. Автор делится своими открытиями в разработке ИИ для s&box, несмотря на вызовы, такие как работа с NavMesh. Всё это привело к созданию ботов, способных использовать укрытия и координировать атаки. Узнайте, как проектировался SbokuBot!
Читать подробнее: https://habr.com/ru/articles/876730/
#ru
@dot_net_c_sharp | Другие наши каналы
🚀 Архитектурные войны: все правы и неправы
Мир архитектурных шаблонов кипит: Clean Architecture, Vertical Slices, Hexagonal и другие. Но стоит ли фанатично отстаивать свой подход? Все они разделяют бизнес-логику и обеспечивают модульность, решая схожие задачи с разным акцентом. Главное — выбрать подходящий инструмент для своей задачи!
Подробности: https://danyl.hashnode.dev/architectural-holy-wars-why-every-approach-is-right-and-wrong
#en
@dot_net_c_sharp | Другие наши каналы
Мир архитектурных шаблонов кипит: Clean Architecture, Vertical Slices, Hexagonal и другие. Но стоит ли фанатично отстаивать свой подход? Все они разделяют бизнес-логику и обеспечивают модульность, решая схожие задачи с разным акцентом. Главное — выбрать подходящий инструмент для своей задачи!
Подробности: https://danyl.hashnode.dev/architectural-holy-wars-why-every-approach-is-right-and-wrong
#en
@dot_net_c_sharp | Другие наши каналы
Выбор модели при проектировании систем
Какую модель выбрать для корпоративных систем: богатую или анемичную? Обе имеют свои плюсы и минусы в зависимости от требований. Статья предлагает детальный разбор подходов, важных для разработчиков, стремящихся понять принципы ООП и управлять сложностью проектов.
Читать подробнее: https://habr.com/ru/articles/876742/
#ru
@dot_net_c_sharp | Другие наши каналы
Какую модель выбрать для корпоративных систем: богатую или анемичную? Обе имеют свои плюсы и минусы в зависимости от требований. Статья предлагает детальный разбор подходов, важных для разработчиков, стремящихся понять принципы ООП и управлять сложностью проектов.
Читать подробнее: https://habr.com/ru/articles/876742/
#ru
@dot_net_c_sharp | Другие наши каналы
🔒 Настройка аутентификации Azure AD и B2C в .NET
Веб-приложения требуют надежной аутентификации. Azure AD предлагает SSO и MFA для внутренних пользователей, а B2C адаптировано для внешних. Эта статья описывает, как настроить их в .NET для создания безопасного и удобного опыта. Узнайте больше о настройке в статье!
Подробности: https://dheerajtechblogs.hashnode.dev/how-to-set-up-azure-ad-and-b2c-authentication-in-net-websites
#en
@dot_net_c_sharp | Другие наши каналы
Веб-приложения требуют надежной аутентификации. Azure AD предлагает SSO и MFA для внутренних пользователей, а B2C адаптировано для внешних. Эта статья описывает, как настроить их в .NET для создания безопасного и удобного опыта. Узнайте больше о настройке в статье!
Подробности: https://dheerajtechblogs.hashnode.dev/how-to-set-up-azure-ad-and-b2c-authentication-in-net-websites
#en
@dot_net_c_sharp | Другие наши каналы
🚀 Ускоряем разработку API с помощью Source Generators!
Новое решение для .NET разработчиков — dappi, инструмент, позволяющий автоматизировать создание Web API с помощью аннотаций, минимизируя ручной код. Используйте [CCController] для быстрого прототипирования CRUD операций и экономьте время на рутине! Пробуйте и делитесь отзывами!
Подробности: https://blog.codechem.com/automating-the-repetitive-with-source-generators
#en
@dot_net_c_sharp | Другие наши каналы
Новое решение для .NET разработчиков — dappi, инструмент, позволяющий автоматизировать создание Web API с помощью аннотаций, минимизируя ручной код. Используйте [CCController] для быстрого прототипирования CRUD операций и экономьте время на рутине! Пробуйте и делитесь отзывами!
Подробности: https://blog.codechem.com/automating-the-repetitive-with-source-generators
#en
@dot_net_c_sharp | Другие наши каналы