Tugberk Ugurlu's Blog, page 2

May 25, 2020

Kafka Core Concepts and Producer Semantics

Being able to pass data around within a distributed
system is the one of the the most crucial aspects of the success for your business, especially when you
are dealing with large number of users, reads and writes. It's usual that for a given data write
for an entity, you will have N number of read patterns, not just one. Apache Kafka is one of the most effective ways to enable that
data distribution within a complex system. I have had the chance to use Kafka at work for more tha...

 •  0 comments  •  flag
Share on Twitter
Published on May 25, 2020 17:30

July 3, 2019

Distributed Caching in .NET Core with PostSharp and Redis

On my previous post, I walked through the benefits of using PostSharp for caching in a .NET Core server application. However, the example I have showed there would work on a single node application but as we know, probably no application today works on a single node. The benefits of deploying into multiple nodes are multiple such as providing further fault tolerance, and load distribution.

Luckily for us, PostSharp caching backend is modular and the default in-memory one I have used in my prev...

 •  0 comments  •  flag
Share on Twitter
Published on July 03, 2019 14:48

May 4, 2019

Declarative Coding Approach to Caching in .NET Core with PostSharp

One of the first criteria of effective code is that it does its job with as few lines of code as possible. Effective code does not repeat itself. Less code in our codebases increases our chances of having less bugs. So, how do we avoid repeating ourselves? We apply our intelligence and abstraction skills to generalize behaviors into methods and classes, the constructs offered by C# to implement abstraction which we call encapsulation. However, some features such as logging or caching cannot b...

 •  0 comments  •  flag
Share on Twitter
Published on May 04, 2019 04:14

February 23, 2019

Software Architecture and System Design - Getting Your Grip and Some Related Resources

If you have never been exposed to software software system design challenges, you might be totally lost on even where to begin. I believe in finding the limits to a certain extend first and then start getting your hands dirty. The way you can start this is by finding some interesting product or services (ideally you are a fan of), and learning about their implementations. You will be surprised that how simple they may look, they most probably involve great deal of complexity. Don’t forget:&n...
 •  0 comments  •  flag
Share on Twitter
Published on February 23, 2019 06:52

August 9, 2018

Pulling an Old Article From the Coffin: SignalR with Redis Running on a Windows Azure Virtual Machine

Long time ago (about 5 years, at least), I contributed an article to SignalR wiki about scaling a SignalR application with Redis. You can still find the article here. I also blogged about it here. However, over time, pictures got lost there. I got a few requests from my readers to refresh those images and I was lucky enough to be able to find them :) I decided to publish that article here so that I would have a much better control over the content. So, here is the post :)

Please keep in mind t...

 •  0 comments  •  flag
Share on Twitter
Published on August 09, 2018 03:50

August 8, 2018

Pulling an Old Article From the Coffin: SignalR with Redis Running on a Windows Azure Virtual Machine

Long time ago (about 5 years, at least), I contributed an article to SignalR wiki about scaling a SignalR application with Redis. You can still find the article here. I also blogged about it here. However, over time, pictures got lost there. I got a few requests from my readers to refresh those images and I was lucky enough to be able to find them :) I decided to publish that article here so that I would have a much better control over the content. So, here is the post :)

Please keep in mind tha...

 •  0 comments  •  flag
Share on Twitter
Published on August 08, 2018 07:32

July 29, 2018

Graph Depth-First Search (DFS)

A while ago, I have written up on Graphs and gave a few examples about their application for real world problems. I absolutely love graphs as they are so powerful to model the data for several key computer science problems. In this post, I want to talk about one of the most common graph algorithms, Depth-first search (DFS) and how and where it could be useful.

What is Depth-First Search (DFS)?

DFS is a specific algorithm for traversing and searching a graph data structure. Depending on the ty...

 •  0 comments  •  flag
Share on Twitter
Published on July 29, 2018 03:37

July 28, 2018

Graph Depth-First Search (DFS)

A while ago, I have written up on Graphs and gave a few examples about their application for real world problems. I absolutely love graphs as they are so powerful to model the data for several key computer science problems. In this post, I want to talk about one of the most common graph algorithms, Depth-first search (DFS) and how and where it could be useful.

What is Depth-First Search (DFS)?

DFS is a specific algorithm for traversing and searching a graph data structure. Depending on the type...

 •  0 comments  •  flag
Share on Twitter
Published on July 28, 2018 05:32

January 31, 2018

Setting up a MongoDB Replica Set with Docker and Connecting to It With a .NET Core App

Easily setting up realistic non-production (e.g. dev, test, QA, etc.) environments is really critical in order to reduce the feedback loop. In this blog post, I want to talk about how you can achieve this if your application relies on MongoDB Replica Set by showing you how to set it up with Docker for non-production environments.

Hold on! I want to watch, not read!

I got you covered there! I have also recorded a ~5m covering the content of this blog post, where I also walks you through the s...

1 like ·   •  0 comments  •  flag
Share on Twitter
Published on January 31, 2018 03:29

Setting up a MongoDB Replica Set with Docker and Connecting to It With a .NET Core App

Easily setting up realistic non-production (e.g. dev, test, QA, etc.) environments is really critical in order to reduce the feedback loop. In this blog post, I want to talk about how you can achieve this if your application relies on MongoDB Replica Set by showing you how to set it up with Docker for non-production environments.

Hold on! I want to watch, not read!

I got you covered there! I have also recorded a ~5m covering the content of this blog post, where I also walks you through the st...

 •  0 comments  •  flag
Share on Twitter
Published on January 31, 2018 02:10