Ruby Magic Newsletter
Magicians never share their secrets. But we do.
In our Ruby Magic email series, we share tips & tricks about performance optimization, monitoring, and observability for your Ruby apps.
Previously in Ruby Magic
We’ve written 169 high-quality Ruby articles to date.
- AppSignal’s Top 5 Ruby Posts in 2024
- Server-sent Events and WebSockets in Rack for Ruby
- Rack for Ruby: Socket Hijacking
- Optimize Database Performance in Ruby on Rails and ActiveRecord
- The Basics of Rack for Ruby
- What's New in Ruby on Rails 8
- Measuring the Impact of Feature Flags in Ruby on Rails with AppSignal
- Ruby’s hidden gems: Sorbet
- Ruby on Rails 7.1: Partial Strict Locals and Their Gotchas
- Squash Your Ruby and Rails Bugs Faster
- An Introduction to HTTP Caching in Ruby On Rails
- An Introduction to Nix for Ruby Developers
- Setting Up Custom Metrics with Effective Alerts for a Ruby App in AppSignal
- What's Coming in Ruby on Rails 7.2: Database Features in Active Record
- An Introduction to Auth0 for Ruby on Rails
- Debugging in Ruby with Debug
- Monitor the Performance of Your Ruby on Rails Application Using AppSignal
- How to Use Tailwind CSS for Your Ruby On Rails Project
- Getting Started: Your Ruby On Rails App Hosted On DigitalOcean With AppSignal
- Five Things to Avoid in Ruby
- Creating Forms in Ruby on Rails with Simple Form
- Debugging in Ruby with pry-byebug
- AnyCable for Ruby on Rails: How Does it Improve over Action Cable?
- Should You Use Ruby on Rails or Hanami?
- Handling Exceptions in Grape for Ruby
- Good Database Migration Practices for Your Ruby on Rails App using Strong Migrations
- Turbo Streaming Modals in Ruby on Rails
- Active Record or Sequel: Which Best Fits The Needs of Your Ruby App?
- Hotwire Modals in Ruby on Rails with Stimulus and Turbo Frames
- Full-Text Search for Ruby on Rails with Litesearch
- A Deep Dive Into RSpec Tests in Ruby on Rails
- Behaviour Driven Development in Ruby with RSpec
- Speed Up Your Ruby on Rails Application with LiteCache
- Keep your Ruby Code Maintainable with Draper
- AppSignal’s Top 5 Ruby Posts in 2023
- Stream Updates to Your Users with LiteCable for Ruby on Rails
- How to Use Shoulda Matchers with RSpec for Ruby on Rails
- Keep Your Ruby Code Maintainable with Money-Rails
- Shaping the Future of Ruby and Kafka Together with rdkafka-ruby
- Handle Incoming Webhooks with LiteJob for Ruby on Rails
- A Deep Dive Into LiteDB for Ruby on Rails
- Advanced Usages of Action Policy for Ruby on Rails
- Expressive Ruby and Rails: Communicate Effectively With Your Code
- Using Action Policy for a Ruby on Rails App: The Basics
- An Introduction to LiteStack for Ruby on Rails
- An Introduction to Sidekiq for Ruby on Rails
- An Introduction to RuboCop for Ruby on Rails
- Secure Your Ruby App with JSON Web Tokens
- Advanced Usages of Devise for Rails
- An Introduction to Metaprogramming in Ruby
- How to Delegate Methods in Ruby
- An Introduction to Devise for Ruby on Rails
- Keep Your Ruby App Secure with Bundler
- An Introduction to Lambdas in Ruby
- Setting Up Business Logic with DCI in Rails
- How to Use Sinatra to Build a Ruby Application
- Manage Your Ruby Logs Like a Pro
- Organize Business Logic in Your Ruby on Rails Application
- Integrate and Troubleshoot Inbound Emails with Action Mailbox in Rails
- How to Load Code in Ruby
- Audit Logging in Ruby and Rails
- How to Use the rodauth-omniauth Gem in Ruby
- Diving into Custom Exceptions in Ruby
- Authorization Gems in Ruby: Pundit and CanCanCan
- A Generalized User-local Container for UI State in Kredis
- Making the Most of Your Logs in Rails
- Storing Ephemeral UI State with Kredis for Rails
- What's New in Rails 7.1
- A Guide to Rails View Helpers
- Calling Ruby Methods in C: Avoid Memory Leaks
- How to Parse Arguments in Your Ruby C Extension
- Create a Business Language for a Rails Application
- AppSignal’s Top 5 Ruby posts in 2022
- A Guide to Memoization in Ruby
- Database Performance Optimization and Scaling in Rails
- A First Look at Hanami 2 for Ruby
- System Notifications with Noticed and CableReady in Rails
- How to Scale Ruby on Rails Applications
- Build a Table Editor with Trix and Turbo Frames in Rails
- Improve Code in Your Ruby Application with RubyCritic
- Security Best Practices for Your Rails Application
- Debugging in Ruby with AppSignal
- JIT Compilers for Ruby and Rails: An Overview
- Monitor Ruby Application Performance with Magic Dashboards
- An Introduction to Ractors in Ruby
- A Deep Dive into Memory Leaks in Ruby
- Connect a Ruby on Rails App with React in a Monolith
- How to Track Down Memory Leaks in Ruby
- Deploy Your Ruby on Rails App Using Capistrano
- Get Started with Hotwire in Your Ruby on Rails App
- State Machines in Ruby: An Introduction
- Add Feature Flags in Ruby on Rails with Flipper
- An Introduction to Polymorphism in Ruby on Rails
- Using Scientist to Refactor Critical Ruby on Rails Code
- Bootstrapping with Ruby on Rails Generators and Templates
- 5 Tips to Design Ruby on Rails Transactions the Right Way
- The Perils of Parallel Testing in Ruby on Rails
- Import Maps Under the Hood in Rails 7
- Delayed Job vs. Sidekiq: Which Is Better?
- Test and Optimize Your Ruby on Rails Database Performance
- Next Level Ruby on Rails Application Monitoring with AppSignal
- Ruby on Rails Application Monitoring with AppSignal
- Practical Garbage Collection Tuning in Ruby
- Optimistic Locking in Rails REST APIs
- How to Reduce Memory Bloat in Ruby
- Responsible Monkeypatching in Ruby
- Ruby's Hidden Gems: Bullet
- An Introduction to Pattern Matching in Ruby
- General Ruby on Rails Problems and Takeaways
- Performance, Stress, and Load Tests in Rails
- Three Ways To Avoid Duplicate Sidekiq Jobs
- Linting Ruby Code
- Ruby on Rails Controller Patterns and Anti-patterns
- Troubleshooting ActiveRecord Performance
- Using Webpacker in Your Ruby on Rails Application — a Deep Dive
- Ruby on Rails View Patterns and Anti-patterns
- RBS: A New Ruby 3 Typing Language in Action
- How to Use Mixins and Modules in Your Ruby on Rails Application
- Top 5 Ruby Blog Posts in 2020 from AppSignal
- Setting Up AppSignal Monitoring for a Ruby on Rails Application
- Building a Multi-tenant Ruby on Rails App With Subdomains
- Ruby on Rails Model Patterns and Anti-patterns
- Structuring Monitoring Data in Monolithic Applications With Namespaces
- Monitoring Any System with StatsD and AppSignal's Standalone Agent
- Rails Concerns: To Concern Or Not To Concern
- Introduction to Ruby on Rails Patterns and Anti-patterns
- Scaling Queue Workers Efficiently with AppSignal Metrics
- Using Service Objects in Ruby on Rails
- Dissecting Rails Migrations
- The Citadel Architecture at AppSignal
- Changing the Approach to Debugging in Ruby with TracePoint
- Facade Pattern in Rails for Performance and Maintainability
- Building a Rails App With Multiple Subdomains
- Getting Started With System Tests in Rails With Minitest
- Pros and Cons of Using structure.sql in Your Ruby on Rails Application
- Top 10 AppSignal Blog Posts in 2019
- Configurable Ruby Modules: The Module Builder Pattern
- Ruby Templating: Baking an Interpreter
- Type Checking in Ruby — Check Yo Self Before You Wreck Yo Self
- Digging Deeper into Ruby Templating: The Parser
- Brewing our own Template Lexer in Ruby
- Inside Enumeration in Ruby
- Ruby's Hidden Gems -Delegator and Forwardable
- Learning by building, a Background Processing System in Ruby
- Ruby's Hidden Gems, StringScanner
- Unraveling Classes, Instances and Metaclasses in Ruby
- Bindings and Lexical Scope in Ruby
- Fibers and Enumerators in Ruby - Turning Blocks Inside Out
- Building a Ruby C Extension From Scratch
- The Magic of Class-level Instance Variables
- Closures in Ruby: Blocks, Procs and Lambdas
- Changing the Way Ruby Creates Objects
- Ruby Magic Summer Special: The Best of AppSignal Academy
- Under the Hood: “Slurping” and Streaming Files in Ruby
- Ruby's magical Enumerable module
- ActiveRecord performance: the N+1 queries antipattern
- Benchmarking Ruby Code
- Syntactic sugar methods in Ruby
- A look at how Ruby interprets your code
- Concurrency Deep Dive: Event loops
- Concurrency Deep Dive: Multi-threading
- Concurrency Deep Dive: Multi-process
- Running Rack: How Ruby HTTP servers run Rails apps
- Escaping characters in Ruby
- Building a 30 line HTTP server in Ruby
- Rescuing Exceptions in Ruby: A Primer
- Introduction to Garbage Collection (Part II)
- Introduction to Garbage Collection (Part I)
- Mastering Concurrency
AppSignal monitors your apps
AppSignal provides insights for Ruby, Rails, Elixir, Phoenix, Node.js, Express and many other frameworks and libraries. We are located in beautiful Amsterdam. We love stroopwafels. If you do too, let us know. We might send you some!