Scaling Ruby on Rails Applications: Techniques and Tools for Optimizing Performance - Part 4 (Horizontal Scaling)

Horizontal scaling is the process of adding more servers to handle increased traffic and user activity in your Ruby on Rails application. With horizontal scaling, you can handle more requests by distributing the load across multiple servers, rather than relying on a single server to handle all the traffic. In this article, we will discuss how to implement horizontal scaling in Ruby on Rails, with a code example.

Using compact_blank to Filter Form Parameters in Rails

In Rails 6.1, a new method called compact_blank was introduced to help filter out nil and blank elements from an array. This method can be particularly useful when working with form parameters, where some fields may be left blank or undefined.

Scaling Ruby on Rails Applications: Techniques and Tools for Optimizing Performance - Part 3 (Load Balancing)

Load balancing is an important technique for scaling Ruby on Rails applications to handle high traffic loads. In this article, we will discuss load balancing and some techniques for implementing it in Ruby on Rails, along with code examples.

Scaling Ruby on Rails Applications: Techniques and Tools for Optimizing Performance - Part 2 (Database Optimization)

Database optimization is an important aspect of building high-performance Ruby on Rails applications. In this article, we will discuss some techniques for optimizing database performance in Ruby on Rails, along with code examples.

Scaling Ruby on Rails Applications: Techniques and Tools for Optimizing Performance - Part 1 (Caching)

Caching is a technique that can improve the performance of your Ruby on Rails application by storing frequently accessed data in memory or on disk. In this article, we will explore how to use caching in Ruby on Rails, and we will provide some code examples to illustrate the different types of caching available.

Building webhook endpoints with Rails

Building a Rails controller is simple and well documented. Follow the ‘Rails way’ and your life is easy. However, webhook endpoints require a different approach. In this post you’ll learn how to build maintainable and secure webhook endpoints.

Best practices for testing Ruby on Rails applications: Unit testing, integration testing, and more

Ruby on Rails is a popular web application framework that is widely used to develop complex web applications quickly and efficiently. One of the essential parts of developing a robust Ruby on Rails application is testing. Testing is crucial to ensure the application is working correctly and doesn’t have any bugs or errors that could lead to problems for users. In this article, we’ll discuss the best practices for testing Ruby on Rails applications, including unit testing, integration testing, and more.

Tips and tricks for debugging Ruby on Rails applications: Common issues and how to solve them

Debugging Ruby on Rails applications can be a time-consuming and challenging task. In this article, we’ll explore some common issues that developers face and provide tips and tricks for solving them with code examples.

Sending Slack messages from Rails

This tutorial explains how to send Slack messages from a Rails application.

List S3 contents and download links in Rails

This post explains how to iterate over the contents of an AWS S3 bucket and generate download links for each object. This example uses aws-sdk version 2. At the time of writing, version 3 is the latest but there’s still a lot of legacy apps that use v2.

Deploying a legacy Rails app to Heroku, via Docker

Recently, we worked on deploying a legacy Rails app to Heroku. The minimum Ruby version that Heroku supports is 2.7.6. Apps running older versions must be upgraded before they can be deployed. Thankfully, this problem can be solved by deploying the app as a container. This post explains how to containerize an application and deploy it to Heroku.

Building a dynamic dashboard with Hotwire, part 2

In part 1 we built an admin panel and used Turbo Streams to make revenue dynamic. In this post we’ll continue building out the admin panel. We’ll implement tabs, using Turbo Frames, then finish up by making ‘real time orders’ dynamic.

Building a dynamic dashboard with Hotwire, part 1

In this series we are building an admin panel, using Hotwire. The admin panel will have multiple tabs and plenty of interactivity. Let’s get started.

Hotwire turbo_stream_from single update bug

Recently, we encountered a bug with some Stimulus code. We were trying to stream updates for a small partial and found that data only refreshed on the first update.

Features and Benefits of Dedicated Software Development Team Model

A dedicated software development team is a collaborating model in which a client engages an outsourced team of project managers, software developers, QA testers, and other specialists offered by the software development vendor.

Designing a regex test feature with Stimulus pt 2

In part 1 we built a Stimulus controller that tests a regex, however, there is a problem with that solution. Ruby and JavaScript regex implementations are slightly different. In our case, we want users to verify their regex using Ruby’s regex implementation. To do that, we need to evaluate the regex on the server side.

Off-the-Shelf Software vs Building Custom Systems: How to Choose

Leaders in various industries are embracing digital tools to improve their firms. It could be to begin digital changes, support new remote workforce models, improve customer relations, or automate processes. Fortunately, software is now more widely available than ever. The power of choice, on the other hand, might be overwhelming. Furthermore, your technological decisions can mean the difference between falling behind or staying ahead in your sector.

Medical Billing and Coding Software: Benefits and Challenges

With the average time between filing a claim and receiving payment approaching 7 weeks or more, the demand for cost-effective and efficient medical billing solutions is unsurprising.

Benefits and Drawbacks of Custom CRM Software

Customer relationship management is critical in any firm. This is what enables entrepreneurs to facilitate interactions that ultimately convert leads into paying consumers. The processes involved in CRM efforts, on the other hand, can be rather tedious.

Designing a regex test feature with Stimulus

We’re building an app that requires users to input a regex. We’d like to build a feature that gives users the ability to test their regex, before saving. The feature will work a lot like Rubular. Users will be able to test their regex against various strings.

Rails 5 -> 6 Upgrade: ES6 Uglifier bug

During a recent Rails 5 -> 6 upgrade we encountered an ES6 bug. Here’s the error message:

Rails 5 -> 6 Upgrade: SQLite boolean query bug

Rails 5 uses 't' and 'f' to represent booleans, in SQLite databases, because there is no native boolean support. In Rails 6, the behaviour changed to represent booleans as 1 or 0.

Native vs Cross-platform App Development: How to Pick

There are 4.4 million apps available on both the Appstore and Google Play, aimed at the world’s 14 billion mobile phones. If you want to create a mobile app, one of the most crucial decisions you must make is whether to use native or cross-platform mobile development.

MVP for Startups: Why You Need It During Custom Software Development

When you’re scrolling through your favorite mobile apps on your phone or browsing through your favorite website, it’s easy to forget that many of them started the same way… with a simple idea that evolved over time.

Rails 5 -> 6 Upgrade: Fixing subdomain issues

During the process of upgrading a Rails 5 staging app to Rails 6, we encountered a few errors, caused by running on a subdomain. The homepage rendered correctly, however, the Omniauth sign in button caused an error.