Without a doubt, Sidekiq is one of the most popular Ruby gems. Next to Shoryuken and Resque its main purpose is processing background jobs. Almost every Ruby application I have worked with had sidekiq listed in its Gemfile. In this article, I would like to share some insights that I have learned about over time Read more…
Read more...ActiveJob, GDPR and my contribution to Rails
General Data Protection Regulation (GDPR) was fully implemented in 2018.
The GDPR aims primarily to give control to individuals over their personal data (…)
Fallacies of distributed computing for Ruby developers
This morning I read “Integrated systems for integrated programmers” article by DHH. I totally agree with it, replacing a monolith by microservices won’t solve all its problems automagically.
Read more...How we migrated from Timecop to built-in Rails 5.2 time helpers
Sooner or later each of us encounters a situation where a method depends on time. The feature needs to be tested later on. Among Rubyists, the most popular gem which provides handy helpers to this problem is called `timecop`. Since Ruby on Rails 5.2 it can be replaced by built-in methods defined within the `ActiveSupport::Testing::TimeHelpers` module.
Read more...Go Modules versus Docker & private dependencies
Go Modules has been the default since Go 1.13. One of microservices I am responsible for uses Golang 1.13 currently. The oldest Go version used by the application was 1.9 and at the time, dep was the most obvious choice for dependency management.
Read more...How Ruby 2.6 allowed me to do another open source contribution
Every minor Ruby release brings some new features to the language. Few interesting articles describing Ruby 2.6.0 changelog have already been published, so describing them is not the goal of this article. However, one of them allowed me to do another open source contribution, and in my opinion, that is something worth sharing. Maybe it will inspire you to do the same.
Read more...Why don’t we validate controller parameters?
Using strong parameters in Ruby on Rails applications to allow permitted values is usually not enough. Taking care of validating allowed values to make our applications is also important to make them more secure and less error-prone. To handle the validation properly we can write custom solution(s) or use handy gems like `apipie-rails`.
Read more...Not-so-private constants in Ruby
Using constants is idiomatic for Ruby. We use them to store something meaningful (a well-suited name is very important), connected with a class that holds it. Consequently, we make our code easier to reason about, avoid duplication and, very often, more performant.
Read more...Is `Array` the only option for storing elements in Ruby?
`Array` class is one of the most commonly used Ruby class in day-to-day development. `Enumerable` module adds a comprehensive set of methods which makes playing with arrays a pleasant activity. I have just written set deliberately.
Read more...Common mistakes that cause Ruby on Rails apps outages
Everybody makes mistakes. Some of them are caught early in a deployment pipeline: during writing code, testing it locally or code review process. Unfortunately, some hide cleverly and pop up on the production environment.
Read more...