Нашел классную статью из блога StackOverflow — рассказывают, как актуализировать принципы SOLID к современной разработки.
Выглядит очень актуально в современном .NET, советую почитать.
https://stackoverflow.blog/2021/11/01/why-solid-principles-are-still-the-foundation-for-modern-software-architecture/
Выглядит очень актуально в современном .NET, советую почитать.
https://stackoverflow.blog/2021/11/01/why-solid-principles-are-still-the-foundation-for-modern-software-architecture/
Stack Overflow Blog
Why SOLID principles are still the foundation for modern software architecture
While computing has changed a lot in the 20 years since the SOLID principles were conceived, they are still the best practices for designing software.
А вот разбор важного изменения в Source Generators из в .NET 6
https://andrewlock.net/exploring-dotnet-6-part-9-source-generator-updates-incremental-generators/
https://andrewlock.net/exploring-dotnet-6-part-9-source-generator-updates-incremental-generators/
Andrew Lock | .NET Escapades
Source generator updates: incremental generators: Exploring .NET 6 - Part 9
In this post I look at the updates to the source generator API in .NET 6, why the changes were made, and how to update your source generators to use them.
Подборка самых важных выступлений с .NET Conf 2021
Keynote
Общая демонстрация сделанного в .NET 6. Показали перфоманс, рассказали про основные направления развития.
What's new in C# 10
Быстрое введение в основные возможности нового C#. Интереснее обычных обзоров присутствием разработчиков из MS, которые поясняют мотивацию добавления каждой из фич.
What's New in F# 6
То же самое, но про F# и с Доном Саймом.
Enterprise-grade Blazor apps with .NET 6
Демонстрация изменений как внутри Blazor, так и других изменений в .NET, влияющих на Blazor-разработку (вроде Hot Reload).
New Blazor WebAssembly capabilities in .NET 6
Тоже обзор обновок внутри Blazor, но с упором на WebAssembly и максимально практичное демо.
Next-generation Blazor components with .NET 6
Снова про Blazor, на этот раз про его строительные блоки. Показывают разные компоненты и их возможности, можно оценить, насколько удобно этим пользоваться.
Introduction to .NET MAUI
Рассказ о текущем состоянии дел в MAUI. Что уже реализовано, планы и практическое демо с текущими возможностями.
ASP.NET Core MVC & Razor Pages in .NET 6
Доклад об изменениях в функциональности, API и производительности ASP.NET.
What's New in EF Core 6
Аналогичное выступление про Entity Framework.
Upgrading from .NET Framework to .NET 6
Неплохой гайд по переезду с легаси .NET на .NET 6. Разбирают шаги и возможные проблемы, показывают, как в этом может помочь Upgrade Assistant.
ML.NET Model Builder: Machine learning with .NET
Простой обзор возможностей ML.NET. Рассчитан в основном на новичков в ML, если вам интересны нюансы развития фрейиворка, то вам интереснее будет почитать июньский блог разработчиков фреймворка.
Speed up your .NET development with Hot Reload
Доклад о возможностях, ограничениях и немного устройстве Hot Reload.
Keynote
Общая демонстрация сделанного в .NET 6. Показали перфоманс, рассказали про основные направления развития.
What's new in C# 10
Быстрое введение в основные возможности нового C#. Интереснее обычных обзоров присутствием разработчиков из MS, которые поясняют мотивацию добавления каждой из фич.
What's New in F# 6
То же самое, но про F# и с Доном Саймом.
Enterprise-grade Blazor apps with .NET 6
Демонстрация изменений как внутри Blazor, так и других изменений в .NET, влияющих на Blazor-разработку (вроде Hot Reload).
New Blazor WebAssembly capabilities in .NET 6
Тоже обзор обновок внутри Blazor, но с упором на WebAssembly и максимально практичное демо.
Next-generation Blazor components with .NET 6
Снова про Blazor, на этот раз про его строительные блоки. Показывают разные компоненты и их возможности, можно оценить, насколько удобно этим пользоваться.
Introduction to .NET MAUI
Рассказ о текущем состоянии дел в MAUI. Что уже реализовано, планы и практическое демо с текущими возможностями.
ASP.NET Core MVC & Razor Pages in .NET 6
Доклад об изменениях в функциональности, API и производительности ASP.NET.
What's New in EF Core 6
Аналогичное выступление про Entity Framework.
Upgrading from .NET Framework to .NET 6
Неплохой гайд по переезду с легаси .NET на .NET 6. Разбирают шаги и возможные проблемы, показывают, как в этом может помочь Upgrade Assistant.
ML.NET Model Builder: Machine learning with .NET
Простой обзор возможностей ML.NET. Рассчитан в основном на новичков в ML, если вам интересны нюансы развития фрейиворка, то вам интереснее будет почитать июньский блог разработчиков фреймворка.
Speed up your .NET development with Hot Reload
Доклад о возможностях, ограничениях и немного устройстве Hot Reload.
Фича шестого .NET, которую многие могли пропустить — сериализация Json с помощью Source Generators.
Основное преимущество нового подхода это куда более высокая производительность. На разных данных выигрыш в производительности может быть от 30-40% до 300%. Поэтому важно разобраться, как это работает, и потестить подход на своем проекте.
Неплохое видео с разбором подхода
Текстовый разбор от Стива Гордона
Инструкция по использованию из документации Microsoft
Основное преимущество нового подхода это куда более высокая производительность. На разных данных выигрыш в производительности может быть от 30-40% до 300%. Поэтому важно разобраться, как это работает, и потестить подход на своем проекте.
Неплохое видео с разбором подхода
Текстовый разбор от Стива Гордона
Инструкция по использованию из документации Microsoft
Пока разбирался, какие проблемы есть с миграцией на .NET 6, нашел хорошую статью о переезде с легаси .NET Framework на кроссплатформенный .NET. Вдруг для кого-то актуально
https://blog.ndepend.com/5x-lessons-learned-from-migrating-a-large-legacy-to-net-5-6/
https://blog.ndepend.com/5x-lessons-learned-from-migrating-a-large-legacy-to-net-5-6/
NDepend Blog
5x Lessons Learned from Migrating a Large Legacy to .NET 5/6 - NDepend Blog
See how we migrated our large application legacy from .NET Framework to .NET Core .NET 5 and .NET 6, which problems and which decisions we took.
Тред от Бартоша Адамчевски с демонстрацией низкоуровневых оптимизаций в .NET 6.
Очень интересно наблюдать, как можно оптимизировать самые простые функции.
https://twitter.com/badamczewski01/status/1460332443920121863?s=21
Очень интересно наблюдать, как можно оптимизировать самые простые функции.
https://twitter.com/badamczewski01/status/1460332443920121863?s=21
Кстати о низкоуровневых оптимизациях, в .NET 6 добавили NativeMemory APIs. Они позволяют вручную управлять памятью, по аналогии с функциями malloc, free и прочими подобными из C.
https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-7/#libraries-nativememory-apis
https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-7/#libraries-nativememory-apis
Microsoft News
Announcing .NET 6 Preview 7
.NET 6 Preview 7 is now available.
В статье о переезде Azure AD gateway на .NET 6 нашел еще одни красивые показали перфомансных оптимизаций.
Использование CPU упало на 33% — при той же самой нагружке. В целом же выигрыш в производительности (вернее, в application efficiency) разработчики оценили в 50%, где application efficiency это
В общем, советую посмотреть статью. Она не столько про Azure, сколько про сам процесс миграции на .NET 6
https://devblogs.microsoft.com/dotnet/azure-active-directorys-gateway-is-on-net-6-0/
Использование CPU упало на 33% — при той же самой нагружке. В целом же выигрыш в производительности (вернее, в application efficiency) разработчики оценили в 50%, где application efficiency это
(Requests per second) / (CPU utilization of application)
В общем, советую посмотреть статью. Она не столько про Azure, сколько про сам процесс миграции на .NET 6
https://devblogs.microsoft.com/dotnet/azure-active-directorys-gateway-is-on-net-6-0/
Microsoft News
Azure Active Directory’s gateway is on .NET 6.0!
Read about gains from Azure Active Directory gateway service's migration from .NET 5.0 to .NET 6.0.
Вышла отличная статья о мониторинге в .NET с использованием OpenTelemetry. Хорошо вводит в тему и дает много ссылок на дополнительные ресурсы.
https://www.meziantou.net/monitoring-a-dotnet-application-using-opentelemetry.htm#monitoring-multiple
https://www.meziantou.net/monitoring-a-dotnet-application-using-opentelemetry.htm#monitoring-multiple
Meziantou's blog
Monitoring a .NET application using OpenTelemetry - Gérald Barré
In this post, I describe how you can instrument your .NET applications and monitor them using OpenTelemetry
Еще один интересный результат замеров производительности .NET 6, на этот раз не от Microsoft. Александр Якунин, автор популярного фреймворка для real-time приложений Fusion, перевел свой проект на .NET 6 и померил производительность. Результаты получились весьма приличные, в некоторых местах рост составил до 40%.
https://alexyakunin.medium.com/net-6-vs-net-5-up-to-40-speedup-ceca9112d298?source=friends_link&sk=1da518553a5264a1fe6cbb332b0716bb
https://alexyakunin.medium.com/net-6-vs-net-5-up-to-40-speedup-ceca9112d298?source=friends_link&sk=1da518553a5264a1fe6cbb332b0716bb
Контент для любителей перфоманса — записи с конференции Dotnetos Conference 2021!
Если кто не слышал, Dotnetos это польская конференция по .NET. От многих других она отличается жестким упором на перфоманс и прочие низкоуровневые моменты. На youtube доступен плейлист со всеми записями, а я выделю несколько докладов, которые понравились мне больше других.
David Fowler - Don’t need to understand the details of .NET. Until you do
Отличный доклад о том, как и зачем вообще копаться в деталях реализации от человека, который разрабатывал Nuget, SignalR и ASP.NET Core.
Adam Furmanek - Hacking C# from the inside
Адам рассказывает, как заставить .NET делать странное. Перегружать неперегружаемое, сериализовать несереализуемое и всячески издеваться над GC. Доклад из серии «не повторяйте это дома», но знать все эти трюки как минимум интересно.
Jiří Činčura - How I put .NET into Firebird database engine
История того, как база данных Firebird училась работать с .NET. Очень интересный доклад и из-за решаемой проблемы, и из-за количества разнообразных трудностей, встреченных на пути.
Если кто не слышал, Dotnetos это польская конференция по .NET. От многих других она отличается жестким упором на перфоманс и прочие низкоуровневые моменты. На youtube доступен плейлист со всеми записями, а я выделю несколько докладов, которые понравились мне больше других.
David Fowler - Don’t need to understand the details of .NET. Until you do
Отличный доклад о том, как и зачем вообще копаться в деталях реализации от человека, который разрабатывал Nuget, SignalR и ASP.NET Core.
Adam Furmanek - Hacking C# from the inside
Адам рассказывает, как заставить .NET делать странное. Перегружать неперегружаемое, сериализовать несереализуемое и всячески издеваться над GC. Доклад из серии «не повторяйте это дома», но знать все эти трюки как минимум интересно.
Jiří Činčura - How I put .NET into Firebird database engine
История того, как база данных Firebird училась работать с .NET. Очень интересный доклад и из-за решаемой проблемы, и из-за количества разнообразных трудностей, встреченных на пути.
Неплохая статья на Хабре о настройке структурного логгирования. Подходит для людей, которые с этой темой еще не работали.
https://habr.com/ru/post/590069/
https://habr.com/ru/post/590069/
Хабр
Структурное логирование и интерполированные строки в C# 10
В последние годы все большую популярность у разработчиков завоевывает структурное логирование. Поэтому неудивительно, что Microsoft добавило его поддержку в пакет Microsoft.Extensions.Logging,...
Еще одна классная статья на Хабре, на этот раз о решении одного тестового задания. Показывает, как могут быть элегантно и оптимально решены вроде бы очевидные задачи.
https://habr.com/ru/post/589667/
https://habr.com/ru/post/589667/
Хабр
Ультра быстрый Cron с шагом в миллисекунду, или когда тестовые задания такими прикидываются
Давным-давно наш коллега @novar разместил на Хабре статью с описанием вот такого незатейливого ТЗ, полученного им от потенциального работодателя: Реализовать класс для задания и расчета времени по...
В этот четверг пройдет онлайн-митап о функциональном программировании и F#. Как эти штуки изучать (и начинающим, и желающим получить какие-то более практичные знания), откуда брать материалы и зачем все это нужно. Спикером будет Вагиф Абилов, он постоянно выступает с докладами про ФП и уже много лет работает с большим проектом, написанным на F#.
Пройдет в четверг, 25 ноября, в 17:00 по Москве. Регистрация на TimePad.
Пройдет в четверг, 25 ноября, в 17:00 по Москве. Регистрация на TimePad.
Продолжаем осваиваться с новинками из .NET 6! Конрад Кокоса написал статью о конфигурации dotnet-monitor с Prometheus и Graphana.
Напомню, dotnet-monitor это инструмент для мониторинга .NET приложений, который недавно наконец-то был официально выпущен Microsoft. Он позволяет удобно собирать логи, трейсы, дампы и прочие артефакты приложения — в том числе под Mac и Linux.
https://dotnetos.org/blog/2021-11-22-dotnet-monitor-grafana/
Напомню, dotnet-monitor это инструмент для мониторинга .NET приложений, который недавно наконец-то был официально выпущен Microsoft. Он позволяет удобно собирать логи, трейсы, дампы и прочие артефакты приложения — в том числе под Mac и Linux.
https://dotnetos.org/blog/2021-11-22-dotnet-monitor-grafana/
Нашел интересный выпуск подкаста Azure DevOps Podcast о Blazor в .NET 6.
Несмотря на название, об Azure здесь будет совсем мало, так что это именно интересная беседа о современном состоянии Blazor, его развитии, готовности к продакшену и прочем. Если вам интересно, что там на фронте отказа от JS — советую послушать.
http://azuredevopspodcast.clear-measure.com/michael-washington-on-blazor-in-net-6-episode-168
Несмотря на название, об Azure здесь будет совсем мало, так что это именно интересная беседа о современном состоянии Blazor, его развитии, готовности к продакшену и прочем. Если вам интересно, что там на фронте отказа от JS — советую послушать.
http://azuredevopspodcast.clear-measure.com/michael-washington-on-blazor-in-net-6-episode-168
Вышел дайджест с новостями по .NET от JetBrains! Из интересного, помимо уже разобранных нами анонсов .NET 6, там можно найти много любопытных туториалов и пару пропущенных мной анонсов от JetBrains
https://blog.jetbrains.com/dotnet/2021/11/02/net-annotated-monthly-november-2021/
https://blog.jetbrains.com/dotnet/2021/11/02/net-annotated-monthly-november-2021/
The JetBrains Blog
.NET Annotated Monthly | November 2021 | The .NET Tools Blog
Did you know? There is a difference between a parameter and an argument. Many programmers use them interchangeably, but they have distinct definitions in formal computer science. In short, a parameter
Наступил декабрь — первый месяц зимы и время разнообразных адвентов. Один из них — .NET Advent Calendar, в рамках которого каждый день будет выходить новая статья по .NET.
Первая уже появилась и она выглядит совсем блекло, но не спешите расстраиваться, я точно знаю что в этой активности примет участие несколько топовых авторов статей по .NET.
https://dotnet.christmas/
Первая уже появилась и она выглядит совсем блекло, но не спешите расстраиваться, я точно знаю что в этой активности примет участие несколько топовых авторов статей по .NET.
https://dotnet.christmas/