Database Tutorial #16: Redis Best Practices and Production

Redis is easy to start with and hard to run well at scale. This tutorial covers the practices that keep Redis fast, reliable, and secure in production. Key Naming Conventions Consistent key names make debugging and management much easier. Use colons as separators: app:entity:identifier:field Examples: user:1001:profile session:abc123 cache:product:5:details rate:api:user:1001 lock:order:processing:42 Rules: Use lowercase Prefer colons over dots or hyphens (Redis treats colons as namespace separators in RedisInsight) Keep keys short — they add up in memory Include a TTL on anything that should expire Memory Optimization Redis stores everything in RAM. Know what you are using: ...

August 8, 2026 · 5 min

Database Tutorial #12: MongoDB Indexing and Performance

MongoDB reads every document in a collection if there is no index — a collection scan. At 10 million documents, that is slow. Indexes fix this. Single-Field Index // Create an index on the email field db.users.createIndex({ email: 1 }) // 1 = ascending, -1 = descending // The query now uses the index db.users.find({ email: "alex@example.com" }) // Unique index — enforces uniqueness db.users.createIndex({ email: 1 }, { unique: true }) Compound Index Index multiple fields together when you filter or sort on more than one: ...

August 6, 2026 · 4 min

Database Tutorial #4: PostgreSQL Indexing and Performance

Your query works. But it is slow. The fix is almost always an index. This tutorial covers how indexes work in PostgreSQL, when to use them, and how to confirm they are actually helping. How a B-tree Index Works Without an index, PostgreSQL reads every row in the table to find matches. This is called a sequential scan. For a table with 10 million rows, that means 10 million comparisons. ...

August 4, 2026 · 5 min

Android Tutorial #20: App Performance — Baseline Profiles, Startup, ANR

Your app launches in 3 seconds. Users see a white screen. They close the app. Your retention drops. Performance is not optional. Google Play ranks apps by performance metrics. Users uninstall apps that feel slow. The difference between a 1-second and 3-second startup can be a 50% drop in engagement. In this tutorial — the final one in the series — you will learn how to measure and optimize your app’s performance using Baseline Profiles, Macrobenchmark, and modern profiling tools. ...

July 10, 2026 · 9 min

WebAssembly Explained: How Your Browser Now Runs at Near-Native Speed

Figma’s canvas engine runs in your browser at desktop speed. Google Earth loads a 3D globe without a plugin. AutoCAD moved from a desktop app to a website. They all use WebAssembly. What is WebAssembly? WebAssembly — Wasm — is a binary format that browsers can run directly. It is not a programming language. It is a compile target. You write code in C++, Rust, Go, or another language. You compile it to a .wasm binary. The browser loads that binary and runs it at near-native speed. ...

April 9, 2026 · 5 min

Jetpack Compose Tutorial #17: Performance — Making Your App Fast

Your app works. But it stutters when scrolling. The screen freezes for a split second when you type. Animations aren’t smooth. The problem isn’t Compose — it’s recomposition. Compose redraws parts of your UI when state changes. If it redraws too much, too often, your app feels slow. This tutorial will teach you why Compose gets slow and how to fix it. How Recomposition Works When state changes, Compose doesn’t redraw the entire screen. It redraws only the Composables that read the changed state. This is called recomposition. ...

March 24, 2026 · 9 min