Tamerlan Gudabayev

2022

Multithreading Principles and Patterns

As I was studying Operating Systems, I learned about multithreaded applications and how they work. I was pleasantly surprised to see that they got their own design patterns. As the guy with around 9 articles on different design patterns, I just had to write something about it. Well here goes

2022

Working Effectively with Legacy Code: Chapter 1 Summary

> “Legacy Code is code without tests” That's pretty much the premise of the whole book. Thanks for reading... Just kidding, there's a lot more to this. Testing is one of those things that I've ignored for a good portion of my career but

2022

Introduction to PThreads

In our last article, I introduced the concepts of threads. We learned what threads are and how do they speed up our code. You can check out the previous article here: What are threads?Most, if not all modern operating systems support multiprocessing and at the same time processes can

2022

What are threads?

Most, if not all modern operating systems support multiprocessing and at the same time processes can be run in multiple threads hence the word multithreading. This will give you a significant increase in performance and scalability but it comes with a price. The overall complexity of the code increases and

2022

Best Resources to Teach Yourself Computer Science

I've been programming professionally for almost 3 years. But I'm gonna be honest with you. My computer science (CS) skills are pretty lacking. That's why I've dedicated 2022 to finally learn some core computer science concepts. But where do I start? That&

2022

Introduction to Multithreading in Python

Got slow python code? Don't want to refactor to some other "low-level" language? Want to impress your peers? We got all that here!! -------------------------------------------------------------------------------- Now that you are actually here, today we will cover ways to optimize our Python code specifically using Multithreading and asyncio. In

2022

Operating Systems for Dummies

One of my goals in 2022 was to dive deeper into core computer science subjects. The first subject in the list is Operating Systems. This is a very wide subject but for simplicity sake, we will cover the basics. Today you will learn: * What is an operating system? * Different kinds

2022

So I've been making games this weekend...

This past week I've dropped all the typical backend engineering I usually do and did some game development. It was a fascinating experience, it's like I've gotten back the joy of programming. Ever since I've started working professionally programming became more of

2022

How to build a GraphQL API using Python and Django

As API developers it's easy for us to fall into the trap of routine. I'm not saying it's a bad thing but it gets boring real quick. To break through this routine it's up to us to do interesting and new things.

2022

Transitioning to Golang

This is an awkward post. Most of my last articles have been directly correlated with Python and Django. But it may surprise you that I am NOT a "python" developer per see. I didn't pick Python, it chose me. God, that sounds cringe, but anyways I&

2021

What's with all the hype about web 3.0?

A couple of days ago I've started to see the word "web3" a lot. It started on Twitter but eventually spread to YouTube and I've succumbed to it. I've fallen down the web3 rabbit hole. Thankfully I'm out of it

2021

Django caching using Redis

Cacheing is one of those things that are simple at first but can get really messy quick. There's even a quote about it. > There are only two hard things in Computer Science: cache invalidation and naming things – Phil Karlton The story goes like this. 1. You start

2021

CI/CD Pipelines with Github Actions and Django

Deployment is hard. You have to make sure that you are in the correct environment, with the correct variables, and finally, run the correct commands in order. Other things are hard too, like keeping code quality high with consistent testing, and linting. These kinds of things should be done automatically.

2021

Message Queues with Celery, Redis, and Django

Some tasks don't have to be done immediately. Examples of tasks like these include: * When a user signs up, you don't need to immediately send emails to him. * When a video gets uploaded to YouTube, thumbnails get generated after some time. * When you want to generate

2021

Integrating Auth0 with DRF

A couple of months I started my first project with Auth0. We had a RESTful application, and my team lead went and told me to integrate our authentication system with Auth0. I was confused because most of the work was done in the front end, and I just didn'