👍7💩1
Я как-то пропустил момент, что в #dotnet ещё в 7-ую версию завезли класс TarFile для работы с tar-файлами. Не сказать, чтобы это было сильно надо - потому что есть .zip формат, но вдруг. На практике мне программно ещё не приходилось ковырять их, в паре мест где надо сидить данные в базу например (zip коды в US например) - там лежали zip файлы, из которых это всё доставалось.
🔥2👍1
Полугодовой давности мануал Async guidance по async в стиле "делайте хорошо, плохо не делайте спасибо". Есть несколько моментов, которые не очень очевидны и вполне достойны упоминания на собесах :))) #dotnet
👍11
Скоро в MassTransit завезут Job consumers - для long-running tasks, заживём! #dotnet
masstransit.io
Job Consumers
In MassTransit, when a message is delivered from the broker to a consumer, it gets locked by the broker until the consumer completes processing. This lock
ensures that the message won’t be delivered to other consumers, even on different bus instances reading…
ensures that the message won’t be delivered to other consumers, even on different bus instances reading…
🤯2👍1
Оч простая вещи, но в целом тоже иногда нужна бывает - это шифрование данных в ASP.NET. Штатно есть Data Protection API, который по дефолту ложит ключи в %LOCALAPPDATA%\ASP.NET\DataProtection-Keys, в линуксовом контейнере это /root/.aspnet - который можно (нужно) вытащить как volume в docker-compose, чтобы фарш из шифрованных данных можно было провернуть назад после апдейта контейнера :) к щастью там просто XML файлы, которые несложно сохранить. Ну или хранить не в XML, а в каком-то другом сторадже персистить (база данных, redis, ...) #dotnet
👍3
Интересные штуки завезут в .NET 9 (релиз уже через месяц!).
Жаль конечно, что большая часть это для ARM. #dotnet
Жаль конечно, что большая часть это для ARM. #dotnet
Microsoft News
Engineering the Scalable Vector Extension in .NET
Let's take an in-depth look at how the team implemented the Scalable Vector Extension (SVE) for .NET.
🔥4
Очень простой и строготипизированный PredicateBuilder - когда надо собрать выражение в EF вида
(или других условий) и вот этих условий в OR неизвестное (динамическое) количество, зависящее от внешних условий.
С традиционным AND обычно никаких проблем:
А вот с OR такого не прокатит, так что PredicateBuilder спасает в этом случае. #dotnet
select ...
from table1
where (x=1 and y=2) or (x=3 and y=5) or (x=3 and y=5 and coef>1)
(или других условий) и вот этих условий в OR неизвестное (динамическое) количество, зависящее от внешних условий.
С традиционным AND обычно никаких проблем:
var q = db.Items.AsQueryable();
q = q.Where(...);
q = q.Where(...);
...
var items = await q.ToArrayAsync();
А вот с OR такого не прокатит, так что PredicateBuilder спасает в этом случае. #dotnet
👍5🔥1
Как использовать Result<T> и немного LINQ для railway oriented programming или "у вас result'янка". С одной стороны выглядит красиво и реализует short-circuit, когда фейл одного из степов сразу возвращает Result.Error и всё прекращается. Но под капотом некоторое количество не оч кросивого кода. Наверное имеет смысл для ознакомления, но использовать я такое не буду. #dotnet
👍3❤1
инструмент для мониторинга исходящих http запросов
А также 9 интересных статей на тему внутренних штук дотнета (для собирания метрик в т.ч.) с примерами кода #dotnet
dotnet tool install -g dotnet-http
А также 9 интересных статей на тему внутренних штук дотнета (для собирания метрик в т.ч.) с примерами кода #dotnet
🔥7👀1
В .net 9 завезли поддержку OAuth 2.0 Pushed Authorization Requests и вот статья с примерами реализации (да, на примере Duende IdentityServer) #dotnet
🔥6🤯1
Чятики принесли интересную штуку - какой-то новый профайлер для дотнета. Опенсурс, но по фичам надо сравнивать с dotProfiler и dotMemory конечно. #dotnet
👍2
Всё никак не могу добраться, чтобы попробовать Aspire на каком-то живом проекте, но регулярно попадаюца статьи про то, как там всё удобно :)) в т.ч. для гетерогенных микросервисов #dotnet
DEV Community
Orchestrating Distributed Apps (Spin/Rust and .NET/C#) with .NET Aspire/Dapr
Introduction If you have followed me long enough, then you know that I strongly believe...
🤔6