Tutorials, product info and good advice from the Honeybadger crew.
As developers, we spend way more time maintaining and changing code than we do writing it. By optimizing for change through SOLID design principles, we can avoid a lot of pain. In this article, Milap Neupane introduces us to SOLID, explains each principle in-depth, and shows us how to apply them in Ruby.
Logging is tricky. You want logs to include enough detail to be useful, but not so much that you're drowning in noise - or violating regulations like GDPR. In this article, Diogo Souza introduces us to Ruby's logging system and the LogRage gem. He shows us how to create custom logs, output the logs in formats like JSON, and reduce the verbosity of default Rails logs.
Elixir makes it easy to work with sophisticated data structures. We've come a long way C, where you had to manage every detail of your data's representation in memory. Even so, the way Elixir lays out your data in memory can have real implications on your app's performance. In this article, Sasha Fonseca gives us a tour through Elixir's internal data structures and shows us how they can affect application performance.
What makes Rails magical? It just might be its code loader. Put a few files in the right places, and - presto! - you have a web app. When you use a class, Rails handles the include so you can stay focused on your code. But this magic isn't just for Rails! You can add thread-safe code loading to your own apps via the Zeitwerk gem. In this article, Olasubomi introduces us to Zeitwerk and shows us how to integrate it with our own projects.
We don't get to choose our families. Some of us don't even get to choose our databases. What do you do if you have the bad luck to inherit a database with non-unique ids? In this case study, Regan Ryan shows us how his team faced the challenge.
Management thinks that letting folks from WidgetCo log into widgetco.ourapp.com will really help make the sale. It seems harmless enough. But using a custom subdomain like this can open WidgetCo up to potential security issues. In this article, Julien Cretel introduces us to Subdomain Takeover attacks and discusses ways we can mitigate them.
ActiveRecord makes accessing your database easy, but it can also help make it faster by its intelligent use of caching. In this article, Jonathan Miles shows us the tricks that Rails uses to ensure that your database isn't doing more work than it needs to.
For quick, scalable, highly-available web services, few options compare to AWS Lambda. Just provide your code, add a little configuration, and you're done! In this article, Milap Neupane will introduce us to Lambda, show us how to get it working with Ruby and the Serverless Framework, and discuss reasons to use — or to not use! — Lambda in production.