devdigest // dot net
Ir al canal en Telegram
Главные новости из мира .NET: все про C#, F# и VB Все каналы проекта: https://t.me/devdigestplatform/163
Mostrar más3 902
Suscriptores
-124 horas
Sin datos7 días
Sin datos30 días
Carga de datos en curso...
Canales Similares
Nube de Etiquetas
Menciones Entrantes y Salientes
---
---
---
---
---
---
Atraer Suscriptores
octubre '26oct '26
octubre '26
+4
en 0 canales
septiembre '26
+32
en 0 canales
Get PRO
agosto '26
+14
en 0 canales
Get PRO
julio '26
+22
en 0 canales
Get PRO
junio '26
+33
en 0 canales
Get PRO
mayo '26
+33
en 1 canales
Get PRO
abril '26
+26
en 0 canales
Get PRO
marzo '26
+25
en 0 canales
Get PRO
febrero '26
+546
en 1 canales
Get PRO
enero '26
+40
en 0 canales
Get PRO
diciembre '25
+20
en 0 canales
Get PRO
noviembre '25
+34
en 0 canales
Get PRO
octubre '25
+29
en 1 canales
Get PRO
septiembre '25
+17
en 1 canales
Get PRO
agosto '25
+602
en 1 canales
Get PRO
julio '25
+120
en 0 canales
Get PRO
junio '25
+34
en 2 canales
Get PRO
mayo '25
+28
en 0 canales
Get PRO
abril '25
+77
en 0 canales
Get PRO
marzo '25
+55
en 3 canales
Get PRO
febrero '25
+28
en 0 canales
Get PRO
enero '25
+57
en 3 canales
Get PRO
diciembre '24
+61
en 2 canales
Get PRO
noviembre '24
+60
en 2 canales
Get PRO
octubre '24
+70
en 3 canales
Get PRO
septiembre '24
+60
en 2 canales
Get PRO
agosto '24
+56
en 2 canales
Get PRO
julio '24
+37
en 2 canales
Get PRO
junio '24
+31
en 1 canales
Get PRO
mayo '24
+44
en 1 canales
Get PRO
abril '24
+57
en 2 canales
Get PRO
marzo '24
+53
en 1 canales
Get PRO
febrero '24
+61
en 2 canales
Get PRO
enero '24
+78
en 1 canales
Get PRO
diciembre '23
+85
en 0 canales
Get PRO
noviembre '23
+134
en 1 canales
Get PRO
octubre '23
+33
en 0 canales
Get PRO
septiembre '23
+41
en 0 canales
Get PRO
agosto '23
+47
en 0 canales
Get PRO
julio '23
+60
en 0 canales
Get PRO
junio '23
+1 237
en 0 canales
Get PRO
mayo '23
+1 172
en 0 canales
Get PRO
abril '23
+32
en 0 canales
Get PRO
marzo '23
+52
en 0 canales
Get PRO
febrero '23
+29
en 0 canales
Get PRO
enero '23
+42
en 0 canales
Get PRO
diciembre '22
+40
en 0 canales
Get PRO
noviembre '22
+49
en 0 canales
Get PRO
octubre '22
+64
en 0 canales
Get PRO
septiembre '22
+65
en 0 canales
Get PRO
agosto '22
+87
en 0 canales
Get PRO
julio '22
+215
en 0 canales
Get PRO
junio '22
+51
en 0 canales
Get PRO
mayo '22
+28
en 0 canales
Get PRO
abril '22
+34
en 0 canales
Get PRO
marzo '22
+33
en 0 canales
Get PRO
febrero '22
+31
en 0 canales
Get PRO
enero '22
+45
en 0 canales
Get PRO
diciembre '21
+37
en 0 canales
Get PRO
noviembre '21
+100
en 0 canales
Get PRO
octubre '21
+48
en 0 canales
Get PRO
septiembre '21
+98
en 0 canales
Get PRO
agosto '21
+188
en 0 canales
Get PRO
julio '21
+41
en 0 canales
Get PRO
junio '21
+42
en 0 canales
Get PRO
mayo '21
+49
en 0 canales
Get PRO
abril '21
+87
en 0 canales
Get PRO
marzo '21
+152
en 0 canales
Get PRO
febrero '21
+69
en 0 canales
Get PRO
enero '21
+57
en 0 canales
Get PRO
diciembre '20
+3 468
en 0 canales
| Fecha | Crecimiento de Suscriptores | Menciones | Canales | |
| 06 octubre | 0 | |||
| 05 octubre | 0 | |||
| 04 octubre | 0 | |||
| 03 octubre | +1 | |||
| 02 octubre | +1 | |||
| 01 octubre | +2 |
Publicaciones del Canal
⚡️ Марк Симанн: LLM ускоряют написание кода, но не скорость обучения разработчика
Марк Симанн отвечает на вопрос читателя: стоит ли ещё учить основы программирования, если LLM пишет код за тебя. Его тезис — LLM ускоряют написание кода, но не скорость, с которой человеческий мозг усваивает новые концепции; это и есть настоящее узкое место, а не доступ к учебникам или ментору.
Себя он в пример не ставит: C# выучил по документации и примерам кода, почти не осиливая профильные книги, а вот F# и Haskell без книг не зашли. Путь к тому, чтобы «уверенность прошлого себя» начала казаться поверхностной, занял у него десятилетия — и главный вопрос статьи в том, есть ли у тех, кто учится сейчас, время на такую же глубину, или его больше не будет.
Практический совет: не задавай LLM неверифицируемые вопросы вроде «что мне учить дальше» — только фальсифицируемые, на которые есть проверяемый ответ (код работает или нет). Тем, кто входит в профессию с нуля именно сейчас, он всерьёз предлагает присмотреться к столярному делу или металлообработке — как более устойчивым к автоматизации.
👉🏻 Канал | 💬 Чат | 📕 Каталог
| 2 | ⚡️ Вышел F# Weekly #40: главное — Blazor-компоненты для чата с AI-агентом
Вышел 40-й выпуск F# Weekly Сергея Тихона — еженедельной подборки всего, что происходит в F# и вокруг .NET.
Самое интересное в нём — экспериментальные Blazor AI-компоненты из .NET 11 RC1. Чат с AI-агентом теперь собирается одним компонентом ChatPage: стриминг ответа, вызовы инструментов и кнопки approve/reject для рискованных действий уже внутри, а под капотом — любой IChatClient из Microsoft.Extensions.AI.
Остальное — новые проекты, релизы библиотек и видео недели — в самом выпуске.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 876 |
| 3 | ⚡️ AG-UI Protocol получил официальный .NET SDK на Microsoft.Extensions.AI
Microsoft выпустил официальный .NET SDK для AG-UI (Agent-User Interaction Protocol) — открытого протокола, который стандартизирует, как агент стримит события в UI: RUN_STARTED, TEXT_MESSAGE_CONTENT, STATE_DELTA и так далее, вместо того чтобы каждый фреймворк придумывал свой формат стриминга.
SDK — это пять NuGet-пакетов: AGUI.Abstractions (типы протокола), AGUI.Formatting (форматы), AGUI.Protobuf (опциональный бинарный кодек), AGUI.Client и AGUI.Server. В основе — знакомый IChatClient из Microsoft.Extensions.AI: метод AsAGUIEventStreamAsync() сам превращает стриминг ответа в события протокола с нужными лайфсайкл-маркерами, а AGUIChatClient на другой стороне позволяет дёргать чужого AG-UI-агента как обычный IChatClient. Microsoft Agent Framework теперь тоже переехал на этот пакет вместо своей реализации.
Главное — протокол один и тот же в C#, TypeScript и Python SDK: .NET-бэкенд агента спокойно обслуживает фронтенд на любом из них. Если у вас агенты частично на C#, частично на Python (см. на этой неделе //data science) — это буквально общий язык между ними, а не два похожих, но разных формата.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 092 |
| 4 | ⚡️ Microsoft показывает, как собрать AI-агента на C# с нуля — в живой серии из четырёх сессий
Microsoft Agent Framework — это не сам агент, а harness: рантайм-слой, который берёт на себя оркестрацию вокруг модели. Ты даёшь модель, промпт и доменные тулы — harness добавляет память, планирование и retry.
В новой серии «From Model to Agent» на .NET YouTube это собирают вживую на C#, сессия за сессией: от chatClient.AsHarnessAgent(...) с автоматическим вызовом функций и историей — до продакшен-версии с approval-политиками на рискованные действия (ApprovalRequiredAIFunction), доступом к файлам только в разрешённых директориях, shell-командами с таймаутами и OpenTelemetry-трейсингом вызовов тулов и токенов. Готовый код — в репозитории MafClaw, две сессии из четырёх уже вышли.
Это тот же Agent Framework, что и в Python-версии — если у вас в проекте C#-бэкенд и ML-агенты на Python одновременно, концепции 1-в-1 переносятся между стеками (см. на этой неделе //data science).
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 833 |
| 5 | ⚡️ Rider и ReSharper 2026.2.2: виджет для настройки AI-агентов и точечные подсказки хуков
В Rider и ReSharper вышел патч 2026.2.2 — и половина изменений про AI-агентов.
Новый виджет в статус-баре показывает, какие agent-фичи вообще есть в IDE — MCP tools, skills, hooks — и что из этого уже включено, а что можно настроить в один клик. До этого искать это приходилось по настройкам.
Хуки стали точнее: инспекция теперь возвращает результаты только по добавленному агентом коду, а не по всему файлу, а reformat-хук отдаёт diff именно тех изменений форматирования, которые внёс IDE — агенту не нужно гадать, что поменялось. dotCover в Rider и ReSharper научился считать покрытие для тестов на TUnit (нужен пакет JetBrains.dotCover.Framework и Microsoft.Testing.Platform 2.3.0+).
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 569 |
| 6 | ⚡️ Environment.ProcessorCount с .NET 6 считает лимит процесса, а не ядра хоста
Andrew Lock показал, что начиная с .NET 6 Environment.ProcessorCount отдаёт не число процессоров хоста, а количество логических ядер, доступных именно процессу — в контейнере с CPU-лимитом это совсем другое число.
Обхода в BCL нет, поэтому для каждой платформы — свой P/Invoke. В Windows это GetActiveProcessorCount с флагом «все группы процессоров» (0xFFFF), в macOS — sysctlbyname("hw.logicalcpu"), а в Linux приходится парсить /sys/devices/system/cpu/online, где диапазоны ядер вперемешку с одиночными номерами вроде «0-3,4,8-11». Lock приводит парсер для обоих форматов и советует завернуть результат в синглтон: значение не меняется за время жизни процесса, дёргать sysctl или P/Invoke на каждую проверку незачем.
Сам автор честно пишет, что в проде это ещё не проверял. Если вам действительно нужно число ядер хоста, а не лимит контейнера — например, для пула потоков вне cgroup-ограничений — сначала прогоните код на своей платформе, а не копируйте вслепую.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 373 |
| 7 | ⚡️ F# обходит C# почти по всем параметрам, кроме тулинга — колонка Mark Seemann
Марк Симанн (автор блога ploeh про DDD и функциональный C#) в новой колонке заявляет, что F# превосходит C# «по большинству осей сравнения» — несмотря на то, что C# популярнее.
Главный аргумент архитектурный – F# по умолчанию запрещает циклические зависимости между модулями, и Симанн называет это killer feature — язык сам не даёт собрать спагетти-код вместо того, чтобы полагаться на дисциплину разработчика при декомпозиции. К этому добавляются computation expressions, сильный вывод типов и коллекции со structural equality из коробки. За C# он оставляет лучшую поддержку в IDE, совместимость с ASP.NET Razor и более зрелые инструменты для cyclomatic complexity и mutation testing.
Вывод автора весьма провокационный: F# — лучший выбор, если не мешает доступность разработчиков на рынке.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 438 |
| 8 | ⚡️ Uno Platform разделили MCP-сервер на два — по времени жизни данных, а не по фичам
Uno Platform построили для AI-агентов два MCP-сервера вместо одного и объясняют, почему разделение оказалось дешевле по токенам, чем один сервер на все случаи.
Docs-сервер (HTTP, stateless, mcp.platform.uno/v1) даёт агенту документацию и правила API — это знание, которое меняется только с релизами, и правки в документации сразу видны во всех активных сессиях. App-сервер — локальный stdio-инструмент с состоянием: запускает приложение с Hot Reload, «видит» через скриншоты и XML визуального дерева (это находит не только «что сломано», но и какой конкретно элемент и его свойства), кликает и печатает через automation peers, отдаёт статус здоровья. Стек: MCP C# SDK, Roslyn workspace для компиляции в браузере, Microsoft Agent Framework для планирования, SkiaSharp. По токенам разница ощутимая: docs-сервер стоит агенту ~6.4k токенов контекста, app-сервер — ~1.5k, тогда как один встроенный MCP-сервер GitHub обходится в ~5.2k — то есть деление по времени жизни данных (что меняется на деплое vs что меняется во время выполнения) оказалось не только архитектурно чище, но и дешевле.
Принцип «разделяй MCP-серверы по lifetime, а не по фичам» универсален и не завязан на UI-фреймворки — если пишете свой MCP-сервер, посчитайте, сколько токенов съедают только описания инструментов, до того как агент сделает хоть что-то полезное.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 608 |
| 9 | ⚡️ Rider 2026.3 EAP: радужные скобки, data breakpoints из редактора и фильтры в completion
JetBrains открыла Early Access Program для Rider 2026.3. В первой сборке четыре заметные вещи.
Радужные скобки красят парные скобки по уровню вложенности, что спасает в однострочниках, где отступы не помогают; по умолчанию фича выключена, включается в Settings, Editor, General, Appearance. Data breakpoints теперь ставятся правым кликом по переменной прямо в редакторе, а не только через окно Watches, и добавляются из окна Breakpoints по имени переменной или адресу памяти с размером региона. Поддержаны чтение и запись, условия, логирование и валидация ввода: это в первую очередь про Unreal Engine и собственные движки на C++. В popup автодополнения появился ряд фильтров по видам подсказок, левый клик по иконке оставляет только namespace, классы, enum или события, правый прячет их; фильтры перенесены из ReSharper.
Мелочи, которые тоже пригодятся: плагины для геймдева собраны в отдельную категорию Game Development, а dotCover научился считать покрытие для тестов на TUnit, нужен пакет JetBrains.dotCover.Framework и Microsoft.Testing.Platform не ниже 2.3.0.
EAP есть EAP: поверх рабочего проекта ставить рано, но ради data breakpoints отдельная установка через Toolbox оправдана.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 582 |
| 10 | ⚡️ Сентябрьский servicing .NET: закрыто 8 CVE в 10.0, 9.0 и 8.0
Microsoft выпустила сентябрьский servicing-релиз .NET от 8 сентября: версии 10.0.12, 9.0.20 и 8.0.31, закрыто восемь CVE.
Все восемь уязвимостей затрагивают .NET 10, 9 и 8 одновременно: CVE-2026-69805, 69439, 71328, 69522, 69304, 58649, 66822 и 69806. Одна из них, CVE-2026-69522, задевает ещё и .NET Framework от 4.6.2 до 4.8.1, то есть обновлять придётся и legacy-хосты. Исправления разложены по отдельным changelog для ASP.NET Core, EF Core и runtime; контейнерные образы и Linux-пакеты обновлены вместе с инсталляторами.
Это тот тип обновления, который откладывать нельзя: патч-версии внутри одного major не ломают совместимость, а восемь CVE в трёх поддерживаемых линиях означают, что уязвимы почти все прод-окружения. Базовые образы стоит пересобрать сегодня, а не в следующем спринте.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 551 |
| 11 | ⚡️ Rider стартовал 44 секунды из-за Defender — Microsoft починила это в самом Defender
JetBrains разобрала, почему Rider и ReSharper медленно стартуют на Windows. Виновник — Microsoft Defender: первый запуск Rider из Toolbox сканировался 44 секунды, Visual Studio и VS Code — меньше секунды.
Причина в расположении, а не в коде. Процессы из защищённых от записи путей получают более широкие правила доверия, и Defender почти не трогает их при старте. Toolbox и ReSharper out-of-process ставятся в пользовательскую папку, поэтому после переезда на OOP-архитектуру процесс ReSharper стал получать полный скан. Диагностировали по ETW-событиям Microsoft-Antimalware-Engine и CPU time, по 10 замеров на инструмент. Итог: JetBrains IDE — 10–40 секунд, CLI-инструменты — меньше 2. Microsoft выпустила Defender 1.449.454.0 с оптимизированным сканированием приложений из write-protected папок — Rider и ReSharper OOP теперь укладываются в 5 секунд. ReSharper 2026.2.1 идёт с OOP по умолчанию.
Если IDE всё ещё тормозит: обновить Defender, вынести репозитории и кэши на Dev Drive, в крайнем случае — исключения через Add-MpPreference. Я бы начал с Dev Drive.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 596 |
| 12 | ⚡️ Агент с движком рефакторинга Rider: 157 секунд против 26 на тех же задачах
⏭ #6693 пропущен
2 / 2
📋 Пост #6695 · v2 — .NET — англ: Rider's refactoring engine as an agent skill: 157s down to 26s
📝 Переписать: без воды
⚡️ Агент с движком рефакторинга Rider: 157 секунд против 26 на тех же задачах
JetBrains прогнала фронтирную модель через пятнадцать задач на рефакторинг C# и посчитала, за что та хваталась. 468 раз — передача текста в интерактивные команды, 422 раза git, 392 раза sed, 163 раза dotnet build. Структурных операций рефакторинга ноль, потому что их просто не было среди инструментов.
Агент компилировал не чтобы проверить результат, а чтобы узнать, что натворила последняя правка. Навык refactoring-code, который идёт в комплекте с Rider 2026.2.1, отдаёт агенту восемь операций движка ReSharper: rename, extract method, extract interface, extract base class, change signature, move type, reorganize namespaces, safe delete
. Движок работает по разрешённому синтаксическому дереву, поэтому знает, куда биндится каждый идентификатор, и не путает тип Order со словом order в комментарии.
Числа на тех же задачах: медиана времени 157.9 секунды против 26.6, стоимость решённой задачи 0.52 против 0.19 доллара, вызовов инструментов 17 против 6.2, вызовов dotnet build 3 вместо 163. Самый резкий случай, extract base class: 337 секунд и 24 вызова превратились в 20 секунд и три.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 419 |
| 13 | ⚡️ .NET 11 RC1 вышел с go-live лицензией: C# 15 стабилизирует union-типы
Microsoft выпустила .NET 11 Release Candidate 1 — с go-live лицензией, то есть его уже можно ставить в прод с официальной поддержкой. Финальный релиз — на .NET Conf 10–12 ноября.
Главное в RC1: C# 15 стабилизирует union-типы и closed-иерархии, а System.Text.Json получил closed-type polymorphism и поддержку unions. В runtime операции с Half используют FP16-инструкции, появился in-process crash reporting на Unix. В библиотеках — DNS record resolution на Linux, отправка сигналов процессам, async options validation. Native AOT для file-based programs. В ASP.NET Core финализированы API обновления аутентификации в SignalR, Blazor Server circuits подхватывают refresh аутентификации. F# получил record spreads.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 630 |
| 14 | ⚡️ Построение распределённого планировщика задач на Akka.NET
Аарон Станнард из Petabridge описал, как построить распределённый планировщик долгих задач на Akka.NET — для случаев, когда задания идут от минут до часов, а кластер должен масштабироваться, не теряя уже выполненную работу. Автор объясняет, почему обычный Akka.Cluster.Sharding здесь не годится: при изменении размера кластера он перебрасывает задания на новые узлы и выбрасывает уже проделанную работу. Вместо этого система строится на нескольких акторах, где главный, JobTracker, хранит расписание и переживает сбои. Ключевая идея — распределять задачи по реальной загрузке узлов: планировщик прикидывает «размер» задания и отправляет его на самый свободный узел, избегая перегрузки отдельных машин. Такой подход не тратит вычисления впустую и хорошо подходит для транскрипции, транскодинга, ETL и финансовой отчётности.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 2 082 |
| 15 | ⚡️ Как устроена память агентов в Microsoft Agent Framework
Джесс Либерти объяснил, как ИИ-агенты в .NET запоминают то, что с ними происходит. За память отвечает Agent Memory на базе графовой БД Neo4j, и работает она на трёх уровнях: краткосрочная помнит текущий разговор, долгосрочная хранит накопленные знания и связи между ними, а «память рассуждений» — прошлые действия и решения агента. Отдельно автор выделяет битемпоральность: система хранит не только то, когда факт произошёл, но и то, когда она его записала. В статье есть и разбор кода: подключение к Neo4j, создание MemoryStore и методы StoreMemory() и RetrieveMemory(). Благодаря этому агент сохраняет контекст между сессиями.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 2 022 |
| 16 | ⚡️ F# Weekly #33, 2026
Вышел свежий выпуск дайджеста F# Weekly. Главное событие недели — релиз .NET 11 Preview 7 с обновлениями языка F#. В центре внимания и PaketaBot — бот для управления зависимостями в проектах на Paket: написан на F#, скомпилирован через Fable и работает прямо в GitHub Actions без хостинга, закрывая пробел там, где Dependabot не поддерживает Paket. Среди других заметных проектов — fsdb (MySQL-совместимый сервер БД с поддержкой wire-протокола и SQL-грамматики на FParsec), toro (фреймворк глубокого обучения, приносящий семантику PyTorch в F# через TorchSharp), Farse (парсинг JSON на System.Text.Json) и Falco.UnionRoutes (типобезопасная маршрутизация для веб-фреймворка Falco). В номере также свежие релизы библиотек: Ionide.Analyzers 0.16, FSharpLint.Core 0.27.1 и Fable.Logging 1.0.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 2 070 |
| 17 | ⚡️ Шесть улучшений производительности .NET 11
Стивен Гизель разобрал шесть заметных улучшений производительности в .NET 11, приведя бенчмарки .NET 10 против .NET 11 Preview 6 на Apple M2 Pro. Среди них: устранение упаковки (boxing) в обобщённом сравнении enum-ов — до 86% быстрее и без аллокаций; удаление лишних проверок диапазона и null в векторных операциях (~10%); кэширование правил часовых поясов, ускоряющее DateTime.Now на 48%; оптимизация парсинга Guid на 20–25%; ускорение LINQ Min/Max для мелких типов через векторные перестановки (до 70–75% на байтах и short) и общее сокращение размера генерируемого кода. Главный вывод: все выгоды достаются разработчику автоматически — достаточно обновиться, без изменений в собственном коде.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 858 |
| 18 | ⚡️ F# Weekly #32, 2026
Вышел свежий выпуск дайджеста F# Weekly. Главные релизы недели — библиотека доступа к данным FSharp.Data 8.2.0 и игровой фреймворк Mibo 4.0 с заметно ускоренным PBR-конвейером для 3D-рендеринга, который выходит на GPU-bound производительность на бэкендах raylib и MonoGame. В номере также свежие обновления FSharp.TypeProviders.Templates 8.11, SQLProvider 1.5.27, SwaggerProvider, linq2db.FSharp и Polars.FSharp. Среди заметных проектов — Plinth (local-first markdown-блокнот на F# и Tauri), Thuja (минималистичная библиотека для терминальных интерфейсов) и FsLangMCP (MCP-сервер, открывающий сервисы компилятора F# для ИИ-агентов). Отдельный тренд выпуска — рост экосистемы F# MCP для ИИ-воркфлоу. Из новостей Microsoft — улучшения безопасности NuGet, платформы тестирования и Agent Framework.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 846 |
| 19 | ⚡️ Современная аутентификация в ASP.NET Core: 2FA и passkey
Али Хамза Ансари в блоге elmah.io подробно показал, как реализовать в ASP.NET Core на .NET 10 два современных механизма защиты: двухфакторную аутентификацию (2FA) и вход по passkey на стандартах WebAuthn/FIDO2. Для 2FA разбираются регистрация и вход, генерация QR-кода для приложения-аутентификатора, проверка одноразовых кодов TOTP, резервные коды восстановления и блокировка аккаунта после неудачных попыток. Раздел о passkey охватывает регистрацию учётных данных (attestation) и беспарольный вход (assertion) с подтверждением по биометрии или PIN, а также хранение ключей и проверку счётчика подписей. В основе — ASP.NET Core Identity, Entity Framework Core, пакет Fido2NetLib и PostgreSQL. Такой подход заметно снижает риски по сравнению с обычными паролями и одновременно упрощает вход для пользователя.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 620 |
| 20 | ⚡️ Архитектурный разбор ML.NET: машинное обучение без выхода из экосистемы .NET
Абдул Рахман разобрал архитектуру ML.NET — открытого кросс-платформенного фреймворка машинного обучения от Microsoft, который позволяет обучать, оценивать и разворачивать ML-модели на привычном C# без Python-рантайма и сторонних библиотек. Автор предлагает делить решение на три проекта: тренер (консольное приложение, которое загружает данные, обучает и сохраняет модель), библиотеку схем с общими типами данных и клиент (Web API, Blazor или Worker), который выполняет предсказания. В основе — MLContext как точка входа (аналог DbContext из EF), «ленивое» табличное представление IDataView и пайплайны, собираемые цепочкой Append и выполняемые при вызове Fit(), как в LINQ. Тренеры сгруппированы по типам задач — классификация, регрессия, кластеризация, поиск аномалий, ранжирование, прогнозирование. Для ASP.NET Core PredictionEnginePool обеспечивает потокобезопасные предсказания и горячую перезагрузку модели.
👉🏻 Канал | 💬 Чат | 📕 Каталог | 1 794 |
