Golang Design Patterns - ProxyI. Proxy - Structural Pattern The Proxy is a familiar Design Pattern for developers, used to represent an original resource. The Proxy provides functionalities similar to the original resource but with high customizability. The Proxy acts as a substi...Feb 4, 2025 ยท 7 min readkhaaleoo.hashnode.dev
Building a personal blog with Next.js and NotionI. Prerequisites Notion is certainly no stranger to everyone. It is an AI-powered workspace that helps users easily plan, take notes, and integrate with many other applications, making it very convenient. In terms of the idea, we will use Notion as a...Jun 21, 2024 ยท 3 min readkhaaleoo.hashnode.dev
Security Risk - Timing Attack - Challenging but Entirely FeasibleTiming Attack is one of the techniques that hackers exploit by leveraging server-side computations to adjust attack payloads accordingly. In this article, I will present the most common example of this type of attack and discuss prevention methods us...Jul 21, 2023 ยท 4 min readkhaaleoo.hashnode.dev
Rate Limiter in System Design. Part 2 - Commonly Used AlgorithmsLeaky Bucket Conceptually, the Leaky Bucket algorithm operates as follows. The server utilizes a fixed-sized bucket, and the bottom of the bucket has a hole (output) to hold a certain number of tokens. In this context, a token represents a request se...Jul 19, 2023 ยท 5 min readkhaaleoo.hashnode.dev
Rate Limiter in System Design - Part 1: Concepts and ApplicationsWhat is Rate Limiter In the simplest terms, a Rate Limiter restricts the number of access requests to a resource on a system from an agent (such as a user, browser, or another server) within a specific time frame. Based on several rate-limiting techn...Jul 19, 2023 ยท 4 min readkhaaleoo.hashnode.dev