Tugberk Ugurlu's Blog

April 7, 2021

April 3, 2021

March 23, 2021

C++, Getting Started with the Basics: Working with Dependencies and Linker

IntroTaking a Library Dependency inside Our Own C++ CodeSetting up the Build PipelineBack to Basics: Compilation of a C++ ProgramPreprocessing the HeadersLinkingResourcesIntro

As I mentioned in my previous post about C++, I am learning C++. It has been a bumpy ride so far, and C++ is certainly not an easy to pick up programming language! So, I thought what better way to make the learning stronger than blogging about my journey and pinning down my experience. You now know ...

 •  2 comments  •  flag
Share on Twitter
Published on March 23, 2021 11:46

March 18, 2021

C++, Getting Started with the Basics: Hello World and the Build Pipeline

IntroHello WorldThe Build PipelineWhat's Next?ResourcesIntro

I am probably the least qualified person to be writing a blog post about C++. So, please approach this post with some caution.But, why am I writing it then? Well, I am currently learning C++, and it has been an unusual experience compared to my other programming-language-learning journeys.At this stage, my assumption is that the main difference that causes me to struggle comes from the fact that:

C++ doesn't hav...
 •  0 comments  •  flag
Share on Twitter
Published on March 18, 2021 18:09

C++, Getting Started with The Basics: Hello World and The Build Pipeline

IntroHello WorldThe Build PipelineWhat's Next?ResourcesIntro

I am probably the least qualified person to be writing a blog post about C++. So, please approach this post with some caution.But, why am I writing it then? Well, I am currently learning C++, and it has been an unusual experience compared to my other programming-language-learning journeys.At this stage, my assumption is that the main difference that causes me to struggle comes from the fact that:

C++ doesn't hav...
 •  0 comments  •  flag
Share on Twitter
Published on March 18, 2021 18:09

December 25, 2020

Configure Free Wildcard SSL Certificate on AWS Application Load Balancer (ALB) Through Terraform

Request Certificate Creation With AWS Certificate Manager

Domain Name Validation Through Route53 DNS Configuration

Wiring It up with Application Load Balancer

Redirecting HTTP Traffic Through an ALB Rule


Resources




Last week, I have moved all my personal compute and storage from Azure to AWS. I took this opportunity as an excuse to also start to manage all that infrastructure through Terraform. Why AWS though? I had the chance to use AWS before on and off, but since I joined Deliver...

 •  0 comments  •  flag
Share on Twitter
Published on December 25, 2020 14:10

December 19, 2020

Redis Cluster - Benefits of Sharding and How It Works


Content

The Problem
Redis Cluster: Enter

Key Distribution
Hash Tags: Getting back into control of your sharding strategy
Redirection
Distributing Reads

Conclusion




Redis is by far one of the most frequently used data stores. It's fascinating how much our our software-developer-minds go to Redis when we are faced with a data storage problem that requires some level of scale. Even if this might make us feel guilty, I have a somewhat confident assumption that this's the case...

 •  0 comments  •  flag
Share on Twitter
Published on December 19, 2020 17:34

September 12, 2020

Working with Slices in Go (Golang) - Understanding How append, copy and Slice Expressions Work


Content

Introduction
How Slices Work
How append and copy Works
How Slice Expressions Work
⚠️ Modifying a Sliced-slice Modifies the Original Slice
⚠️ Calling append on a Sliced-slice May Modify the Original Slice



Introduction


Go programming language has two fundamental types at the language level to enable working with numbered sequence of elements: array and slice. At the syntax level, they may look like the same but they are fundamentally very different in terms of their behavior. The m...

 •  0 comments  •  flag
Share on Twitter
Published on September 12, 2020 09:55

August 29, 2020

Implementing OrderedMap in Go 2.0 by Using Generics with Delete Operation in O(1) Time Complexity


Probably the most sought after feature of Go programming language, Generics, is on its way and is expected to land with v2. You can check out the proposal here, and have a play with it in Go playground for v2. I stumbled upon rocketlaunchr.cloud's great post on using generics in Go 2, and the post shows how you can implement ordered maps. The post is very informative, and shows you how powerful Generics will be for Go.




However, I noticed a performance issues with the implementation of Delet...

 •  0 comments  •  flag
Share on Twitter
Published on August 29, 2020 04:33

August 23, 2020

Usage of the Heap Data Structure in Go (Golang), with Examples

So, Tell Me More About This Heap Data Structure


Heap is one of the most powerful data structures that is in our disposal to solve various real world problems more efficiently. Heap data structure usually comes with two shapes: Min Heap or Max Heap, and depending on which one it is, heap will give you efficient (i.e. O(1)) access to min/max value within the given collection.




Here is the characteristics of the heap data structure, which separate it from other data structure when all of these...

 •  0 comments  •  flag
Share on Twitter
Published on August 23, 2020 06:39