Интересности #387
В этом выпуске: как писать на современном C# даже в старых .NET-проектах, ускорять EF Core и упрощать XAML; разбор ELK-стека под .NET. В мире Rust — YOLO, собственное ядро и Telegram-бот с локальным ИИ. В AI-тематике — MCP повсюду: спецификации, серверы, угрозы. По архитектуре — антипаттерны микросервисов, подводные камни DDD и подробности устройства Cursor. На фронтенде — CSS-анимации, работа с baseline и загадки currentScript. Плюс Git, VS, VS Code, генерация тестов с LLM, тонкости SQL и немного космологии для равновесия.
.NET
C#
Entity Framework
MAUI
Реализации и примеры
- Разрабатываем печать документов на .NET с помощью OpenXml. Часть 3
- Подходы к фильтрации данных на платформе .NET
- Красно-чёрное дерево: полная реализация на C#
- C#, Кодогенерация и DDD. Часть 2 — Получаем данные и пробуем генерировать
- База про юнит-тесты в C# на xUnit v3
- Я разобрался с ELK в .NET, чтобы вам не пришлось
- Song recommendations from C# combinators
- Unpacking Zip Folders into Windows Long File Paths
Azure
Rust
- Почему Rust так мало волнует производительность компилятора
- Создание своего ядра на Rust
- Rust 1.88.0: Цепочки let, naked-функции, булевы литералы в cfg и очистка кеша cargo
- Telegram AI Companion: веселый проект на Rust, Telegram и локальном ИИ
- YOLO на Rust: производительность, удобство и открытость
Алгоритмы
Архитектура
- System Design для начинающих: всё, что вам нужно. Часть 6
- Развертывание микросервисов: проблемы, решения, стратегии, антипаттерны, практические рекомендации
- Галопом по архитектуре.
- ИТ-архитекторы: приручение корпоративной энтропии
- Как Cursor устроен изнутри.
- А так ли хорош TOGAF?
- Domain-Driven Design: ошибки, которые не описаны в книгах
- GitHub - nats-io/nats-architecture-and-design: Architecture and Design Docs (NATS ADR repository)
- Secondary Indexes and the Specialized Storage Dilemma
- Wrong ways to use the databases, when the pendulum swung too far
- Architecting LLM-Powered Applications: The Definitive .NET Architect’s Guide
- .NET Channels as a In-Memory Message Bus – Beware!
Веб разработка
CSS
- Эти CSS-техники устарели
- CSS Color Functions
- How to choose your Baseline target
- How to create light and dark color modes with CSS
- Color Everything in CSS
- A guide to Scroll-driven Animations with just CSS
JavaScript
- document.currentScript: что такое и с чем едят
- Темная магия JavaScript: Укрощаем неявное приведение типов
React
Инструменты
Git
- Working with stacked branches in git
- Highlights from Git 2.50
Visual Studio
Visual Studio Code
- Visual Studio Code now supports Baseline
- What’s New in MSSQL Extension for VS Code v1.33
- 12 GitLens Features that Revolutionized My Coding Workflow in VS Code
Искусственный интеллект
- Видеокарты для нейросетей: две RTX 5060 Ti 16GB или одна RTX 3090 24GB? Тест LLM‑инференса
- Разбираемся с суффиксами квантования LLM: что на самом деле значат Q4_K_M, Q6_K и Q8_0
- Насколько безопасен ваш ИИ? Анализ угроз Model Context Protocol (MCP)
- 20+ кейсов с изображениями в ChatGPT. Или экономим 100,000₽+ на дизайнерах
- 9 коротких промптов, которые делают работу с ChatGPT (и любым другим ИИ) проще и веселее
- Генерация юнит-тестов с LLM: если бы посуда мылась сама
- MCP и будущее AI: что стоит знать сегодня, чтобы не отстать завтра
- Azure DevOps MCP Server, Public Preview
- Catalog of official Microsoft MCP (Model Context Protocol) server implementations for AI-powered data access and tool integration
- Please Don’t Write Your Own MCP Authorization Code
- How to Build a Custom MCP Server with TypeScript
- Model Context Protocol (MCP) Spec Updates from June 2025
Контейнеры
Docker
Kubernetes
- Мультиконтейнерные поды в Kubernetes: новые возможности и лучшие практики использования сайдкаров
- Запуск микросервисов на базе пользовательских ресурсов Kubernetes
- Каким мне видится Kubernetes 2.0
- Как разработчику написать своего K8S-оператора. Часть 1: о Kubernetes
Машинное обучение
- Компьютерное зрение для начинающих
- Часть 2: Vision Transformer (ViT) — Когда трансформеры научились видеть
Мониторинг
- Rattle: узнаём об ошибках в Docker раньше, чем сообщит клиент
- Monitoring .NET Applications with OpenTelemetry and Grafana
Разное
- Потеря работы из-за ИИ: насколько реальна угроза? Мнение Демиса Хассабиса
- Как все успевать и не выгорать. 42 способа планирования на все случаи жизни
- Наша Вселенная находится внутри сверхмассивной черной дыры — исследование
- Сам ты вайб-кодер
- Игры про IT и не только
Разработка
- Type Driven Development на практике
- 5 причин, почему ваши Story Points не работают (и что делать)
- Прочитал «Чистый код», чтобы вам не пришлось
- SBOM Essentials
- 5 Mistakes That Make Your Code Unmaintainable
Разработка игр
Хранилища данных
- Учимся читать SQL SELECT
- Yet Another Key-Value Storage на основе Tarantool 3.x
- Плохие JOIN’ы: приемы, которые (нечаянно) кладут прод
- Как мигрировать большую 10+ Тб базу 1С из MS SQL в PostgreSQL и уложиться в трехчасовое окно
- Дело о похищенном рюкзаке: SQL, сложность и слепая вера в ИИ
- Что такое OLTP: просто о сложном
PostgreSQL