This post is a little different from others. Instead of a tutorial or highlighting a specific technology, I'm going to talk about how I migrated my blog, this website, from AngularJS to client-side web assembly Blazor with .NET 6. This website started at the end of 2017. At the time, I was doing a lot of AngularJS development and thought it would be good experience to start a project from scratch to really learn the framework. Fast forward 5 years (I can't believe it's been 5 years already!) and AngularJS is no longer officially supported and other web technologies have emerged. Additionally, Blazor now runs in the browser using web assembly and .NET 6 has been released. I thought it was time to move this website to something different and wanted to learn Blazor. What follows is the summary of my website rewrite project.
Read More...
In this post, I show you how to enable authorization to Azure Blob Storage using IAM on a storage account. At the end of this post, you will understand how to leverage Azure Active Directory App Registrations, Identity Access Management, RBAC, and the C# Azure identity and storage APIs to securely access Azure blob storage containers and data.
Read More...
In this post, I describe how to authenticate to OneDrive using any Azure AD account or personal Microsoft account and upload and download files. At the end of this post, you will have an understanding of how to leverage Azure, Microsoft Identity, the Microsoft Graph API, and OneDrive for storage in your application. This post requires a Microsoft account and OneDrive subscription. The free one will work. It also requires an Azure subscription with permissions to modify Active Directory. I have not been charged yet with this example but Azure costs may apply depending on usage.
Read More...
In this post, I examine a WPF application to play mp3 music. I will show how WPF can utilize the MVVM pattern to make code more testable. At the end of this post, you will have an understanding of the MVVM pattern and how to apply it to a WPF application with unit tests. The application is written in .NET core 3.1 and Visual Studio 2019.
Read More...
In this post I explain the strategy design pattern and show an example of applying it to import data from different data sources. The strategy pattern is a behavioral design pattern that allows different implementations to be used interchangably at runtime. An application can select the appropriate method to perform a task. The example application lets the user import music data from a csv file source or json file source. Depending on the file type, the import strategy is chosen.
Read More...