C# has always been criticized for the “Hello World” ceremony. You needed a namespace, a class, and a static Main method just to print one line. C# 9 Top-Level Programs remove this requirement, bringing C# closer to scripting languages like Python for simple tasks and microservices. The New Entry Point Behind the Scenes The compiler […]
Read more โMonth: November 2020
Azure Communication Services: Integration Guide
Azure Communication Services (ACS) exposes the same backend that powers Microsoft Teams as a set of APIs. You can now build SMS, Chat, Voice, and Video capabilities directly into your applications without managing SIP trunks or WebSocket servers. Sending an SMS User Access Tokens To access Chat or VoIP, users need a token. Key Takeaways […]
Read more โVue 3 Teleport: Rendering Outside the Component Tree
Modals, Tooltips, and Dropdowns often suffer from z-index issues when nested deep in the component tree. Vue 3’s `<teleport>` allows a component to render its children elsewhere in the DOM (e.g., direct child of `<body>`) while keeping the logical hierarchy intact. Implementation Common Use Cases **Fullscreen Overlays**: Avoid parent `overflow: hidden` clipping. **Notifications**: Stack toasts […]
Read more โEntity Framework Core 5.0: Many-to-Many and More
EF Core 5.0 brings the feature everyone has been asking for: Many-to-Many relationships without a mapped join entity. It also introduces Split Queries to fix the “Cartesian Explosion” problem in complex joins. Many-to-Many You can now define navigation properties on both sides, and EF Core handles the middle table. Split Queries Instead of one giant […]
Read more โSource Generators in C# 9: Compile-Time Code Generation
Source Generators allow you to inspect code during compilation and generate new C# files on the fly. Unlike Reflection (runtime slow) or IL Weaving (complex), Source Generators are fast, debuggable, and integrated into Roslyn. How it Works Example: INotifyPropertyChanged Automate the boilerplate of MVVM. Key Takeaways Generators can **add** code, but cannot **modify** existing code. […]
Read more โ.NET 5: Performance Improvements Deep Dive
.NET 5 is the fastest .NET version ever releases. The engineering team has gone through the runtime and libraries with a fine-toothed comb, optimizing everything from the impacts of the Garbage Collector (GC) to the internals of List<T>. Let’s look at the numbers. TechEmpower Benchmarks In the TechEmpower benchmarks (Round 19/20), .NET 5 performs exceptionally […]
Read more โ