If you've ever responded to a late-night service outage, then you know how important it is to have the right tooling to get everything back up and running. Platforms like Datadog handle monitoring along with data collection and analysis across all kinds of vectors, spanning infrastructure monitoring, network performance, and security compliance. The insights Datadog provides enable actionable improvements to your technical architecture, resulting in satisfied customers and better business outcomes. While Datadog is one of the dominant players in the observability space, that doesn't mean it's…
Starlette middlewares let you apply logging, auth, and CORS across every route in a web app without duplicating code. This article covers Starlette's built-in middlewares, building custom ones with pure ASGI and BaseHTTPMiddleware, and the execution-order rules that keep your FastAPI applications secure and fast. Read on to learn how to build and order Starlette middlewares the right way.
LLMs don't understand BadgerQL out of the box. Here's how we used our existing integration tests to teach them BQL—and measure whether the resulting queries actually worked.
Logging is an import part of debugging an app. Without a good method of catching errors or logs in general, you would end up with uncaught issues and could also lose valuable customers in the process. Read this article to learn how to effectively handle logs on Fly.io.
Markdown makes it easy to add syntax to your plain text documents for readability and machine parsing. Read to learn how to work with markdown in Python using the Python markdown package.
FastAPI is built on Starlette, but most developers never look at what's underneath. Learn what FastAPI actually adds on top of Starlette and Pydantic, what comes straight from Starlette, and when dropping down to raw Starlette makes more sense than pulling in the full stack.
A status page is an essential tool for keeping users updated, but how can you make sure yours is the best possible? In this article you'll see how to make your status page perfect, and how Honeybadger can help you do that.
Next.js gives developers a structured way to handle errors at every level of an application — from form validation to root-level crashes. Learn how to manage expected errors with return values, catch uncaught exceptions with error boundaries, and set up automatic error reporting in production.
Next.js and React are often compared, but they solve different problems. React focuses on building user interfaces, while Next.js adds structure, rendering strategies, and back-end capabilities. Read this article to see how we break down their differences.
SIEM alerts help you detect suspicious behavior before it becomes a breach. But security monitoring can quickly turn into noisy dashboards and missed threats without the right approach. Read this article to learn how to design effective SIEM alerts and implement real-time security monitoring.
When you inherit a legacy app with no tests, your first step should be to add them. But that can be a huge task! How do you even start? In this article, José will introduce us to a testing workflow called test-commit-revert (TCR) that is particularly useful for adding tests to legacy systems. Read to see practical examples and how to set up your tooling for minimal friction.
Read at the source
Your visit, your choice.
Optional Google Analytics helps us understand visits. Microsoft Clarity records masked interactions to improve the site. Optional tools stay off unless you choose them. Privacy details.