Updating our Clean Architecture template for .NET 6 involves enforcing stricter boundaries using `ImplicitUsings`. Project References The Core layer (`Domain`) should have ZERO dependencies. In .NET 6, we can enforce this by stripping out accidental imports. This compiler-level enforcement prevents junior developers from injecting HTTP clients into Domain Entities.
Read more →Azure Logic Apps: Standard vs Consumption
Choosing between Logic Apps Consumption (Serverless) and Standard (Single Tenant) is a critical architectural decision. Feature Consumption Standard Billing Per Execution Hosting Plan (Fixed) Throughput Throttled limits Your reserved hardware Networking ISE required for VNET VNET Integration built-in State Always Stateful Stateless option available If you need >100 req/sec, use Standard. If you run once […]
Read more →C# 10 Record Structs: Optimization
C# 9 Records were reference types (classes). C# 10 brings Record Structs. This gives you: 1. Value semantics (stack allocation). 2. Immutability. 3. `ToString()` printing content. 4. Zero allocation! Use this for high-frequency types like GEO coordinates, financial ticks, or composite keys.
Read more →Docker Init Process: The Zombie Reaper
Running a process as PID 1 in a container has side effects. The most common is the “Zombie Process” problem. The Problem In Linux, only PID 1 can reap orphaned child processes. If your app (e.g., Node.js or Java) runs as PID 1 but doesn’t handle `SIGCHLD` signals, zombies accumulate, exhausting the process table. The […]
Read more →Svelte vs React: A 2021 Perspective
React involves shipping a runtime (Virtual DOM) to the browser. Svelte is a compiler that generates vanilla JS. The difference is profound. Reactivity Models React (Pull) React re-renders the component tree when state changes. You must use `useMemo` and `useCallback` to prevent unnecessary work. Svelte (Push) Svelte uses topological ordering during compilation. Assignments *are* the […]
Read more →Azure Service Bus: Messaging Patterns
Azure Service Bus is the enterprise messaging backbone. Beyond simple queues, it offers powerful patterns. Topic Filters (Pub/Sub) Instead of creating a queue for every variation, create one Topic. Subscribers can filter what they receive using SQL filters. Dead Letter Handling Always handle your Dead Letter Queue (DLQ). Messages go there after max delivery attempts. […]
Read more →