Code Maze Author

Vladimir Pecanac

Hi, my name is Vladimir Pecanac, and I am a full-time .NET developer and DevOps enthusiast. I created this blog so I can share the things I learn in the hope of both helping others and deepening my own knowledge of the topics I write about. The best way to learn is to teach.
Also find me here:


MY ARTICLES:

How to Configure PostgreSQL in Entity Framework Core

In this article, we are going to learn how to configure PostgreSQL, a popular and reliable open-source relational database, in our .NET Core application, and connect it to Entity Framework Core to utilize its full potential. If you want to learn more about Entity...

Dynamic Type in C#

The dynamic type has been added to C# since C# 4.0 (.NET 4.5) and its main purpose is to bypass the static type checks and add more flexibility to the language. In this article, we are going to go through the basic concepts of dynamic type, and learn how it works and...

Consuming GitHub API (REST) With Flurl

In our article A Few Great Ways to Consume RESTful API in C# we introduced a few different ways to consume a Restful API. This article is about going into details of Flurl library and giving a few examples of how to authenticate and consume a restful API such as...

Continuous Integration with TeamCity and Docker

In the previous post, we've discussed why continuous integration is important, what makes a good CI tool and after that, we've set up a basic TeamCity project to build our application using Docker. But continuous integration is much more than that, so in this article,...

Docker Hub vs Creating a Local Docker Registry

In the previous part, we've learned how to utilize Docker Compose to tie multiple containers together with a single command. We've added a MySQL database to our ASP.NET Core application and successfully run it. Before proceeding further, we need to learn more about...

Adding MySQL to ASP.NET Core App With Docker Compose

In the previous post, we've dockerized our ASP.NET Core application. In this post, we are going to add a MySQL database as another container and connect it with our application. Since we'll have multiple containers running we are going to introduce the Docker Compose...

Dockerizing ASP.NET Core Application With Dockerfiles

In the previous part, we've gone through some scenarios to show off the Docker's potential. We have also seen how to utilize Docker CLI and even made the simplest Dockerfiles to learn how to build the images using Docker. In this article, we are going to focus on...

Why Docker: The Docker CLI Through Examples

Now that we've prepared our ASP.NET Core application, we are going to learn how to install and use Docker on Windows 10, the reasons behind using Docker, and some useful Docker CLI commands. Understanding how the Docker CLI works is crucial, and you'll most definitely...

How to Prepare an ASP.NET Core Application for Dockerization

In this part, we are going to apply some modifications to our ASP.NET Core application in order to prepare it for the dockerization process. To follow along with this part you need: .NET Core 3.1 SDK Windows 10 Git IDE of your choice (we use Visual Studio 2019) Docker...

Content Negotiation in Web API

Content negotiation is the process of selecting the best resource for a response when multiple resource representations are available. Content negotiation is an HTTP feature that has been around for a while, but for one reason or another, it is, maybe, a bit...

Top REST API Best Practices

Many giants like Facebook, Google, Github, Netflix, Amazon, and Twitter have their own REST(ful) APIs that you can access to get or even write data. But why all the need for REST? Is it that good and why is it so prevalent? Surely it's not the only way to convey...

HTTP – Security, TLS, and Certificates

If you followed along with the HTTP series, you are ready now to embark on a journey of HTTP security. And a journey it will be, I promise 🙂 Many companies have been a victim of security breaches. To name just a few prominent ones: Dropbox, Linkedin, MySpace, Adobe,...

HTTP Authentication Mechanisms

In the previous part, we've talked about the different ways that websites can use to identify the visiting user. But identification itself represents just a claim. When you identify yourself, you are claiming that you are someone. But there is no proof of that....

HTTP – Client Identification

Up until now, you learned about the basic concepts and some of the architectural aspects of HTTP. This leads us to the next important subject to the HTTP: client identification. In this article, you'll learn why client identification is important and how can Web...

HTTP Architectural Aspects

In the first article of the series, we talked about the basic concepts of the HTTP. Now that we have some foundation to build upon, we can talk about some of the architectural aspects of the HTTP. There is more to HTTP than just sending and receiving data. HTTP cannot...

The HTTP Reference

This article contains all the reference to my HTTP series. This HTTP reference could be helpful if you need to quickly find what some HTTP status code means. It is also some kind of cheat sheet for myself because there is a lot of information to remember by heart. So...

HTTP – Overview of the Basic Concepts

In this article, we will go through the basic concepts of HTTP. But why HTTP? Why should I read about HTTP you may ask yourself? Well, if you are a software developer, you will understand how to write better applications by learning how they communicate. If you are a...

A Few Great Ways to Consume RESTful API in C#

By taking a path of Web development, you find yourself in need of dealing with external APIs (Application Programming Interface) sooner or later. In this article, my goal is to make the most comprehensive list of ways to consume RESTful APIs in your C# projects and...

Top 8 Continuous Integration Tools

If you are familiar with the concept of Continuous Integration we can agree that using it has become mandatory. There are many Continuous Integration tools out there, and in this article, we will go through some of the greatest tools available on the market and see...