Rate Limiting: How to Stop Your API From Drowning in Requests
Hello! I'm Jairo Your favorite dev.to writer. Just kidding — I know I'm not. Just breaking the ice 😄 Last week I was reading an excellent book called _System...
Hello! I'm Jairo Your favorite dev.to writer. Just kidding — I know I'm not. Just breaking the ice 😄 Last week I was reading an excellent book called _System...
TL;DR: I implement undo functionality using a Stack data structure because it follows the Last‑In‑First‑Out LIFO principle. Each state change is pushed onto the...
!Cover image for Accelerating Solr Search for Global Financial Institutionshttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,form...
Residential and mobile proxy bandwidth is expensive — $5‑50 per GB. Every wasted byte is wasted money. A typical web page is 2‑5 MB; if you only need a price or...
!Cover image for Background Jobs in Production: The Problems Queues Don’t Solvehttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,...
When Elon Musk burst onto the scene in his little Tesla Roadster, it seemed a matter of time before electricity rendered gas‑powered sports cars obsolete. It ha...
I've been studying .NET GC internals and wanted to go beyond reading docs — so I built a small experiment suite to make the behavior actually visible. This post...
The Copy Problem In traditional C++98 programming you had two ways in which objects were created: from scratch and from copying. cpp Foo; // Default ctor Fooin...
!Cover image for “The Svelte Compiler Got 55 % Faster. The Fix Was 3 Files.”https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,for...
Every developer uses memory every single day. But most tutorials skip the why and jump straight to syntax. This post fixes that. By the end, you’ll understand...
!M4 chip official Applehttps://9to5mac.com/wp-content/uploads/sites/6/2026/03/m4-chip-official-apple.jpg?quality=82&strip=all&w=1600 As it usually happens when...
Background At Discord, we aim for chat, reactions, and meme posting to feel instantaneous. We achieve this at scale by leveraging Elixir’s powerful concurrency...
The 2027 Audi RS5 – A Plug‑In Hybrid That’s Anything But a Novelty There’s more waffling about the future of electric vehicles in America right now than you mi...
!https://9to5mac.com/wp-content/uploads/sites/6/2026/03/m5-macbook-air-vs-m4-mba.jpg?quality=82&strip=all&w=1600 Today Apple launchedhttps://9to5mac.com/2026/03...
The caching problem If you've worked on a web app for any length of time, you know the deal with caching. You add a cache, everything's fast, and then someone...
markdown Dev Drive: a nova solução de armazenamento otimizada para desenvolvedores No mundo acelerado do desenvolvimento de software, onde cada milissegundo con...
Why do we add indexes to our SQL fields? To make the search faster, right? But do you know it has a massive downside? Writes become slower, forcing developers t...
Problem When processing large datasets, accessing relations via Eloquent properties causes memory usage to keep climbing. Each model instance caches loaded rel...
We’ve all been there. You’re reading a brilliant, massive piece of content, you hit the bottom, and suddenly you have to manually scroll all the way back up lik...
Why I Built data-structure-typed: A Modern Data‑Structures Library for TypeScript TL;DR: After years of using various data‑structure libraries in JavaScript/Typ...
Introduction In the previous post I introduced GPU Flight, a lightweight CUDA observability tool that acts like a flight recorder for your GPU. It collects sys...
Why I Built It If you’ve ever tried building a scheduling UI in React Native, you probably know how tricky it gets. Challenges include: - Precisely positioning...
Overview Microbenchmarks lie – not maliciously, but structurally. You write a tight loop, measure it a thousand times, compare two implementations, and declare...
JavaScript is eating the world, one framework, runtime, and tooling update at a time. But beneath the surface of constant innovation lies a growing problem: fra...
Índice 📑 - Consultas N+1consultas-n1 - Falta de índices en la base de datosfalta-de-índices-en-la-base-de-datos - Evaluación prematura del QuerySetevaluación-...
I live in my terminal Neovim, tmux, git, SSH — that's my whole day. I've used every terminal emulator out there: iTerm2, Alacritty, Kitty, Ghostty. All great....
Cache latencies - L1 cache reference: 1 ns - L2 cache reference: 4 ns - Branch mispredict: 3 ns Memory latency - Main memory reference: 100 ns - Read 1 000 000...
!Cover image for Landing page design and development: a build-to-convert checklisthttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=au...
Overview A 97 kB 2.4 kB gzipped Bun‑native framework that achieves 21,748 req/s. PrinceJS is a “Super‑Framework”: tiny yet packed with batteries‑included featu...
Problem Overview A pattern that looks clean, “idiomatic,” and AI‑approved: python @actiondetail=True, methods='put' def close_ticketself, request, pk=None: tic...
Introduction As blockchain applications mature from experimental prototypes into production‑grade systems, performance and cost efficiency have become defining...
What is Monomorphization in Rust? Monomorphization is the process by which Rust converts generic code into a specific, hard‑coded version for each concrete typ...
What is cache? Think of cache as temporary files—such as images, scripts, and other resources—that help apps and websites load faster. Clearing cache removes t...
Introduction A single block passed to .any? can silently load thousands of records into memory—no warnings, no errors, just unnecessary objects. Most Rails dev...
The Thundering Herd Problem Imagine a popular store opening its doors at 9 AM sharp. Hundreds of customers line up outside and rush in simultaneously, overwhel...
SQLite has six layers: SQL parser → query planner → VDBE → B-tree → pager → OS SQLite architecturehttps://sqlite.org/arch.html. For key‑value workloads you only...
!Cover image for Unlock Dynamic String Processing in PHP with Rismahttps://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/...
The Tale of 50 000 QR Codes Sometimes the simplest tasks can become the biggest headaches. I set out to generate 50 000 unique QR codes and bundle them into a...
The 2 am Call That Started Everything It was 2 am on a Thursday. Our checkout page was crashing in production. I opened Sentry and saw: TypeError: Cannot read...
When it comes to writing efficient code, understanding how an algorithm’s performance changes as the input size grows is crucial. This is where time complexity...
!Cover image for What MongoDB taught me about Postgres.https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%...
The Problem Running Xcode, Android emulator, local AI models, and a dozen browser tabs simultaneously on Apple Silicon is brutal on RAM. My M1 Pro was constant...
!Cover image for Pandas 3.0 is Here: Copy-on-Write, PyArrow, and What You Need to Knowhttps://files.catbox.moe/qthhlv.png Introduction & TL;DR The long‑awaited...
In this article I share my journey with ActiveRecord. When I first started with Rails, I thought ActiveRecord was just “magic” to save data to the database. Aft...
'markdown Click here for Github repo
Focus on Network Requests, Bandwidth Consumption, and Client Execution Model In modern web architectures, performance is not only about rendering speed. A criti...
I spent the last six months deep in web analytics while building my own platform. Along the way I tested GA4, Hotjar, Mixpanel, Amplitude, Plausible, Fathom, Po...
markdown Stop treating the @ symbol as magic Let's tear down the abstraction layer and build decorators from first principles, using heap allocation, closures,...