In REST, we use HTTP Status Codes (404, 500). In gRPC, we must use `RpcException` and `Status` objects to communicate errors rich in metadata across service boundaries. Standard Status Codes StatusCode.NotFound -> Entity missing. StatusCode.InvalidArgument -> Validation failed. StatusCode.FailedPrecondition -> ETag mismatch / Conflict. Interceptor for Global Error Handling Key Takeaways Never expose internal stack […]
Read more βCategory: Emerging Technologies
Emerging technologies include a variety of technologies such as educational technology, information technology, nanotechnology, biotechnology, cognitive science, psychotechnology, robotics, and artificial intelligence.
Visual Studio 2022 64-bit: First Impressions
For the first time, Visual Studio is 64-bit (devenv.exe). This removes the 4GB memory limit that has plagued developers of large enterprise solutions. We successfully loaded a solution with 1,600 projects. Performance Specs **Memory Usage**: Can now exceed 4GB (we saw 8GB usage on giant solutions). **Find in Files**: 3x faster using the new indexing […]
Read more βDapr v1.0: Building Microservices for Any Cloud
Dapr v1.0 is production-ready. It solves the hardest parts of distributed systems: State management, Service Invocation, and Event-driven messaging. This guide implements the “Virtual Actor” pattern using Dapr actors. Virtual Actors Actors are single-threaded units of state and logic. Dapr handles their lifetime (activating them when a message arrives, deactivating them after timeout). Output Bindings […]
Read more βAzure SQL Hyperscale: 100TB Databases
Traditional Azure SQL Database is limited by the disk size of the underlying VM (4TB max usually). **Hyperscale** decouples compute from storage, allowing databases to grow up to 100TB with rapid scaling. Architecture Why use it? **Instant Backups**: Backups are file-snapshots, taking zero IOPS from the compute. **Fast Restore**: Restoring a 50TB database takes minutes, […]
Read more βIntegration Testing with Testcontainers
Mocking the database in tests is a lie. In-memory databases (like EF Core InMemory) behave differently than SQL Server. **Testcontainers** allows you to spin up real, throwaway Docker containers for your integration tests. Setup in xUnit Writing the Test Key Takeaways Test against the exact version of the database you use in production. Works for […]
Read more βReact Query: Server State vs Client State
Redux is great for client state (is the modal open?), but terrible for server state (is this data fresh?). React Query (now TanStack Query) manages caching, background updates, and stale data automaticallly. The Default Stale-While-Revalidate Strategy React Query assumes data is stale immediately (0ms) but keeps it in cache for 5 minutes. When you request […]
Read more β