Amazing .NET
Открыть в Telegram
В этот канал публикуются интересные материалы, связанные с .NET тематикой. Без рекламы и прочей х*йни. Идеи и предложения: https://github.com/Chakrygin/amazing-dotnet/issues Или в личку: @ichakrygin См. также: https://t.me/amazing_devops
Больше1 817
Подписчики
-124 часа
+27 дней
+530 дней
Архив постов
1 818
The Task lifecycle and TaskCompletionSource
Meziantou's blog | Gérald Barré | October 7, 2026
This post is part of the series 'Async/await in C#'. Be sure to check out the rest of the blog posts of the series!
https://www.meziantou.net/task-taskcompletionsource-and-the-task-lifecycle.htm
🏷️ .NET
1 818
Собеседования на программиста в эпоху AI
Хабр | 6 октября 2026 г.
Есть ли теперь вообще толк от собесов, проверяющие знание теории? И как их теперь проводить, когда по ту сторону уже сидит не только кандидат, но и live-агент, отвечающий на вопрос быстрее, чем вы успели его закончить. Толк есть, но только не в том виде, как мы привыкли. Об этом далее.
https://habr.com/ru/articles/1091238/
🏷️ .NET, C#, Искусственный интеллект
1 818
A faster, lighter C# Dev Kit
DevBlogs | .NET Blog | October 6, 2026
We developers know just how fast computers can be, and we want to feel that speed in our tools. Waiting for language support to load, builds to complete and tests to run is time we could better spend in other ways.
As part of .NET 11, C# Dev Kit has been completely rearchitected to deliver huge improvements to performance and memory usage. It also has some great new features.
This is the first in a series of blog posts covering the improvements in C# Dev Kit 11.0. In this post we will cover the improvements at a high level, and future posts will dig into the details for those who are interested.
We are aligning C# Dev Kit’s version with the current release of .NET. The new extension version is 11.0, and the previous was 3.3.
Let’s see what’s new.
https://devblogs.microsoft.com/dotnet/faster-lighter-csharp-dev-kit/
1 818
There is no thread: OS async I/O and the .NET thread pool
Meziantou's blog | Gérald Barré | October 6, 2026
This post is part of the series 'Async/await in C#'. Be sure to check out the rest of the blog posts of the series!
https://www.meziantou.net/there-is-no-thread-os-async-i-o-and-the-dotnet-thread-pool.htm
🏷️ .NET
1 818
What Would You Build in Azure If You Didn’t Have to Ask for a Budget First?
DevBlogs | Visual Studio Blog | October 6, 2026
Maybe you’d deploy that .NET application you’ve been working on. Try a serverless architecture. Experiment with containers. Build a proof of concept. Or spend some time exploring an Azure service you haven’t used yet.
If you’re an eligible Visual Studio subscriber, you may already have a personal Azure sandbox waiting for you.
Many Visual Studio Subscriptions include Azure credits, giving developers a simple way to explore Azure, build skills, develop applications, and experiment with cloud services without first needing a separate Azure budget.
https://devblogs.microsoft.com/visualstudio/what-would-you-build-in-azure-if-you-didnt-have-to-ask-for-a-budget-first/
1 818
Stripping extra dependencies in .NET NativeAOT apps using linker substitutions
.NET Escapades | Andrew Lock | October 6, 2026
In this post I describe how to perform method-substitutions with the NativeAOT linker to remove additional dependencies that the linker couldn't see were unused.
https://andrewlock.net/stripping-extra-dependencies-in-.net-nativeaot-apps-using-linker-substitutions/
🏷️ .NET Core, Observability
1 818
Why async exists: the cost of blocking a thread
Meziantou's blog | Gérald Barré | October 5, 2026
This is the first post of a series about async/await in C#. Before looking at how it works, it is worth being precise about what problem it solves, because the usual explanations are either vague ("it makes your app faster") or wrong ("it runs your code in the background").
async/await does not make anything faster. A network call takes as long as it takes. What it changes is what your process does while waiting, and that turns out to matter a great deal.
https://www.meziantou.net/why-async-exists-the-cost-of-blocking-a-thread.htm
🏷️ .NET
1 818
dotInsights | October 2026
The JetBrains Blog | .NET Tools | October 5, 2026
C# 15 Collection Expression Arguments: What’s New vs C# 12 and 13: https://laurentkempe.com/2026/09/26/csharp-15-collection-expression-arguments/
Creating an Account UI in .NET MAUI: https://www.telerik.com/blogs/creating-account-ui-net-maui
Adding Properties with extension methods in C# 14: https://steven-giesel.com/blogPost/4368fcea-c922-403e-bb3b-6b4990eb36d2
Control Flow Obfuscation: A Practitioner’s Guide for .NET and Java Teams: https://www.preemptive.com/blog/control-flow-obfuscation/
The hidden trap of fixed buffers in C#: https://minidump.net/the-hidden-trap-of-fixed-buffers-in-csharp/
Interactive Terminals in the Browser with Aspire and .NET!!!: https://www.youtube.com/watch?v=YMyo16QX4I0
https://blog.jetbrains.com/dotnet/2026/10/05/dotinsights-october-2026/
🏷️ dotInsights
1 818
UWP and WinUI 3 apps: UI testing with MSTest
DevBlogs | .NET Blog | October 5, 2026
Reliable testing of UWP and WinUI 3 apps needs the app’s real UI dispatcher, not just a single-threaded apartment (STA) thread, so that test setup, async test code, and cleanup all run with UI-thread access. A WinUI 3 test still looks this simple:
https://devblogs.microsoft.com/dotnet/testing-uwp-and-winui-3-apps-with-mstest/
1 818
143 выпуск. Мудрёный hill-climbing, опасный supply chain, полезный memory dump
RadioDotNet | October 4, 2026
[00:01:30] — Creating a memory dump in C#
[00:18:10] — Building a Supply Chain Attack with .NET and NuGet
[00:53:10] — Разбор hill-climbing в .NET 9
[01:17:00] — What Runs Before Main() and Why It Sometimes Hangs
[01:39:00] — Кратко о разном
Слушать на Яндекс.Музыке: https://music.yandex.ru/album/12041961
Слушать на YouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3SpQ9GRn2jv-NEpvN23CUC5
Слушать на Mave: https://radiodotnet.mave.digital/ep-144
Поддержать на Boosty: https://boosty.to/radiodotnet
1 818
О пользе ограничений в MSSQL
Хабр | Блог компании Контур | 30 сентября 2026 г.
Мы привыкли, что ограничения (CONSTRAINT) — это способ указания допустимых значений для столбцов, ограничение уникальности и создание связей между таблицами. Это отличный способ поддерживать целостность данных, предотвращая некорректные операции. Но помимо этого, ограничения также помогают оптимизатору запросов генерировать более эффективный план выполнения. Как именно? Читайте ниже.
https://habr.com/ru/companies/skbkontur/articles/1082258/
🏷️ .NET, SQL, Базы данных, Программирование
1 818
Поменяли object на Lock, и два потока встретились в критической секции
Хабр | Блог компании OTUS | 30 сентября 2026 г.
В .NET 9 появился новый примитив синхронизации System.Threading.Lock, и многие команды начали заменять привычные object-замки на новый тип в поисках более предсказуемого поведения и производительности. Но такая замена меняет саму механику работы lock: достаточно одного места, где экземпляр потеряет свой тип, чтобы два участка кода перестали синхронизироваться между собой.
В статье разберемся, как именно устроена новая модель блокировок в C#, где компилятор помогает заметить проблему, а где она остаётся скрытой, и стоит ли переходить на Lock ради заявленных преимуществ.
https://habr.com/ru/companies/otus/articles/1087292/
🏷️ .NET, C#, Программирование
1 818
Multi-Tenant Best Practices Can Backfire
CodeOpinion | Derek Comartin | September 24, 2026
You have a multi-tenant system, but you discover a pretty horrible bug. How can that be? You followed all the best practices!
Your HTTP API places a message on a queue to generate an invoice. A background process picks up that message and executes it. Everything looks like it worked. There were no exceptions, no failed database calls, and no errors in your logs.
However, something went horribly wrong.
https://codeopinion.com/multi-tenant-best-practices-can-backfire/
🏷️ Architecture
1 818
50 минут руками — 5 минут автоматически. Или как я майнер удалял
Хабр | 28 сентября 2026 г.
Думаю, многие из вас знают, что такое майнер, а если нет, то вкратце — это программа, которая использует ресурсы компьютера для добычи (майнинга) криптовалюты. Сам по себе майнер не является вирусом, но есть те, кто им злоупотребляет, распространяя его скрытую вариацию под видом пиратского софта и сборок с играми.
Вэтой истории я расскажу, как столкнулся с таким майнером и потратил почти час на ручное удаление, как это позже удалось автоматизировать, и как уже из этого зародилась утилита по устранению таких майнеров.
https://habr.com/ru/articles/1087634/
🏷️ .NET, C#, Windows, Антивирусная защита, Информационная безопасность
1 818
Visual Studio September Update – Power Your Workflow with Your Model
DevBlogs | Visual Studio Blog | September 29, 2026
The best LLM in Visual Studio is the one you choose. This month’s update puts that idea front and center: pick the model that fits how you work, then use it everywhere GitHub Copilot already helps you today, from fixing vulnerable packages to reviewing pull requests. And once you’re in the editor, you’ll find sharper debugging tools too, whichever model is doing the thinking alongside you.
Grab the Visual Studio 2026 Stable Channel update and let us know what’s working and where we should invest next.
https://devblogs.microsoft.com/visualstudio/visual-studio-september-update-power-your-workflow-with-your-model/
1 818
OLAP OVER HTTP: как отдавать большие аналитические данные через API и не положить сервис
Хабр | Блог компании Ozon Tech | 28 сентября 2026 г.
Каждый день в 18:00 клиентам становится доступна отчётность по продажам, и многие одновременно нажимают кнопку «Загрузить отчёт». Это может быть детализированный отчёт по списаниям, юридическая отчётность, аналитическая выгрузка или API, используя который клиент получает данные для дальнейшей обработки. В этот момент даже хорошо подобранное хранилище может стать узким местом.
В моей практике разработки часто встречаются сценарии, когда необходимо предоставить доступ к большому количеству данных по HTTP. На первый взгляд задача выглядит простой: берём подходящее хранилище, пишем endpoint, выполняем запрос и отдаём результат пользователю. Но на практике такая схема быстро упирается в ограничения.
https://habr.com/ru/companies/ozontech/articles/1084762/
🏷️ .NET, Базы данных, Высоконагруженные системы, Хранение данных
1 818
Adding JsonPath support to custom object models in .NET
Meziantou's blog | Gérald Barré | September 28, 2026
In Using JsonPath with System.Text.Json to query JSON in .NET, we used JsonNode as the input type. If your data is already loaded in domain classes, you can evaluate JsonPath directly on those classes without converting to JsonNode.
Meziantou.Framework.JsonPath exposes JsonPathNavigator<TValue> for this scenario. You provide JSON-like navigation semantics for your node type, and the evaluator does the rest. This is the same approach as in XPath for custom types in .NET, where we exposed custom objects to XPath by implementing an XPathNavigator: you expose navigation primitives through a navigator, and the query engine handles expression evaluation.
https://www.meziantou.net/adding-jsonpath-support-to-custom-object-models-in-dotnet.htm
🏷️ .NET
1 818
Rider 2026.2.3 Is Released!
The JetBrains Blog | .NET Tools | September 28, 2026
Rider 2026.2.3 brings AI performance analysis to the Monitoring tool window and fixes an issue with the AI Agent Setup widget on Windows. You can update directly from the IDE, through the Toolbox App, or by downloading the latest version from our website.
https://blog.jetbrains.com/dotnet/2026/09/28/rd-2026-2-3/
🏷️ AI, Performance monitoring, Release, Rider, dotTrace
1 818
Build Agentic UI with the new Blazor AI components
DevBlogs | .NET Blog | September 28, 2026
AI enables natural and powerful ways for people to interact with software through language, voice, and vision. Applications with agents go further by helping users accomplish work. Agents can gather context, use tools, propose plans, update shared artifacts, and carry multi-step tasks forward in collaboration with the user.
These capabilities create new possibilities for application design and new challenges. Agent output may arrive incrementally. Users need visibility into what an agent is doing and control over consequential actions. The user, agent, and application may all contribute to shared state. The resulting experience needs to remain understandable and responsive as the work evolves.
https://devblogs.microsoft.com/dotnet/build-agentic-ui-blazor/
1 818
Как найти повреждённое колесо поезда, не перегоняя состав
Хабр | 26 сентября 2026 г.
Исследование моего отца по износу железнодорожных колёс, программа, которую он попросил меня написать, и патент, который за этим последовал.
https://habr.com/ru/articles/1087028/
🏷️ .NET, Транспорт, Читальный зал
