I thought that I would share my high-level architecture for building a social media platform in a way that would make sense. In other words, building software that is performant, efficient, and not waste multiples of your yearly budget on unnecessary hardware.
Back in August, Microsoft announced that they would be updating the names of several roles for Azure Active Directory. The point of this is to make them consistent with the names that appear in Microsoft 365 admin center, Azure AD portal, and the Microsoft Graph. While there was an initial delay, the company says that the rollout is now complete.
Today, we are announcing the preview of Cloud Services (extended support), which is a new Azure Resource Manager (ARM) based deployment model for Azure Cloud Services. Cloud Services (extended support) has the primary benefit of providing regional resiliency along with feature parity with Azure Cloud Services deployed using Azure Service Manager (ASM). It also offers some ARM capabilities such as role-based access and control (RBAC), tags, policy, and supports deployment templates.
In this post, I describe how you can prerender all the pages in a Blazor WebAssembly app, without requiring a host app. That means you can still host your Blazor WebAssembly as static files using GitHub Pages or Netlify, without requiring a backend server.
In this article, we are going to learn about creating the Blazor WebAssembly Authentication mechanism and how to implement it on both the server-side and the client-side.
So, as a continuation of the Blazor WASM authentication, in this article, we are going to learn about Authentication in Blazor WebAssembly hosted applications. We are going to go over the authentication implementation of the server and client parts of the Blazor WebAssembly hosted app, and understand better how all the pieces fit into the big story.
In this article, I delve into C#’s ValueTask struct, which provides a subset of the Task class features, and use its features to solve the problem of building libraries that need both sync and async version of the library’s methods. Along the way, I learned something about ValueTask and how it works with sync code.
Today we’re excited to make a one-in-ten-year announcement: we’re releasing the first public preview of PostSharp “Caravela”, a Roslyn-based framework for code transformation and aspect-oriented programming.
I am working to improve the performance of a piece of SQL Server T-SQL code and I’m just not sure much the changes I am making are helping or hurting. I need to be able to accurately track and report the performance improvement of my code changes. The obvious answer is to look at the SQL Server query execution time, but that alone isn’t always enough to determine that there is or isn’t an improvement – or if that new index is helping.
I’ve used STATISTICS IO to help performance tune SQL Server queries, but I focus mostly on logical reads. I see there is a lot more information in the output that I would like to understand and use for tuning queries. The SQL Server SET STATISTICS IO ON option allows for a secondary output stream of SQL Server queries to include details about what objects were queried and to what extent. This tip will cover how to read and react to the output from STATISTICS IO.
When considering a new product, it’s great to “kick the tires” at no cost. There are four FREE ways to try Azure Cosmos DB, Microsoft’s cloud NoSQL database service. The one to choose depends on your goals.
JsonEnvelopes is a simple .NET Standard library that utilizes a concrete implementation of JsonConverter<T> (System.Text.Json) to serialize and deserialize objects in a way that allows message receivers to be agnostic with respect to the message type.
This is the first of a short series of blog posts on Asynchronous Messaging. This is not a new problem at all, but it’s something I’ve observed becoming more and more common over the last few years. Also, this is the kind of a problem that is difficult to solve quickly – or even describe the solution quickly, so I think a blog (series) is appropriate.
High-performance teams are filled with passionate, talented, and very opinionated individuals. They’re used to being stars individually, so the transition to being stars as a cohesive, productive team might have a speed bump or two. One of the toughest things for these kinds of teams to learn is conflict resolution. What do you do when everyone on the team has their own ideas, all those ideas are great, and each individual thinks their idea is the best one? How do you decide how to move forward as a group?
When I think about agile approaches to work, I think about how fast we can change and the cost of those changes. We can change the next decisions about the work because we finish the current work and release it. Multiple deliverables allow us to change what we do and what we plan next.
In this post, we’ll look at how we can use one of the most popular libraries, React, to build a foldable web experience. We’ll take the photo gallery demo and make a React version of it, then look at how we can leverage the power of React to make a foldable experience.
Mastering programming is hard. There are no shortcuts. It involves putting in tons of work. You’ll have to code as often as possible to get good at it. Use each idea in this article as a source of inspiration. Pick something that makes you excited to code and get on with building it.