C# 1001 notes
6.56K subscribers
317 photos
10 videos
2 files
305 links
Регулярные короткие заметки по C# и .NET.

Просто о сложном для каждого.

admin - @haarrp
Download Telegram
🖥 Microsoft Office’s RTC (Real-Time Channel) migration to modern .NET

Блог о переходе Microsoft Office с RTC (Real-Time Channel) на современный .NET!

Это было одно из самых первых применений SignalR в компании!

#dotnet #aspnetcore #signalr

https://devblogs.microsoft.com/dotnet/office-rtc-dotnet-migration/

@csharp_1001_notes
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Каждый разработчик должен знать о тестовых контейнерах. Это отличный инструмент, который нужно знать и применять, когда он вам понадобится.

Вот пример работы с Testcontainersна .NET:

https://testcontainers.com/guides/getting-started-with-testcontainers-for-dotnet/

#dotnet #csharp #fsharp

@csharp_1001_notes
🎉 Анонс выпуска .NET 9 Preview 3. 🙌

Узнайте, что нового появилось в библиотеках #dotNET, среде выполнения и SDK, включая:
Библиотеку токенизаторов
Более быстрая обработка исключений
... и многое другое.
Получить подробную информацию и ссылки на ресурсы можно здесь

➡️ https://github.com/dotnet/core/discussions/9271
🔥 UUID v7 в .NET 9

.NET изначально поддерживает UUID v4 через Guid.NewGuid().

При этом начиная с предварительной версии 7, появилась поддержка UUID версии 7.

📌 UUID v7


Так как GUID является альтернативным названием для UUID, новый API находится в пространстве имен System.Guid:


var guid = Guid.CreateVersion7();
var guidWithTimestamp = Guid.CreateVersion7(DateTimeOffset.UtcNow);


Главным преимуществом является включение метки времени в UUID. Это дает 122 бита энтропии, включая 6 бит для версии и варианта где-то посередине.

Главное преимущество заключается в том, что вы можете сортировать UUID по времени их создания, что делает их более подходящими для баз данных по сравнению с UUID v4.

📌 Контроль метки времени

Поскольку метод ожидает DateTimeOffset, вызывающая функция может использовать TimeProvider для контроля UtcNow:


var uuid = Guid.CreateVersion7(timeProvider.GetUtcNow());


timeProvider
может быть получен через DI контейнер и подделан в тестовых сценариях.

#csharp #dotnet #code

Источник

@csharp_1001_notes
🚀 Быстрый совет по увеличению производительности .NET API! 🚀

Использование потоков (async/await) может предотвратить блокировку между эндпоинатми и увеличить скорость работы вашего API! 🚀

#DotNET #APIOptimization #DevTips #Coding

@csharp_1001_notes