AL Rodriguez is a .NET Microsoft MVP, developer, cloud enthusiast, 3 kids in a trench coat, sometimes-blogger, and international speaker. With a background in software development, and a clear lack of self restraint, he specializes in using .NET for everything. An ASP.NET Core backend and a Blazor frontend? Check. IoT devices, Playwright UI Testing, CI/CD DevOps, or even Infrastructure as Code? Oh yeah, all C#! When not working, he's playing games, making stupid jokes, or arguing with code.
Us developers create amazing things for fun, to make cool stuff, and the higher than average paycheck. Though the order differs per person, the end goal is always to press the keyboard buttons. It's so easy to lose that joy. This session is a love letter to software development and meant to motivate developers to re-enjoy coding. Whether you need inspiration, or never lost the spark, let's talk about the good parts of programming.
Containers run from images, and images are created by Dockerfiles. But what is a layer? And what ends up inside the image? What files and executables are added? And how does the base image affect all of this? What if I use a different base image? Container Images aren't a black box. Lets open them up, and create a few from scratch. We'll also discuss how image internals help us our manage supply-chain security for SBOMs.
Null references are a problem that can show up anywhere. As developers, we have to litter out code with null checks. Thankfully C# has a feature to help with that, Nullable Reference Types (NRTs). They utilize a mix of syntax and special C# Attributes to enable null checking at compile time. It's not a perfect system, but it's WAY better than not using NRTs.
Are you following today's user auth best practices? Like using PKCE, or protecting against token replay attacks? Is your JWT stored client side or through a BFF? So many questions, and acronyms, making it hard to keep up with user auth best practices. We'll discuss and review the concepts we should follow in any modern day system we develop. By the end of the session you'll be able to answer how user authentication SHOULD be implemented today.
The (satire) dev news site globalGlob.dev was over-engineered to be fast, quick, performant, speedy, and to get a 100 Lighthouse score on most pages. That's at least 60 points higher than most of the internet. Engineering tradeoffs were made, like caching, compression, more caching, and compressed bundling. We'll talk tradeoffs for performance, cost, and maximum Lighthouse. And why they were a horrible idea you should never do in a real project.