Интересности #336
За прошедшие две недели накопилось достаточно много интересных статей, видео и подкастов. Кроме обычных тем, таких как .NET, архитектура, инструменты и разработка, в этот раз в обзор попали несколько любопытных статей про дизайн UI и отладку ПО для еще несуществующих процессоров.
.NET
- How to make libraries compatible with native AOT
- .NET Native AOT Explained
- Extending WebAssembly to the Cloud with .NET
- Learn .NET 8 with New Beginner Videos
- .NET 8 Networking Improvements
- A journey about the new interceptors of .NET 8
- Building resilient cloud services with .NET 8
- Announcing ML.NET 3.0
- Inside .NET Development: Analyzing WinForms, Visual Studio Transition, and C# 12 Features
- .NET Conf 2023 Recap
- How .NET 8.0 boosted AIS.NET performance by 27%
- How .NET 8.0 boosted JSON Schema performance by 20%https://www.milanjovanovic.tech/blog/global-error-handling-in-aspnetcore-8
ASP.NET
- Embedding a minimal ASP.NET Web Server into a Desktop Application
- Adding environment vars to .NET Aspire services
- Sneaky async void Leads to ASP.NET Core Crash
- Data annotations has some awesome additions in .NET 8
C#
Entity Framework
MAUI
Реализации и примеры
- Парсер бинарных данных с WPF визуализацией в виде дерева структур и их полей. Структура, управляемая данными
- Недооцененный паттерн «Спецификация» в связке с паттерном «Репозиторий»
- Behind \[LogProperties\] and the new telemetry logging source generator
- Enriching logs with \[TagProvider\] and ILogEnricher
- Lesson Learned #449: Unleashing Concurrent Threads for Robust Database Health Checks in C#
- Scriban for Text and Liquid Templating in .NET
- Global Error Handling in ASP.NET Core 8
- How to Check if a File Is in Use With C#
- K-Means Data Clustering from Scratch Using C#
- Intercepting HTTP requests with a DelegatingHandler
- Examples Of The Visitor Pattern In C# – A Practical Guide
Azure
- Add Metrics to Application Insights
- Azure Cosmos DB design patterns – Part 3: Distributed counter
- Azure OpenAI design patterns
- Creating Zip Files in Azure Blob Storage
Rust
Архитектура
- Смерть от тысячи микросервисов
- Архитектурные ката: отсекаем всё лишнее в Agile
- Тестируемая архитектура. Часть 2: абстрактность и наблюдаемое поведение
- Нотация моделирования архитектуры С4 — примеры диаграмм и инструменты
- Керниган и Пайк были правы: делай что-то одно и делай это хорошо
- Нужно ли разработчикам проектирование?
- Sustainable software development with collaborative domain modeling
- The Wrong Abstraction
- Focusing on “Entities” leads nowhere good.
- DDD is just giving a about your Domain
- It’s a Feature, Not a Bug: A Step-by-step Guide to Architectural Decisions
Веб разработка
CSS
JavaScript
TypeScript
- TypeScript: infer и conditional types. Продвинутый TS на примерах
- TypeScript: операции Union и Intersection в свете теории множеств
- Typescript: принцип подстановки функций
- Frontend Talks: усиливаем TypeScript с помощью switch + notReachable
React
- Анти-легаси архитектура для UI приложений
- 3D Glass Portal Card Effect with React Three Fiber and Gaussian Splatting
Инструменты
- Updated: Azure DevOps Server 2022.1 RTW now available
- Git–Discard local changes
- Hide Those Terminal Secrets!
Visual Studio
- My favorite features in Visual Studio 17.8
- Scroll to expand document tabs
- Embracing SQL Server 2022 with SSDT 17.8: Unveiling Key Updates
- Write Your Git Commits with GitHub Copilot
- How to Debug LINQ queries in C#
Visual Studio Code
Контейнеры
Docker
- Announcing Builds View in Docker Desktop GA
- Docker Desktop 4.26: Rosetta, PHP Init, Admin Enhancements, and Docker Desktop Image for Microsoft Dev Box
- .NET 8 container workshop
- Docker Security Principles Overview
- Containerizing .NET - Part 1
Kubernetes
- Как работает Kubernetes пока ты спишь
- Как работает аутентификация в Kubernetes: ServiceAccount и RBAC
Мониторинг
Разное
- Как Visual Studio могла бы выглядеть с новым меню: делюсь GUI-шаблоном
- Пользовательские статусы для мессенджера: наш опыт UX-разработки
- 10 тёмных паттернов в UX-дизайне и как их избежать
- Игра в имитацию: как разрабатывать и отлаживать ПО для процессора, которого нет
Разработка
- HighLoad++ 2023. Заметки путешественника. День 1
- Способы отображения: существует ли связь между DDD и ООП
- Path to Senior Engineer handbook
- Rewriting vs Refactoring Code: How To Navigate The Two
- When To Refactor Code - How To Maximize Your Efficiency
Разработка игр
- Недельный геймдев: #149
- Недельный геймдев: #150
- Как стать программистом графики: советы команды AMD Game Engineering
- Duke Nukem 3D: один из пионеров дизайна уровней
- 2D Тени на Unity. Длина тени объекта
Хранилища данных
- Что нового в документации YDB в ноябре 2023
- SQL HowTo: TOP-N на субинтервалах
- Apache Spark… Это база
PostgreSQL