How to scale out a SignalR back-end by using Redis
You can run a single monolithic instance of a server application only if the number of clients accessing your application doesn’t exceed a couple of thousand. But what if you expect hundreds of thousands, or even millions, of clients to connect to your application simultaneously? Then a single instance of Continue Reading
Securing your SignalR applications with OpenID Connect and OAuth
Securing your applications is very important, especially if they are accessible via a network that you don’t have control over, such as public internet. Without security, absolutely anyone can connect to your application, including someone who is up to no good. And this may result in a catastrophic failure that Continue Reading
Advanced SignalR configuration: fine-tuning the server-side hub and all supported client types
We have already covered all the fundamental ways of using SignalR messages. We have learned how to set up clients of all supported types, how to send messages to specific clients and how to use data streams, both client-to-server and server-to-client. Now, we will be moving on to more advanced Continue Reading
Streaming in SignalR
Until this point, we have only covered the use of singular messages in SignalR. But SignalR also supports message streaming. Streaming is when, instead of sending all data at ones, you send it in chunks. Perhaps, it’s a large object that gets split into smaller parts. Or it could be Continue Reading
Sending messages to individual SignalR clients or groups of clients
SignalR hub can broadcast a message to all connected clients. But this is far from being the only way you can use SignalR. The hub allows you to send messages to individual clients. You can also group clients together and send messages to specific groups of clients. And this is Continue Reading
In-browser SignalR clients
SignalR Hub is only useful if you have clients connected to it. And in this article, you will learn how to connect in-browser clients. We will start with in-browser clients because they are slightly easier to set up than external clients. For example, you won’t have to create external applications Continue Reading
Single Sign-on user authentication on Blazor WebAssembly SignalR client
SignalR is an inbuilt ASP.NET Core library that makes it easy to create interactive real-time applications. It enables fast two-way messaging between the client and the server. Under the hood, it uses some complex logic to enable all of this. But its external APIs hide all this complexity, so using Continue Reading
Applying SOLID principles to JavaScript – a step-by-step refactoring guide
Many design patterns were developed with SOLID principles in mind. Therefore it will be hard to learn design patterns unless you know SOLID principles. But SOLID principles aren’t merely a tool to help you learn design patterns. Every software developer who uses object-oriented programming languages needs to be familiar with Continue Reading
SignalR vs gRPC on ASP.NET Core – which one to choose
My book, SignalR on .NET 6 – the complete guide, is out now! Also available in print. A while ago, when ASP.NET Core didn’t even exist, Microsoft has created a library for .NET Framework-based ASP.NET that enabled a two-way communication between the clients and a server in real time. This Continue Reading
Performance Best Practices for Using gRPC on .NET
This article is a chapter from the book Microservices Communication in .NET Using gRPC Since gRPC is often used for processing large volumes of data inside a distributed application, this communication mechanism must be optimized for the best performance. In this chapter, we will cover some best practices when it Continue Reading
Summary of the problems design patterns are intended to solve
This article is a chapter from the book The easiest way to learn design patterns This chapter summarizes which design patterns can be used to solve any specific type of a software development problem. It’s intended to be a reference guide to help you find the right design pattern quickly. Continue Reading
External SignalR clients
This article is a chapter from the book SignalR on .NET 6 – the Complete Guide In the previous chapter, we have covered the basic of using in-browser clients to connect to a SignalR hub. Even though these clients are suitable to cover a wide range of SignalR use cases, Continue Reading
A Quick Guide to Establishing a Business as a Coder
Photo by Christopher Gower on Unsplash. To be successful in running a modern business, it’s important to create easy-to-navigate software tools. Software coding has changed the way people do business and can be crucial for long-term development. It would be important to learn primary coding languages like HTML, CSS, Python, JavaScript, and Continue Reading
How to future-proof your career as a software developer
The world is changing at a rapid pace. Many jobs get automated away. AI is gradually taking over. Because of this, there are many professions that thrive today that will not exist tomorrow. As a software developer, you shouldn’t worry about technology replacing your job. You are contributing towards creation Continue Reading
The best books to learn Docker easy
Docker is a very popular containerization technology. It makes deployment of complex distributed applications easy. This is achieved by running each individual service inside an isolated environment. This isolated environment has it’s own operating system, but it’s really lightweight. Unlike a virtual machine, it only has those components that a Continue Reading
How to make most of the lockdown (and not become an alcoholic)
COVID-19 pandemic has severely disrupted the normal way of life. Since it begun, “stay at home” orders have been introduced everywhere across the globe. For many people, it was like a kick in the teeth. Mental health issues have skyrocketed. Consumption of alcohol and other drugs has increased. COVID-19 kills. Continue Reading
Taking advantage of manipulative social media mechanisms as a user
Social media is built upon powerful manipulative algorithms that can influence behavior of its users. However, it is also a very powerful tool that can greatly aid you in education, building your business, developing your career and exerting your influence in other ways. Even though most of the mechanisms that Continue Reading
10 Pragmatic reasons for becoming a software developer
In one of my previous blog posts, I talked about the negative aspects of software development career. The goal of that article was to show that software development is not for everyone. This time, however, I will outline the positive sides of a programmer’s job. I will only outline pragmatic Continue Reading