Интересности #318
Так получилось, что подборки Интересностей не выходили уже три недели, поэтому статей и видео накопилось очень много. Хорошо что впереди 3 дня выходных.
.NET
- Динамические методы в .NET (часть 2)
- Адаптируем код .NET Core под Linux
- .NET at Microsoft Build 2023 (YouTube playlist)
- Announcing an update for .NET Upgrade Assistant with a new CLI tool!
- Client Support for Calling WCF/CoreWCF with System.ServiceModel 6.0 Is Here!
- Announcing Azure Monitor OpenTelemetry Distro
- Getting .NET Library Projects to Output Dependent Assemblies
- New Terminal logger for .NET 8
ASP.NET
- Уязвимость XSS в приложении ASP.NET: разбираем CVE-2023-24322 в CMS mojoPortal
- ASP.Net Core: реализуем проверку Google reCAPTCHA V2
- Working with Minimal APIs and SignalR - .NET 148
- Making authenticated cross-origin requests with ASP.NET Core Identity
Blazor
- Typed exceptions for JSInterop in Blazor
- When and How to Use Blazor Components
- Blazor and CSP
- Localized Application in Blazor WebAssembly
C#
- Обезличенный вызов делегатов в C#
- Создание CLI-приложений при помощи System.CommandLine в .NET
- Создание фоновых задач в .NET с запросом состояния запущенного таска
- Refactor your .NET HTTP Clients to Typed HTTP Clients
- 6 useful extensions for IEnumerable
- Span / Memory / ReadOnlySequence in C#
- Concurrent Hosted Service Start and Stop in .NET 8
- How to detect Globalization-Invariant mode in .NET
- Exception Anti-Patterns in C# with Matt Eland - .NET 146
- How to Build Dynamic Queries With Expression Trees in C#
- .NET Core–Monitor cache misses
- Reduce heap allocations by using static anonymous functions
- .NET 7–Serialize private fields and properties
- Implicit Operators in C# and How To Create a Multi Type
- Enhancing .NET Hot Reload with CreateNewOnMetadataUpdate, MetadataUpdateHandler and MetadataUpdateOriginalType Attributes
Entity Framework
MAUI
Алгоритмы
Архитектура
- Шарды? Репликация? Part 1: Подбор БД на примере URL-сокращателя
- Как мы делали API для облака
- \[Паттерны API\] Атомарность массовых изменений
- What I Learned From Interviewing Potential Users Before Designing an API
- Anti-patterns in event modelling - I’ll just add one more field
- Error Handling in Event-Driven Systems
- C4 Models as Code
- Using anti-requirements to find system boundaries
- BEWARE of Consumer Lag!
- Greg Young answers your Event Sourcing questions!
- Monoliths - Good or Bad?
- Being Successful With Domain-Driven Design: Minimal Complexity
- Dependency Composition
- Banking on Thousands of Microservices
- Armchair Architects: Value of Curiosity in Architecture
Веб разработка
- Используйте всё богатство HTTP-кодов состояний
- Представляем popover API
- Знакомимся с @scope в CSS
- Ультимативный гайд по HTTP. HTTP/1.1 vs HTTP/2
- Understanding SameSite cookies
- Disabling HSTS for localhost on Chromium-based browsers
JavaScript
- Как упростить импорт JavaScript модулей с помощью Node.js Subpath Imports
- Как дебажить код на JavaScript: примеры ошибок и советы новичкам
- Реализация реактивности и компонуемости во фронтенд-фреймворке без зависимостей
- Кэш в JavaScript: не все Map’ы одинаково полезны
- Треугольник Серпинского — Canvas, JS
- 10 игр для изучения JavaScript
TypeScript
- ts-reset vs types-spring
- TypeScript 5.0 и 4.9: оцениваем и сравниваем изменения
- Announcing TypeScript 5.1
React
Инструменты
- Хороший, плохой, злой и… свободный? Сравниваем глуповатые, но усердные AI-плагины для разработки
- GUI для Git: подборка популярных решений
Visual Studio
- Visual Studio’s IntelliSense list can now steer GitHub Copilot code completions.
- Create a Microsoft Power App for your ASP.NET Core Web API
- Visual Studio 2022 – 17.6 Performance Enhancements
- All-In-One Search available in 17.6
- What’s New in SSDT 17.6: Ledger, Performance, Copilot
- Visual Studio’s IntelliSense list can now steer GitHub Copilot code completions.
- Visual Studio 2022 17.6–Http Endpoint explorer
Visual Studio Code
- Announcing C# Dev Kit for Visual Studio Code
- Visual Studio Code snippet to make URLs relative
- Visual Studio Code May 2023 (version 1.79)
Контейнеры
Kubernetes
- Коварство метрик памяти Kubernetes (и cgroups)
- А вам точно нужен Kubernetes?
- Ограничиваем доступ в Kubernetes: без смс, но с регистрацией
- А у вас есть кубернетес? Подборка текстов по k8s для тех, кто не DevOps
- Что такое аннотации в Kubernetes?
- Kubernetes Observability: Audit Logs
Docker
Podman
Мониторинг
Очереди
- Kafka за 20 минут. Ментальная модель и как с ней работать
- Работа Apache Kafka на примерах. Поднимаем Kafka Cluster используя docker-compose
Разработка
- 5 антипаттернов при написании кода на функциональном ЯП
- Архитектура и реактивное программирование
- \[HTTP API & REST\] Терминология. Мифология REST. Составляющие HTTP-запроса
- \[HTTP API & REST\] Преимущества и недостатки HTTP API
- Microsoft Build 2023 Book of News
- Favour flat code file folders
Разработка игр
Хранение данных
- Tarantool 2.11 LTS: Рассказываем про новые возможности администрирования и безопасности
- Погрузиться в Redis — материалы, которые помогут начать работу
- Из SQL в NoSQL: меняем парадигму запросов
- Azure Data Studio 1.44
- CRUD operations using Powershell and SQL Server
Microsoft SQL Server
- Новое в SQL Server 2022: Cardinality Estimation Feedback
- Новое в SQL Server 2022: Accelerated Database Recovery (ADR)\
- Unmasking SQL Server Dynamic Data Masking -Part 1 – Introduction
- SQL Server 2022: Capture SQL Anti-Patterns
PostgreSQL