Last Week is a weekly column with an emphasis in articles and posts that I read and appreciated, it is a collection from a dozen of different sources. All the content shared is made by people which I believe that would highly appreciate your feedback, so don't forget to say thank you.
If you have a topic you would like to see reflected in this Last Week initiative, please leave a comment below!
Have an amazing week and always keep learning!
Public preview: Support for private links available on the new agent
Support for private virtual network configurations via private links on the new Azure Monitor agent is now in public preview. You can operate in restricted environments that need special networking requirements and isolation from the public internet.
Check out the full report: Azure Monitor Private Links
Azure DDoS Protection—2021 Q3 and Q4 DDoS attack trends
In the second half of 2021, the world experienced an unprecedented level of Distributed Denial-of-Service (DDoS) activity in both complexity and frequency. The gaming industry was perhaps the hardest hit, with DDoS attacks disrupting gameplay of Blizzard games, Titanfall, Escape from Tarkov, Dead by Daylight, and Final Fantasy 14 among many others.
At Microsoft, despite the evolving challenges in the cyber landscape, the Azure DDoS Protection team was able to successfully mitigate some of the largest DDoS attacks ever, both in Azure and in the course of history. In this review, we share trends and insights into DDoS attacks we observed and mitigated throughout the second half of 2021.
Check out the full report: Azure DDoS Protection - DDoS attack trends
7 reasons to attend Azure Open Source Day
To show you the latest capabilities of using Linux and Azure—and share some exciting announcements—we will be hosting Azure Open Source Day on Tuesday, February 15, 2022, from 9:00 AM to 10:30 AM Pacific Time.
Push your apps and data to the next level by using Azure, open source, and Linux together. Join this free digital event to learn how to natively run your open-source workloads on Azure, expand their capabilities, and innovate in new ways using Azure services.
At this event, you’ll learn how Microsoft is committed to open source and works with the open source community to develop new technologies. Hear about the latest trends and capabilities of using Linux and Azure together—direct from Microsoft insiders. Whether you’re new to Azure or are already using it, you’ll discover how to turbocharge your apps and data with open source and hybrid cloud technologies.
Check out the full article: 7 reasons to attend Azure Open Source Day
Delivering the connected shopping experience: How Microsoft and Avanade are reimagining retail
Consumers today demand flexibility and convenience in how they purchase everything from groceries to home goods. In addition to shopping online, they are increasingly using mobile devices and other digital services to make in-store shopping more efficient and convenient. In response, retailers are striving to reimagine their physical store footprints to drive new and improved shopping experiences.
Leading retailers are rapidly developing new solutions to deliver a retail experience that drives loyalty, both online and in stores.
Check out the full article: Delivering the connected shopping experience
dotnet / C#
Optimizing CPU-Bound and Memory-Bound .NET Applications: 11 Best Practices
Everything has its limit, right? A car can drive only so fast, a process can use only so much memory, and a programmer can drink only so much coffee. Our productivity is limited by our resources, but we have the ability to make better or worse use of them. The goal should be to use each of our resources as close to its limit as possible. We want to use every bit of our CPU and memory or else we're over-paying for expensive machines. But if we use too much of those resources, we run the risk of causing performance problems, unavailable service issues, and downright crashes. It's a tricky game to play and that's what we're going to talk about today.
Check out the full article: Optimizing CPU-Bound and Memory-Bound .NET Applications: 11 Best Practices
Favor real dependencies for unit testing
If you’ve worked with unit testing, you’ve probably used dependency injection to be able to decouple objects and control their behavior while testing them. You’ve probably injected mocks or stubs into the system under test in order to define repeatable, deterministic unit tests.
Check out the full article: Favor real dependencies for unit testing
Proposed .NET 7 Breaking Changes
The following list defines breaking changes that are proposed for .NET 7. Ideally, these are implemented no later than Preview 3.
Check out the github discussion: Proposed .NET 7 Breaking Changes
Raising coding standards with .NET 6.0 code analyzers
Automated code analysis has been a feature of .NET since its earliest days. It started out with tools that would detect when library components didn't meet the Framework Design Guidelines, but over the years, more and more sophisticated tools have become available.
Check out the full article: Raising coding standards with .NET 6.0 code analyzers
Mastering the art of forms in React
I recently published an article about re-rendering in React where I used a simplified form example to show how using state for the value of a text input causes the component to re-render on every change. I was surprised by the number of comments I received suggesting uncontrolled inputs went against the “React” way of creating inputs.
Check out the full article: Mastering the art of forms in React
React Conditional Rendering - can custom component replace inline conditional JSX
an we replace inline conditional JSX with our own React Component ! Let's learn few concepts while I walk you through about what I've found while working on an idea to improve the readability of conditional inline rendering and it totally failed... but taught me a lot.
Check out the full article: Can custom component replace inline conditional JSX
Build a Web Site With React 18 That Shows the Most Polluted Cities in the United States
This app was written from the group up using the release candidate for React 18. It uses all the latest features including Suspense that have been introduced in React 18.
It also takes advantage of the Context API as well as fallback processing for Errors and Suspense components before promises are completed.
Check out the full article: Build a Web Site With React 18
A Complete Guide to the Amplify React Authentication Components
You can enable authentication via Amplify in two ways: first through Amplify Studio and secondly through the Amplify CLI. I'll show you how to do so through Studio; however, here are instructions for doing so through the command line if that better fits your workflows.
Check out the full article: A Complete Guide to the Amplify React Authentication Components
There’s No Such Thing as Clean Code
Everyone seems to be striving for ‘clean’ code at the moment. You can’t read a blog post without the author telling you how clean their approach is. Engineering teams get together and discuss which of the possible solutions is the cleanest. Other developers assure you that they practice ‘clean code’.
I’ve come to a realization though. There’s no such thing as clean code.
‘Clean’ isn’t a measure of anything useful. Code can’t be clean simply because ‘clean’ doesn’t describe anything about code.
Check out the full article: There’s No Such Thing as Clean Code
The Biggest Mistake I See Engineers Make
Throughout my career, the biggest mistake I see engineers make is doing too much work on their own before looping in others.
I’ve experienced this mistake as both an IC and a manager. As an IC, it’s a mistake I made many, many times early in my own career. As a manager, I made the mistake of not recognizing and fixing it in the engineers I’ve managed.
Correcting this habit is the most common feedback I now give, so I thought it might be good to write out how it happens and how it can be avoided.
Check out the full article: The Biggest Mistake I See Engineers Make
Beautiful technical debt
What looks like a technical debt in a software solution, might be the most efficient way for people to deliver business value in a given situation. There is a beauty in that, if observed from a distance.
Don't make paying off technical debt your mission. Use it as a guide to understand the landscape and build solutions.
Check out the full article: Beautiful technical debt
Fixing Performance Regressions Before they Happen
This post describes how the Netflix TVUI team implemented a robust strategy to quickly and easily detect performance anomalies before they are released — and often before they are even committed to the codebase.
Check out the full article: Fixing Performance Regressions Before they Happen