Zure Digest is a collection of Azure and other development-related links, curated by the Azure Guild of the Zure.
Links don’t represent the values of Zure or our coding practices. They are intended to be thought-provoking or otherwise worth sharing.
- Building a social media platform without going bankrupt (Ayende Rahien)
- 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.
- Part I – Laying the numbers
- Part II – Accepting posts
- Microsoft Renames 10 Azure Active Directory Roles (Brad Sams)
- 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.
- Build regionally resilient cloud services using the Azure Resource Manager (Gaurav Chandwani)
- 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.
- Pretending a Blazor WebAssembly app to static files, without an ASP.NET Core host app (Andrew Lock)
- 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.
- Blazor WebAssembly Authentication with ASP.NET Core Identity (Marinko Spasojevic)
- 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.
- Authentication in Blazor WebAssembly Hosted Applications (Marinko Spasojevic)
- 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.
C# & .NET
- Using ValueTask to create methods that can work as sync or async (Jon P Smith)
- 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.
- PostSharp’s Great Reset: Announcing Project “Caravela”, a Roslyn-based aspect framework (Gael Fraiteur)
- 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.
- SQL Server Query Tuning with Statistics Time and Statistics IO (Eric Blinn)
- 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.
- SQL Server SET STATISTICS IO ON Deep Dive (Eric Blinn)
- 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.
- Four Ways to Try Azure Cosmos DB FREE (Nikisha Reyes-Grange)
- 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 .NET Standard Library (Dane Vinson)
- 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.
- Asynchronous Messaging, Part 1: Basic Distributed Architecture (Stephen Cleary)
- 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.
- Part 2: Durable Queues
- Part 3: Backend Service
- How High-Performance Teams Develop, Work, and Solve Problems (Tyler Hakes)
- 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?
- Feedback Loops Help When to Centralize or Decentralize Product-Based Decisions (Johanna Rothman)
- 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.
- Building dual-screen web experiences with React (Aaron Powell)
- 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.
UI / UX
- 8 Frontend Coding Ideas That Will Inspire You To Code (Indrek Lasn)
- 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.