Blog

Filter posts by Category Or Tag of the Blog section!

Technical Skills, Software Development, Real World Solutions, Enterprise Applications.
C# 9 came with some cool features. One of them was the init keyword. Simply, you can initialize a property or the indexer element only during the construction. Take a look at the following property de...

Monday, 14 December 2020
In order to get the base URL in controller scope, you simply get via Request:   public class HomeController : ControllerBase    {       &n...

Sunday, 22 November 2020
Metaclasses in Python is a mechanism for creating classes dynamically. In Python, everything is an object, including classes. Classes are objects of type "type". In a similar way, "type...

Saturday, 10 October 2020
Edge Computing refers to the practice of performing data processing and computation at the edge of the network, closer to the source of data. In traditional cloud computing, data is typically processe...

Tuesday, 29 September 2020
RabbitMQ is an open-source message broker software that implements the Advanced Message Queuing Protocol (AMQP). It provides a reliable and scalable platform for building distributed and decoupled sys...

Sunday, 03 May 2020
In asp.net core project templates, you can find something name Worker. It’s a service-based project which has the capability of being converted to windows service. After creating the project, yo...

Saturday, 11 April 2020
HTTP (Hypertext Transfer Protocol) and IPFS (InterPlanetary File System) are both protocols used for transferring data over the internet, but they are fundamentally different in how they work. HTTP is...

Thursday, 09 April 2020
Recently I was tackling a problem with localization in asp.net core. I wanted to get the culture in every request from API and respond based on the requested culture. So I created the following middle...

Friday, 07 February 2020
I'm already working on a project and a challenging decision has been made to use asp.net core razor pages. Based on Microsoft definition:" ASP.NET Core Razor Pages is a page-focused framework...

Sunday, 01 December 2019
In C#, it is not recommended to compare two doubles using the == operator because of the way that floating point numbers are represented and handled by the computer. Floating point numbers are re...

Thursday, 04 July 2019
Quartz.NET is an open-source job scheduling library that can be used to schedule and execute jobs in .NET applications. It provides a simple and powerful API that allows developers to define jobs and ...

Thursday, 04 April 2019
In C#, you can create private constructors. It is used in a class that contains static members only. You can NOT instantiate from a class that has a private constructor with the same parameters. The m...

Monday, 18 February 2019
In a console application in .Net Core, you don’t have the appsettings.json file. In order to add this file, add a JSON file with the same name (or any name that you want) and make the following ...

Thursday, 17 January 2019
I just faced a problem in asp.net core which was specifying the bounded port. There is an extension in WebHostBuilder named  UseUrls() to specify that:    public class Prog...

Tuesday, 08 January 2019
I heard about Scala programing language a few days ago; its advantages and power. After reading a few hours about the features of this cool language, I decided to write a short post about to introduce...

Monday, 07 January 2019
Tackling with different problems, using multiple programming languages and multiple database types in large scale applications, is not something strange, and based on needs there could be more th...

Monday, 07 January 2019
The use of Linux containers to deploy applications is called containerization. A container runs natively on Linux and shares the kernel of the host machine with other cont...

Thursday, 22 November 2018
There are a few ways to handle exceptions in asp.net core 2.1. using Middleware is so straightforward, and it handles the application exceptions as well as exceptions from filters and you can have ful...

Thursday, 08 November 2018