It's very easy to set up asynchronous validation in Angular Form. You can check whether provided email/date/name etc. already exists in the server with an HTTP call.
Angular Form Validation on Blur and Submit
updateOn: 'blur' and updateOn: 'submit' are the options we were really craving for while working with Angular Forms. Now it's available out of the box and you don't need any custom implementations.
Versioning for ASP.NET Core Web API
If you are adding API versioning to your existing API project, you can tell ASP.NET Core to treat the undercoated controllers and actions to have version 1.0 by default. To do that, configure the AddApiVersioning() service with AssumeDefaultVersionNumberUnspecified flag.
My Notebook: Refit - A type-safe REST library
Working with HttpClient is kind of low-level stuff. Refit eases that problem for us. It creates an abstraction over HttpClient and allows us to work with an interface representing REST endpoints
GraphQL with .NET Core (Part - XI: Data Loader)
We have N + 1 problem in our solution. To overcome this problem, we introduce DataLoader. DataLoader adds support for batching and caching in your GraphQL queries.
GraphQL with .NET Core (Part - X: Execution Strategies)
By default, graphql-dotnet executes queries in parallel. Most of the time that's a desired behaviour. But there is a catch when a parent graph type has dependencies on a child graph type which also uses asynchronous task to resolve field values.
GraphQL with .NET Core (Part - IX: Many-Many Entity Relations)
By EF conventions, in a many-to-many relation, you have two standalone entities and a third entity between them which represents a relationship bridge.
My Notebook: Redux & NGRX
Application state is subjected to change. A reducer is a pure function that takes the current state and an action been dispatched upon it. Depending on the action type it produces a new state and returns it. States are immutable.