Телеграм канал 'Что там в .NET?'

Что там в .NET?


677 подписчиков
0 просмотров на пост

Рассказываем, что происходит в мире .NET.

С вопросами можно пинать @nevoroman

Детальная рекламная статистика будет доступна после прохождения простой процедуры регистрации


Что это дает?
  • Детальная аналитика 279'739 каналов
  • Доступ к 132'019'564 рекламных постов
  • Поиск по 523'012'599 постам
  • Отдача с каждой купленной рекламы
  • Графики динамики изменения показателей канала
  • Где и как размещался канал
  • Детальная статистика по подпискам и отпискам
Telemetr.me

Telemetr.me Подписаться

Аналитика телеграм-каналов - обновления инструмента, новости рынка.

Найдено 106 постов

Кстати, в этом же разборе нашел ссылку на целую кучу бенчмарков по .NET.

Выглядит странно и хаотично, но пользоваться этим можно примерно так. В самом низу экрана написан номер страницы. Нажимаете на него — получаете список категорий бенчмарков. Выбираете интересную (например, Blazor WASM) — получаете возможность наблюдать, как с разнообразными изменениями улучшался перфоманс той или иной фичи.

Где-то изменений совсем не видно, где-то они незначительные, но в некоторых местах можно посмотреть на красивые-впечатляющие циферки.

https://msit.powerbi.com/view?r=eyJrIjoiYTZjMTk3YjEtMzQ3Yi00NTI5LTg5ZDItNmUyMGRlOTkwMGRlIiwidCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsImMiOjV9
Одна из основных перфомансных фич нового .NET это Dynamic PGO, Profile-guided optimization. Они позволяют существенно ускорить ваше приложение за счет сбора дополнительной информации.

Егор Богатов, один из разработчиков .NET, написал разбор возможностей PGO — с деталями и бенчмарками.

https://gist.github.com/EgorBo/dc181796683da3d905a5295bfd3dd95b
Web-страница:
Dynamic PGO in .NET 6.0.md
Dynamic PGO in .NET 6.0.md. GitHub Gist: instantly share code, notes, and snippets.
Нашел еще один классный дайджест по .NET, который называется .NET R&D Digest. В нем достаточно много хороших материалов и по .NET, и по разработке ПО в целом. Что классно, это не анонсы, а именно хорошие R&D статьи. Советую!

https://olegkarasik.wordpress.com/2021/12/01/net-rd-digest-november-2021/
Web-страница:
.NET R&D Digest (November, 2021)
This issues includes bits of software development, architecture, .NET (and .NET Internals), debugging, diagnostics, tools and compilers!
Кстати об адвентах — сегодня начался Advent of Code и мы будем каждый день публиковать видео с разбором сегодняшней задачи. Первое вот только что вышло.

https://youtu.be/6i7jm8W0Aic
Наступил декабрь — первый месяц зимы и время разнообразных адвентов. Один из них — .NET Advent Calendar, в рамках которого каждый день будет выходить новая статья по .NET.

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

https://dotnet.christmas/
Вышел дайджест с новостями по .NET от JetBrains! Из интересного, помимо уже разобранных нами анонсов .NET 6, там можно найти много любопытных туториалов и пару пропущенных мной анонсов от JetBrains

https://blog.jetbrains.com/dotnet/2021/11/02/net-annotated-monthly-november-2021/
Web-страница:
.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
Нашел интересный выпуск подкаста Azure DevOps Podcast о Blazor в .NET 6.

Несмотря на название, об Azure здесь будет совсем мало, так что это именно интересная беседа о современном состоянии Blazor, его развитии, готовности к продакшену и прочем. Если вам интересно, что там на фронте отказа от JS — советую послушать.

http://azuredevopspodcast.clear-measure.com/michael-washington-on-blazor-in-net-6-episode-168
Продолжаем осваиваться с новинками из .NET 6! Конрад Кокоса написал статью о конфигурации dotnet-monitor с Prometheus и Graphana.

Напомню, dotnet-monitor это инструмент для мониторинга .NET приложений, который недавно наконец-то был официально выпущен Microsoft. Он позволяет удобно собирать логи, трейсы, дампы и прочие артефакты приложения — в том числе под Mac и Linux.

https://dotnetos.org/blog/2021-11-22-dotnet-monitor-grafana/
В этот четверг пройдет онлайн-митап о функциональном программировании и F#. Как эти штуки изучать (и начинающим, и желающим получить какие-то более практичные знания), откуда брать материалы и зачем все это нужно. Спикером будет Вагиф Абилов, он постоянно выступает с докладами про ФП и уже много лет работает с большим проектом, написанным на F#.

Пройдет в четверг, 25 ноября, в 17:00 по Москве. Регистрация на TimePad.
Еще одна классная статья на Хабре, на этот раз о решении одного тестового задания. Показывает, как могут быть элегантно и оптимально решены вроде бы очевидные задачи.

https://habr.com/ru/post/589667/
Web-страница:
Ультра быстрый Cron с шагом в миллисекунду, или когда тестовые задания такими прикидываются
Давным-давно наш коллега @novarразместил на Хабре статью с описанием вот такого незатейливого ТЗ, полученного им от потенциального работодателя:Реализовать класс для задания и расчета времени по...
Неплохая статья на Хабре о настройке структурного логгирования. Подходит для людей, которые с этой темой еще не работали.

https://habr.com/ru/post/590069/
Web-страница:
Структурное логирование и интерполированные строки в C# 10
В последние годы все большую популярность у разработчиков завоевывает структурное логирование. Поэтому неудивительно, что Microsoft добавило его поддержку в пакет Microsoft.Extensions.Logging,...
Контент для любителей перфоманса — записи с конференции 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. Очень интересный доклад и из-за решаемой проблемы, и из-за количества разнообразных трудностей, встреченных на пути.
Еще один интересный результат замеров производительности .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
Вышла отличная статья о мониторинге в .NET с использованием OpenTelemetry. Хорошо вводит в тему и дает много ссылок на дополнительные ресурсы.

https://www.meziantou.net/monitoring-a-dotnet-application-using-opentelemetry.htm#monitoring-multiple
Web-страница:
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
В статье о переезде Azure AD gateway на .NET 6 нашел еще одни красивые показали перфомансных оптимизаций.

Использование 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/
Web-страница:
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 6 добавили NativeMemory APIs. Они позволяют вручную управлять памятью, по аналогии с функциями malloc, free и прочими подобными из C.

https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-7/#libraries-nativememory-apis
Web-страница:
Announcing .NET 6 Preview 7
.NET 6 Preview 7 is now available.
Тред от Бартоша Адамчевски с демонстрацией низкоуровневых оптимизаций в .NET 6.

Очень интересно наблюдать, как можно оптимизировать самые простые функции.

https://twitter.com/badamczewski01/status/1460332443920121863?s=21
Изображение
Пока разбирался, какие проблемы есть с миграцией на .NET 6, нашел хорошую статью о переезде с легаси .NET Framework на кроссплатформенный .NET. Вдруг для кого-то актуально

https://blog.ndepend.com/5x-lessons-learned-from-migrating-a-large-legacy-to-net-5-6/
Web-страница:
5x Lessons Learned from Migrating a Large Legacy to .NET 5/6 - NDepend
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.

Найдено 106 постов