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 (…) Source: https://en.wikipedia.org/wiki/General_Data_Protection_Regulation The regulation consists of 99 articles which describe our (as individuals) rights in regards to collecting our data and the obligations of organisations which collect that information. Due to Read more…

Read more...
 

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...
 

Ruby `allocate` method

TIL that Ruby, or to be more precise `Class` class, offers `allocate` public instance method.

Read more...