To Microservice or Monolith, that is the question...
Whether 'tis nobler in the mind to suffer
The pains and troubles of hosting and maintaining,
Or to take arms against a sea of troubles
And by opposing the split of services, end them.
This technique can also be used in Ruby. The scoping rules of Ruby are such that when a lambda is defined, that lambda also has access to all the variables that are in scope.
There are many databases out there but most web applications developed using an open-source web framework use either PostgreSQL or MySQL. I've been asked by many clients over the years why they should use PostgreSQL over MySQL for their Ruby on Rails application.
Here at reinteractive we prefer PostgreSQL. While they both have merits, we use PostgreSQL for the following reasons:
A popular and effective way of developing a complex application in a team setting is to make use of git feature branches and submitting a pull request to be merged into the develop branch. Sometimes, though, the pull request can become quite large. This may result in a lengthy wait to get your pull request reviewed, bugs being overlooked, and merge conflicts.
These difficulties can be helped by shrinking your pull requests using the following two strategies:
Grids are an effective way of getting all the components in your website into the right spot. It allows you to put things into columns and get them to line up nicely.
If you don't have grids, your website is going to look something like this:
Our ability to communicate over many different channels and distances has changed the landscape of how we work and socialise. When I was a kid we were unreachable until we got home near a landline. Now we have a myriad of ways of staying in touch. While this has annoying, distracting downsides, it opens up a new world for companies to engage in remote work solutions.
I started reinteractive as a 100% remote software development company. While not all businesses are suited to this model, I find that many software developers enjoy remote work.
'Don’t judge a book by its cover' is a well-known cliché. And, while I agree completely with the principle, I’m the first to admit I’m guilty of it just the same. Today, more than ever, users are inclined to purchase based on packaging or advertising where contents may be identical or similar.
Developing Ruby on Rails applications in large teams can be frustrating when team members use different operative systems, languages, timezones, etc.
Docker is a great tool in these situations because it synchronises your team with the same setup for everyone collaborating on your project. That's fantastic!
Active record makes it easy to write simple queries anywhere in your application. The key phrase here is anywhere in your application: When database queries are scattered throughout your application, simple database changes may require modifications to your controllers, your views, helpers, mailers, etc.
ActiveRecord provides you with
scopewhich allows you to hide the details of your schema so that database changes don't affect the entire application.
Stripe has a great API to manage subscription payments. Here we take advantage of it to implement recurring subscriptions in Rails 5.
Using the Stripe API means we do not have to store sensitive customer information like (credit card number or CVC), and the APIs are already set up to handle complex cases such as update plans, manage subscriptions, trigger refunds, and more.