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...
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...
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...
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...
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...
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...
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...
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...
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...
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...