This article explores how to use markdown in Ruby. Learn how to use two popular Ruby libraries—Redcarpet and Kramdown—to parse markdown and create a simple documentation app using Redcarpet and Sinatra.
Ractor is Ruby's new Actor-like concurrency abstraction—it lets execute code in parallel without worrying about thread safety. This article is an excellent introduction to Ractors and how to begin using them in your Ruby code.
People complain that Ruby isn't fast. Stripe—one of the world's largest and most influential Ruby shops—is working hard to change that. In addition to type-checking, this article explores a new, ahead-of-time Ruby compiler Stripe is developing as a part of their Sorbet Ruby Gem.
In this article, Julie Kent discusses using associations in Rails when the underlying data model spans multiple databases. We didn't even know Rails could do this!
The conclusion to Alex Braha Stoll's 5-part series on how to build a toy programming language in Ruby.
Ruby on Rails is one of the most popular Ruby frameworks, but it's not the only one. Hanami 2.0 is faster than Rails and packed with exciting features—it might be the tool you need for your next project!
Data structure and type validations are so essential in modern Rails apps. You've probably used Active Model validations and strong parameters, but did you know there is a better way? This article introduces the dry-schema gem—a faster alternative to the defaults!
Generators are a powerful feature you can use to automate routine tasks in Rails—but do you know how to make your own? This article explores Rails generators in depth, including how to build a generator from scratch.
Accepting user input is critical to modern Rails applications, but without validations, it can cause problems. In this article, learn how to use
ActiveModel validations to ensure the data you process is safe.
Want to deploy a Rails app with Docker and AWS, but not sure where to start? AWS Fargate simplifies the convoluted process of deploying Docker on Amazon's Elastic Container Service (ECS). It's also a good alternative to Heroku.
Getting data into your database is easy, but querying large datasets is challenging—especially without the right indexes. Pavel Tkachenko teaches how to write performant SQL queries with EXPLAIN and ANALYZE.
Internationalization means adapting your application to the language and culture of your users—a difficult task! Luckily, Rails provides the I18n API. In this article, Pavel Tkachenko shows us how to start translating.
Rails defaults to minitest, but much of the community has adopted RSpec—which is right for you? In this article, William Kennedy compares RSpec and Minitest in a new Rails app.
RSpec provides tools that help you test the behavior of your Ruby objects. Join Abiodun Olowode for a tour of mocks, stubs, and spies—and learn how to use them in your Ruby projects!
If you're finding performance bottlenecks with full-text search in your database, it may be time to switch to Elasticsearch. In this tutorial, Ianis introduces Elasticsearch and shows us how to implement an efficient search feature in Rails.
Containers are popular because they create a reproducible environment that you can deploy to production and run locally in development. However, containerizing a Rails app can be tricky—Jeff Morhous helps us navigate the pitfalls.
PostgreSQL and MySQL are great for structuring data using relationships, but what if you don't always know the structure up-front? That's where
ActiveRecord::Store really shines. It's like NoSQL, without changing databases.
Do you need to process a lot of data in real time? Event streaming is a pattern that could help. David Sanchez walks us through how to do event streaming in Rails with Apache Kafka, the popular open-source event streaming platform.
What if you could write sloppy code and have Ruby fix it for you automatically? With RuboCop, you can! Of course, linters and auto-formatters have other benefits, even if your code is pristine. Join Ayooluwa Isaiah for a tour of RuboCop.