Azure Bicep Preview: ARM Templates Made Simple

March 2020 marks the initial public preview of Project Bicep, a domain-specific language (DSL) for deploying Azure resources. It aims to drastically simplify the verbose JSON syntax of ARM templates. While still experimental (v0.1), it offers a glimpse into the future of Azure Infrastructure as Code. Bicep vs ARM JSON Bicep is a transparent abstraction […]

Read more →

React Testing Best Practices in 2020

The React testing landscape has shifted dramatically. In 2018, Enzyme was the standard, allowing developers to manipulate component internals (state, props). In 2020, React Testing Library (RTL) is the undisputed champion. The philosophy “The more your tests resemble the way your software is used, the more confidence they can give you” drives this shift. Enzyme […]

Read more →

Entity Framework Core 3.1: Performance and LINQ Improvements

EF Core 3.1 finally addresses the major criticism of previous versions: the implicit client-side evaluation of LINQ queries. In versions 1.x and 2.x, if EF couldn’t translate a C# expression to SQL, it would silently fetch ALL rows and filter in memory. This caused massive production outages. EF Core 3.1 breaks this behavior by throwing […]

Read more →

Azure Landing Zones: Enterprise-Scale Architecture

Moving to the cloud is easy; managing it at scale is hard. “Azure Landing Zones” is the Microsoft-recommended architecture for building a scalable, secure, and compliant foundation. It moves away from the “single subscription” model to a “subscription democratization” model managed by Management Groups and Azure Policy. This guide explores the “Enterprise-Scale” reference architecture. The […]

Read more →

TypeScript 3.8: Private Fields and Top-Level Await

TypeScript 3.8 brings one of the most awaited features from the ECMAScript Proposal stage 3: Hash-names for private fields. Unlike the private keyword in TypeScript which is erased at compile time, hard private fields (#field) are enforced by the JavaScript runtime (V8), offering true encapsulation. Hard Private Fields (#) vs ‘private’ Top-Level Await You can […]

Read more →