Интересности #323
Очередная подборка интересных статей и видео. За прошедшие три недели случилось много интересного. Вышли обновления для .NET 6 и .NET 7, а также очередная, седьмая, предварительная версия .NET 8. Visual Studio 2022 доросла до версии 17.7 и, как обычно, появилась первая предварительная версия 17.8. Кроме того, популярная библиотека Moq попробовала собирать email адреса разработчиков. Материалы про это и много другое ниже:
.NET
- .NET August 2023 Updates – .NET 7.0.10, .NET 6.0.21
- Announcing .NET 8 Preview 7
- Introducing the new IHostedLifecycleService Interface in .NET 8
- .NET Conf 2023 - Celebrating the Release of .NET 8! - Save the Date!
- Replacing method calls with Interceptors
- .NET 8 TimeProvider and Unit Tests
ASP.NET
- Работа с Sass в приложении ASP.NET Core
- ASP.NET Core updates in .NET 8 Preview 7
- Grafana dashboards for ASP.NET Core metrics
- ETags in ASP.NET Core
- Stream videos from Azure Blob storage with ASP.NET Core
- Plugin Architecture in ASP.NET Core – How To Master It
Blazer
C#
- Всегда ли в C# есть упаковка при конкатенации со строкой и интерполяции?
- Microsoft .NET Code Analysis: Do Not Expose Generic Lists
- Polyfills in .NET to ease multi-targeting
- Class vs Struct in C#: Making Informed Choices
- Struct memory layout and memory optimizations
- Implicit Operators – Clean Code Secrets Or Buggy Nightmare?
C# реализации
- Экспресс создание Telegram бота на C#
- Базы Данных + Telegram Бот на C#. SKitLs Framework v.2
- Using C# source generation for enhanced logging
Entity Framework
- Entity framework features I wish I knew earlier
- Gracefully Handling Entity Framework Exceptions with EntityFramework.Exceptions
- How to Split an Entity Into Multiple Tables in EF Core
MAUI
Библиотеки
- .NET developers alert: Moq NuGET package exfiltrates user emails from git
- Porting Moq to NSubstitute
Azure
- Azure Application Insights - Advanced / Lesser Known Features
- Public preview: Azure Application Gateway for Containers
Алгоритмы
Архитектура и дизайн
- Как написать удобный API — 15 рекомендаций
- Делегирование для ООП (Design Patterns) и самый эффективный способ взаимодействия объектов
- Паттерн Saga в микросервисной архитектуре
- Анализ пространственно-временных паттернов в распределенных системах обработки данных
- A Service Boundary Homework Problem
- Cloud Automation à la DDD: From stringly typed to affordances
- Using your Database as a Queue?
- Aggregate (DDD) isn’t hierarchy & relationships
Базы данных
PostgreSQL
- Как мы настраивали PostgreSQL для использования в качестве кэша
- Одна из возможных версий переезда с MySQL на PostgreSQL
- PostgreSQL: обходим подводные камни при миграции
Безопасность
Веб разработка
CSS
JavaScript
- DI в JS: идентификаторы зависимостей
- Шина между Веб-воркерами и основным потоком. Ускоряем работу JavaScript
- Загрузка файлов и каталогов перетаскиванием с помощью drag and drop JS
- Явное управление ресурсами: пробуем новую фичу JavaScript и TypeScript
TypeScript
- Вывод типов в TypeScript. Неизменяемый массив конкретных строковых значений
- Announcing TypeScript 5.2 RC
- How to Use TypeScript Generics with Functional React Components
React
- React + Redux/Effector: инструменты frontend-разработчика для создания интерфейса
- createAsyncThunk.withTypes()
- Open Source решение на React для быстрого создания панели управления в проекте
- Как «перебить» темную (системную) тему в веб-приложении на React
- React + Styled Components — идеальная анимация. Параметризованная анимация
- Все что необходимо знать про key в React и даже больше
- Ускорить таблицу на React в 1 000 раз, изменив лишь одну строку
- Как React 18 улучшает производительность приложения
- Top React Testing Libraries in 2023: A Comprehensive Review
- Learn React 18: Using Controlled Inputs
- Learn React 18: Using CSS Modules
Инструменты
- Быстрый сбор метрик тестов и отображение в Grafana
- August patches for Azure DevOps Server
- Announcing NuGet 6.7 – Keeping You Secure
Visual Studio
- Visual Studio 2022 – 17.7 Now Available
- Visual Studio 2022 17.8 Preview 1 has arrived!
- Monitor your GitHub Actions in Visual Studio
- Parallel Stack Window tips you need to know
- Visual Studio Dev Tunnels
Visual Studio Code
- Упрощаем себе работу: плагины VS Code, актуальные в 2023 году
- Using Live SASS Compiler in VS Code
- Debugging .NET Containers with Visual Studio Code Docker Tools
- Visual Studio Code July 2023
Искусственный интеллект
Контейнеры
Kubernetes
- Kubernetes: продолжаем говорить о контейнерах и архитектуре
- Разворачиваем веб-приложение в Kubernetes с нуля
- Создаем свой Managed K8S за 5 минут на старом железе
- Наблюдаемость сетевой инфраструктуры Kubernetes. Часть вторая
- Приемы логирования в Kubernetes
- K3s как альтернатива K8s
- Автоматизация развертывания стенда Kubernetes
- Миграция с Docker на CRI-O в Kubernetes
- Книги по Kubernetes — что почитать в 2023 году
- 11 полезных плагинов для kubectl
Docker / Podman
- Docker Desktop 4.22: Resource Saver, Compose ‘include’, and Enhanced RBAC Functionality
- Поднимаем кластер PostgreSQL в Docker и Testcontainers
- Podman Compose vs Docker Compose
Очереди
Разное
- Реализуем Type Inference на Rust — Часть #2: Простой Lambda Calculus
- Книги, которые можно рекомендовать любому программисту: от «Карьеры программиста» до «Математических алгоритмов»
- Go 1.21 is released!
- A Git Query Language written in Rust
- Learning Rust With Entirely Too Many Linked Lists
- Markdown Cheat Sheet