
Semantic Deduplication with OpenAI Embeddings and pgvector
Applications that process large amounts of text often run into duplicate content. While exact duplicates are easy to detect using hashes…

Applications that process large amounts of text often run into duplicate content. While exact duplicates are easy to detect using hashes…

Disk-based design, when done right, can sometimes outperform memory-first systems.

When you run a backend service locally, debugging is easy. You can print logs, step through the code with a debugger, and see exactly what…
Timing attacks are a class of side-channel attacks where an attacker learns sensitive information by measuring how long an operation takes…

The moment a service can only run inside a full cluster, the team loses the fastest feedback loop they have.

In the previous part of this series, we explored Paxos, a protocol that achieves consensus even when nodes fail, crash, or restart…

The Paxos consensus algorithm is one of the earliest and most influential distributed consensus protocols, proposed by Computer Scientist…

Modern software systems generate and consume massive volumes of data at every moment from financial transactions and IoT sensor readings to…

Publish/Subscribe is a messaging pattern that decouples message producers (publishers) from consumers (subscribers). The publisher sends…

JavaScript behaves quite differently from traditional object-oriented languages like Java or C++. To truly understand how objects…
Monte Carlo simulation is one of the most practical tools for real-life decision making when you’re faced with uncertainty.

In this part, we’ll explore the fundamentals of RPC, why gRPC is a game-changer for modern microservices, and how it leverages HTTP/2 and…

Welcome to Part 2 of our MQTT journey! Last part, we covered the basics of MQTT, including its architecture, publish/subscribe model, and…

Welcome to A Comprehensive Guide to MQTT, your ultimate resource for mastering the Message Queuing Telemetry Transport (MQTT) protocol.

The other day, when I was working on a few tests using Go mocks and testify, I came across an interesting bug in my code that prevented the…

Go’s built-in net/http package provides everything you need to create a basic web server, handle HTTP requests, and build simple RESTful…

Free link

Distributed algorithms are algorithms designed to run on multiple interconnected computers or nodes, rather than a single centralized…

Read without premium: Here

Event-driven programming (EDP) facilitates responsive and scalable applications by leveraging events to drive system behavior, while Spring…

If you are not a medium member, you can still read this story here

If you are not a medium member, you can still read this story here

If you are not a medium member, you can still read this story here

Spring Batch is a powerful framework designed to support the development of robust batch processing applications. It’s a part of the larger…

If you are not a medium member, you can still read this story here

When designing a Grafana dashboard, one of the most insightful metrics is the percentile of request latencies, such as the 95th percentile…

If you are not a medium member, you can still read this story here

If you are not a medium member, you can still read this story here
Spring will choose the method that handles the more specific exception type. As a rule of thumb, If an @ExceptionHandler method matches the exact type of the...

Asynchronous event-based systems offer scalability and loose coupling between microservices, but they come with the “Dual Write” problem.

Building a distributed application from scratch is a really good way to learn a lot about operating systems, networking and, system design…

In this part, we will be integrating Apache Kafka with our Spring Boot application. Apache Kafka, a distributed streaming platform, is the…

GitHub Actions is an automation tool provided by GitHub, allowing you to automate your software development workflows directly within your…

Aspect-oriented programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting…

Part 1: Available Here

Hey there! 👋 Welcome to a very in-depth Golang Multithreading Crash Course. Ever wondered how your computer effortlessly handles multiple…

In this part we will be looking at how to authenticate and authorize users using Spring Boot.

Exception handling is a crucial aspect of any application, and in the context of Spring Boot, it becomes even more important. Spring Boot…

In the last part, we explored how to store, retrieve, modify and delete data easily using Spring Boot. This part will take over from where…

Before delving into the creation of robust APIs, Let’s take a quick diversion to learn about how we can access a database in Spring and…

In the last part, we learned about the concepts of dependency injection and inversion of control (Part 1 Link). This part is going to be a…

Spring Boot is a powerful framework for building Java-based, production-ready applications with minimal fuss. Whether you’re a seasoned…

Are you looking to learn AWS, develop and test your AWS applications locally, without incurring the costs of using the actual AWS cloud? If…

A cloud file sync service, often referred to as a file synchronization or file syncing service, allows users to store and synchronize their…

JSON Web Tokens, or JWTs, are compact and self-contained data structures that serve as a means of transmitting information securely between…

Live in the moment. Neither in the past nor in the future. That is what it truly means to live.

and the lessons it teaches about the importance of monetization and adapting to technological change
In the Last Part, we wrote the Golang service that will compile the code and give us the output through an API request.

In Part 1, we looked at how the whole system is structured. In this part, we will write a Golang compilation service that will compile C++…

I like to write my code in Visual Studio Code. And sometimes installing and setting up the compiler for some languages and getting it…

Today, we’re embarking on an exciting journey into the realm of Scalable Vector Graphics (SVGs) and exploring how we can use our friendly…

This post describes how you can write your own file-based cache in Golang, similar to Nginx, that can cache anything from frequently used…