Idiomes disponibles:

Fiber: Rendiment per sobre de la puresa “idiomàtica”

Ja sento als puristes de Go afilant les seves forques. “Utilitza la llibreria estàndard”, canten. “Els frameworks són un anti-pattern”, criden.

No m’importa.

No estic utilitzant Fiber perquè sigui mandrós. No l’utilitzo perquè s’assembli a Express.js. L’utilitzo perquè tinc una addicció patològica a la velocitat, i net/http, que Déu el beneeixi pel seu cor segur i compatible, és simplement massa educat per a la violència que vull infligir a la meva CPU.

Read More

Contract First o Morir en el Intento: La Única Forma Sensata de Diseñar APIs

Necessito descarregar alguna cosa del pit. Alguna cosa que ha estat festerant a la meva ànima des de la primera vegada que em vaig unir a un projecte a mitjan desenvolupament i vaig fer la pregunta fatídica: “On està la documentació de l’API?”

La resposta, invariablement, era una de les següents:

  1. “Mira la col·lecció de Postman.” (Traducció: un cementiri de 200 peticions, la meitat de les quals estan desactualitzades, anomenades coses com GET users FINAL v2 (còpia))
  2. “Simplement mira el codi.” (Traducció: reverse-engineer la nostra espagueti i bona sort)
  3. “La documentarem més tard.” (Traducció: mai la documentarem)

Ho Deixo!

Read More

La mort del JSON al Backend: Per què vaig migrar tota la meva pila a gRPC i Protobuf

Començaré aquest post amb una confessió que em pot guanyar alguns enemics: odio el JSON.

No és un odi irracional, d’aquells que apareixen de la nit al dia. És un odi construït, maó a maó, al llarg d’anys depurant càrregues útils mal formades, camps que haurien de ser números però que arribaven com a cadenes de text, i aquell clàssic null on esperaves un array buit. El JSON és l’equivalent digital d’una conversa telefònica amb la teva àvia: creus que has entès el que ha dit, però quan hi arribes, el pastís de pastanaga no tenia aquella glaçada de xocolata esperada (els brasilers ho entendran).

Read More

El Kobayashi Maru de Java: Gestió Global d’Excepcions

Per aquells que es van saltar les classes de l’Acadèmia de la Flota Estel·lar, el Kobayashi Maru és un exercici d’entrenament dissenyat com un “escenari sense victòria”. L’objectiu no és guanyar, sinó veure com gestiones un fracàs inevitable. En el món de l’Enginyeria de Backend, el nostre escenari sense victòria és la Excepció No Controlada.

Passes setmanes arquitecturant un servei bonic i net. Utilitzes Records, optimitzes les teves consultes SQL, apliques principis SOLID. I després, el dia de posar-lo en producció, un usuari envia un JSON mal format, i la teva API vomita un Stack Trace de 50 línies directament a la seva consola del navegador. És lleig, és poc professional i exposa la teva lògica interna al món.

Read More

Fitxers de Longitud Fixa amb Spring Batch 6.0: La “Alegria” de les Dades Legacy

Si ets un desenvolupador que ha gestionat processament de nòmines o conciliació bancària/financera en una empresa que utilitza Spring, segurament has treballat amb Spring Batch. Confesso que no en sóc un gran fan; té aquella verbositat i sobrecàrrega característica de l’ecosistema Java, fent que fins i tot la feina més simple sembli que requereix molt més estructura de la necessària. Però de què serveix queixar-se? La tecnologia que utilitza la teva empresa és el que assegura la teva supervivència (habitatge, menjar, roba). Així que, queixar-se no és el tema d’avui.

Read More