Don't miss any new articles and instead receive them in your inbox as soon as they become available.
So you're the manager. Boohoo, what a ride! Probably nobody told you managing is easy, yet.
Don't miss any new articles and instead receive them in your inbox as soon as they become available.
A series of articles focusing on the common problems caused by improperly managed teams.
Learn how to detect toxic situations, deal with them, and her your team with this curated topic of articles.
So you're the manager. Boohoo, what a ride! Probably nobody told you managing is easy, yet.
"Flattery gets you nowhere, but certainly opens many doors."
Ruby on Rails is just a very fancy and enjoyable HTML generator, so you can assume it's stateless by default.
We have experience with both — do microservices only when you have dedicated teams for each of them, and they have a clear separation of data, responsibilities, and stacks.
As a self-made convention we recommend a following signature of the cache (key):
Start with basic responsive HTML and then move to RJS (the JS response rendered on the server) — too many people jump on the hype wagon of React and Vue only to end up hating on rails later once they limited its usefulness enough to use the amazing built-in features.
Having NULL values in the database can be a little bit tricky for string columns — for simple queries like .where(name: "Frank"), a NULL value acts as an empty string. The problem comes when using the NOT predicate: empty columns are then ignored, even though they might match a query like .where.not(name: "Frank")
Imagine that you want to have some objects that are soft deleted, some clean-up provided data, and some return calculated properties like total price with tax, etc. They share identical functionality, and sometimes it's easier to have the specific logic built-in — for that we have concerns!
Organizing a large and busy application is a non-trivial task. Over the years we started applying the following strategies:
ActionCable is a PubSub implementation for Ruby on Rails — it allows asynchronous communication (a'la chat) between the backend and the front-end in the end-user's browser.