PostgreSQL JSONB columns are quite handy, there many times that I use them actually. I usually employ JSONB for (meta)data that even if they get lost, we are fine, we just need to do more manual work.
Long time no see! This time I would like to write about a library I was working about a couple years ago, a serializers library in Ruby. I have actually finished it about a year ago and I always wanted to create this blog post but last year has been super busy for me so never got the chance to present it properly :)
Yesterday my mum asked for my help regarding “something was changed in Dropbox and I can’t delete my photos”. You see my mum and my dad are over their 60s and didn’t grow up with computers. And that makes a huge difference. They don’t really understand what a folder is and what is its relation related to other folders (the filesystem structure, that is), they haven’t linked the notion of common UI elements (like a checkbox) with their actual function. They just memorize things, and rarely do they...
I just saw this post (RESTful APIs, the big lie) and I am wondering if developers understand what REST is before denouncing it. Even worse, people are agreeing in that post’s comments and if you go to hackernews or reddit discussion about this blog post you will see that most people are confused on what REST is, which sometimes wrongly leads to the assumption that REST is bad.
REST is all about evolvability by applying a uniform interface in your implementation.
If you do have evolvability in...
With the latest updates from the unethical moves of Kite, something that I had been thinking about for a long time now came into my mind again: how secure is our Ruby/Rails/Sinatra/Hanami code?
We have been using so many little gems to save time from re-inventing the wheel and that has worked out great. We save time by reusing open-source projects, let alone all the advantages of using open source in our code. But if we step back and take a look from a security perspective, adding gems even for...
I have been studying REST (along with HTTP and other RFCs) extensively the past months and I liked the following quotes. Basically, REST is the only model that solves the evolvability of an API without breaking the clients.
REST, a novel architectural style for distributed hypermedia systems;
An architectural style is a coordinated set of architectural constraints that restricts the roles/features of architectural elements and the allowed relationships among those elements within any architecture...
Development in compilers has advanced so much that static typed languages have reached the same level human-friendly level as dynamic languages and type safety is coming back while dynamic languages are fading away :)
Lately I have been focusing more on safety when I develop code on dynamic languages, especially in Ruby. (I had a couple of days fun in Crystal and it feels like a minefield when working with Ruby again or any other dynamic language)
One of the usual things I do is, in order to...
Service objects was a big thing a couple years ago in Rails community, like everyone
just learned about the single responsibility principle.
In any case, personally I couldn’t find a Service Object pattern that I was happy with,
neither from my brain nor from the Internetzz.
Lately I have been using something that I can say it’s good enough.
I call it PerformerService
, meaning that it’s for service objects that should
have a simple method, called perform
.
First I define and include the following...
It feels like Rails’ makes things hard when working with models that are not AR-related, which sees to be the case lately as we are integrating more and more external services.
Sometimes you have a class, say User
, that defines some methods like
first_name
, last_name
etc. and you use an object of that class in forms in your
Rails app.
Now imagine that in a specific form you also need to render a couple more inputs, related to the user object BUT you don’t want to define those methods in your...
I have been using lately this nitty gritty pattern mostly inspired by Ember’s with template helper. If you have an object (usually in your .erb template) which has a long diameter it becomes a bit problematic when you have to repeat it again and again.
For instance (imagine these in one line with some HTML):
<%= @presenter.unit.department.name %>
<%= @presenter.unit.department.year %>
<%= @presenter.unit.department.faculty.count %>
What you can do is to assign a variable in the template and...
Page 1 of 2 older posts →