Интересности #418
За две недели собралось несколько заметных материалов по .NET и экосистеме: от внутренностей запуска dotnet test и изменений VSTest до релиза Aspire 13.3, обновлений ASP.NET caching, API versioning и свежих возможностей SkiaSharp.
Отдельно выделяются темы про AI-агентов, RAG и MCP, практическую архитектуру событийных систем, а также разборы Rust (включая неожиданный UB и границы безопасности) и свежие тренды инструментов и фронтенда.
.NET
- Магия dotnet test. Как запускаются ваши тесты в .NET?
- What’s new for .NET in Ubuntu 26.04
- VSTest is Removing its Newtonsoft.Json Dependency
- ConfigurationIgnoreAttribute in .NET 11
ASP.NET
Aspire
- What’s New in Aspire 13.3
- Release Aspire 13.3.0
- Aspire 13.3 - Maddy’s Top 5 Features
- Stop alt-tabbing to DevTools: WithBrowserLogs makes Chromium an Aspire resource
Библиотеки
- Governing MCP tool calls in .NET with the Agent Governance Toolkit
- Welcome to SkiaSharp 4.0 Preview 1
- Combining API versioning with OpenAPI in .NET 10 applications
- Getting started with the GitHub Copilot SDK in .NET
- Microsoft Agent Framework - Building Blocks for AI Part 3
Реализации и примеры
- Магия dotnet test. Как запускаются ваши тесты в .NET?
- Harden Your .NET JSON Deserialization with System.Text.Json and JsonSerializerOptions.Strict
- The Emergency Stop Button - Implementing Immediate Token Revocation in .NET 10
- The best way to create email templates in .NET
- Building an AI-Powered Conference App with .NET’s Composable AI Stack
- High-Performance Distributed Caching with .NET and Postgres on Azure
- CQRS Without MediatR: Hand-Rolled Command and Query Handlers in .NET
Azure
Rust
- Rust: зачем он появился, что умеет и почему компании переписывают на него части своих систем
- Вы неправильно используете clone() в Rust
- Как использовать Rust внутри приложений на .NET MAUI
- Твой код на Rust компилируется, проходит тесты и является UB. Ты просто об этом не знаешь
- Баги, которые не ловит Rust
- 44 CVE в uutils: что Rust ловит, а что нет на границе с системой
Архитектура
- Проектируем сервис HTTP-запросов: Kafka, PostgreSQL, Redis-очередь и миллионы логических партиций
- Проектирование архитектуры в нотации ArchiMate с использованием ИИ. Часть 1
- System Design: проектируем сервис быстрых знакомств
- Debugging Event-Driven Systems: 5 Problems Teams Create
- Lesson 219 - Fitness Function Driven Architecture Revisited (May 4, 2026)
Веб разработка
CSS
- Геометрические фигуры в CSS-анимации
- [Зря вы забыли эти HTML- и CSS-фичи](https://habr.com/ru/companies/ruvds/articles/1029698/
- Диапазоны медиа-запросов CSS
- Generative colors with CSS
TypeScript
- Типобезопасный HTTP API на TypeScript без кодогенерации: @cleverbrush/server и @cleverbrush/client
- TypeScript 7 Beta Now Enabled by Default in Visual Studio 2026 18.6 Insiders 3
React
Инструменты
- Теряет ли GitHub доверие индустрии?
- CraftHub — или как я устал редактировать JSON вручную и написал редактор
- New features in Git 2.54: easier rebasing, hooks, and statistics
Visual Studio
Visual Studio Code
Искусственный интеллект
MCP
- Memory MCP Server, часть 2: как проект вырос из semantic search в memory backbone для инженерных агентов
- Azure MCP Server now available as an MCP Bundle (.mcpb)
- Lessons on Building MCP Servers
- SQL MCP Server as an App Service
RAG
- 10 актуальных RAG-подходов: какие реально полезны и когда их применять?
- Что такое RAG-система? Полный разбор от теории до продакшена
- Пять документов ломают ваш RAG: где реальная уязвимость и что с ней делать
- The R in RAG
- Deeper into RAG
Агенты
- Claude Code: почему HTML лучше Markdown
- Правильная агентская архитектура в 2026 г. Часть 2. Durable state: approvals, session context и background jobs
- Как настроить AI-агента под проект: контекст, rules, skills, MCP — конспект двух вебинаров
- Long-running Agents
- Agent Memory Patterns
- Supercharging GitHub Copilot CLI with Ollama: Local Models, Full Control
- A good AGENTS.md is a model upgrade. A bad one is worse than no docs at all
- 7 Practical Ways to Reduce Claude Code Token Usage
- GitHub Copilot is moving to usage-based billing
- Improving token efficiency in GitHub Agentic Workflows
- Azure MCP and Azure Skills
- Choosing between APIs, MCP, and Agent-to-Agent architectures
- 10 Lessons for Agentic Coding (10 уроков агентного кодинга. Что делать в эпоху дешёвого кода?)
- What you’re actually writing when you write a SKILL.md
Инструменты
- Lemonade — локальный LLM-сервер при поддержке AMD. Зачем он нужен, если есть Ollama?
- Гефестыч: наш опыт автоматизации Code Review через LLM. «Грабли», решения, код
- GitHub shifts Copilot to usage-based billing, signaling a new cost model for enterprise AI tools
- Run Gemma 4 Locally With GitHub Copilot And VS Code
Модели
- Senior на бумаге, Junior в рантайме: как я тестировал локальные LLM на 120B параметров в Greenfield-проекте
- Запускаем DeepSeek-V4 (1.6T) на «калькуляторе»: SVD-трансмутация, Identity Theft и гаражный MLOps
- Прогнал 6 апрельских LLM через battle test. Победил не самый новый и не самый дорогой
- claude —model claude-opus-4-6
- Что в Opus 4.7 устроили с токенизацией?
- DeepSeek V4 vs Claude Sonnet 4.6: кто дешевле, кто умнее
- Разбираю «Qwen3.5-21B-Claude-4.6-Opus-Heretic-Uncensored»: что на самом деле внутри файнтюна с громким именем
- Парадокс GPT-5.5: чем подробнее промт — тем хуже. Разобрал свой 663-строчный скилл и сверился с Claude
- Выбираем и оцениваем open-source LLM для саммаризации встреч
- Можно ли заменить диктора open‑source TTS‑моделью: тестируем OmniVoice на русском языке
- GPT-5.5 prompting guide
- Qwen3.6-27B Brings Open-Weight Vision and Coding Power
- Alibaba’s New Qwen 3.6 Max AI is Quietly Outperforming Claude 4.5 Opus
Разное
- Карпатый объяснил, почему ваши навыки программирования скоро станут ненужными. Или нет
- Очередная методичка разработки с LLM: работает только если ты разработчик
- Structured Outputs без иллюзий: как OpenAI, Gemini и xAI соблюдают JSON»-схемы
- Code with Claude 2026: что Anthropic показали разработчикам на своей конференции
- Локальный ИИ на «древнем» железе: выжимаем максимум из AMD RX 580 через Vulkan в Fedora (Llama 3.1, DeepSeek, Qwen 3.5)
- 16 Ways to make a Small Language Model think bigger
- Is AI Overwhelming Open Source?
- The Prompt Engineering Cheat Sheet: How to Write Better AI Prompts
- Vibing, Harness and OODA loop
Контейнеры
Kubernetes
- Kubernetes v1.36: Tiered Memory Protection with Memory QoS
- Kubernetes v1.36: Staleness Mitigation and Observability for Controllers
- Kubernetes v1.36: Mutable Pod Resources for Suspended Jobs (beta)
- Kubernetes v1.36: User Namespaces in Kubernetes are finally GA
- kubectl describe pod: как читать вывод, в котором Kubernetes уже написал причину
Мониторинг
Разное
- Мал, да удал: почему пять строк рефакторинга могут сказать о разработчике больше, чем весь его GitHub
- Story points — прошлый век?
- User Story: полный гайд по написанию без ошибок
- Ubuntu 26.04 LTS: на что смотреть перед миграцией с 24.04
- The 20 Software Engineering Laws
Разработка
- Multi-layer Caching with the Decorator Pattern
- When to Use State Pattern in C#: Decision Guide with Examples
- Yoda Principle for better integrations
Хранилища данных
PostgreSQL