Hey, It's Berk Selvi

.NET Developer, blogger and builder.

Berk Selvi

Who am I?

Berk Selvi is a software developer who works with .Net & Java for backend and React & Vue for frontend technologies in the field of full stack web development, has an Azure certificate, contributes to the community through blog posts. He is willing to learn new technologies and is happy to develop products as part of teamwork, and is interested in DevOps. He is currently part of Doğuş Technology's insurance team.

Real-Time Communication with SignalR: A Deep Dive

Discover the power of real-time communication with SignalR! In this blog post, learn how SignalR simplifies adding live features to your .NET applications by abstracting complex protocols like WebSockets, Server-Sent Events, and Long Polling. From setting up SignalR in your project to advanced features like targeting specific clients and scaling with Redis, this guide has everything you need to create responsive and dynamic applications. Let’s dive into the world of SignalR!

Event-Driven Architecture: Do you need other service’s data in microservice architecture

In microservice architecture, data dependency between services can be managed with synchronous or asynchronous communication. Synchronous communication can cause scalability and accessibility issues due to tight service coupling, while asynchronous communication reduces dependency, allowing services to operate independently. Choosing the right method depends on the specific scenario, but asynchronous communication generally provides more scalable and accessible solutions.

CorrelationId Tracing in .NET Microservices with HTTP and MassTransit

In this article on .NET microservice architecture, we will explore how to use CorrelationId with HTTP and RabbitMQ requests to enhance distributed traceability. We will examine how to propagate the CorrelationId value across different services, manipulate header values in incoming and outgoing requests using Middleware and Filter structures, and log contexts using Serilog’s LogContext framework.

API Gateway Alternatives from a .NET Developer’s Perspective: YARP, Ocelot, Kong, APISIX, and KrakenD

We explore API Gateway alternatives for .NET developers. Starting with .NET-based solutions like YARP and Ocelot, we evaluate OpenResty-based Kong and Apache APISIX as well as Go-based KrakenD. By detailing the features, performance, and use cases of each API Gateway, we aim to help you make the right choice.

How to Use RSA for Encryption in JavaScript and Decryption in .NET

In the digital world, securing communication between different systems is paramount. RSA encryption is an asymmetric encryption algorithm and provides a robust way to achieve this by using a pair of…

How to use Ocelot and Keycloak together to secure Microservices from API Gateway

In the dynamic landscape of microservices architecture, the need for robust security has become much more important. As organizations break down their applications into smaller, independently…

Achieving Zero Downtime: Azure App Service Deployment using Azure DevOps and Deployment Slots

When deploying our application, which runs as a single instance in Azure App Service, using Azure DevOps pipelines, there will most likely be a few seconds of downtime. Because the application…

Background jobs and Hangfire in .NET

Learn about managing background jobs in .NET with various methods like Task.Run(), Hosted Service, and Hangfire. This comprehensive blog post explores their pros, cons, and implementation details, with a focus on Hangfire…

How to Secure Dotnet & Vue.js Application with Keycloak

Discover how to secure dotnet and Vue apps with Keycloak. This guide covers Docker setup, realm and client configuration, securing Vue.js apps, creating a Dotnet WebAPI, consuming the API from Vue, and more…

How to Deploy a React App with Nginx using Docker with react-router-dom

Learn how to deploy a React app with Nginx using Docker in this step-by-step tutorial. This tutorial covers everything from creating a Dockerfile for your React app to using Docker Compose to …