dijous, 4 de novembre del 2021

Mapatge d'objectes relacional

Em desperto amb mal a tot el cos i desitjant seguir dormint diverses hores més és una frase que vaig escriure fa uns dies mentre recordava un somni macabre on un seguit de persones vestides amb jaquetes de cuir negre tallava els caps a uns de delinqüents. La manera de tallar els caps, el qual no tinc cap certesa de si és viable o no, era utilitzant dues espases afilades com si fossin estisores. Tot això ocorria dins del metro. Jo m'ho mirava horroritzat, incapaç de creure que aquella matança estava passant. Tenia clar que els delinqüents mereixien un càstig, però no de tal magnitud. Per què desitjava dormir diverses hores més si al món real em trobo lluny de tota violència? Perquè tenia son, suposo. En qualsevol cas, avui havia vingut a explicar la raó principal de la meva absència, una excusa que no crec que interessi al lector, però a mi m'és ben igual.

Aquests dies he estat treballant en la migració d'una aplicació programada en Python cap a PHP. No entraré en el terrible sacrilegi, molt pitjor que les execucions somiades en un metro, però la causa d'aquesta migració és l'estalvi econòmic. L'aplicació, molt tradicional, es fonamenta amb les dades desades en una base de dades relacional. Per tal de tenir el codi ben ordenat vaig separar-lo en diverses parts, la capa de model amb els seus serveis que parlen amb la base de dades, la capa de la vista que, com que és una aplicació tipus REST, està feta de fitxers anomenats objectes de transferència de dades i la capa de control que es dedica a demanar i gestionar les dades. El punt clau de l'aplicació era que l'accés a la base de dades fos ben ràpid i volia que fos una eina senzilla, ràpida i integrable amb qualsevol motor (de base de dades). Seguint els principis de "deixa que la resta faci la teva feina" vaig buscar alguna eina per la xarxa i en vaig trobar forces, però la majoria o eren lentes, o consumien en excés memòria o processador, o bé eren massa específiques i no permetien gaire llibertat. O sigui que m'ho vaig fer jo mateix i ara tinc una aplicació muntada en un servidor minúscul que va tan de pressa que he hagut de mirar diverses vegades si no m'he equivocat i tinc un servidor d'altes prestacions. Potser algun dia faré públic al GitHub aquest sistema de mapatge d'objectes relacional.

4 comentaris:

NoName ha dit...

Per part meva em trobo sovint amb les ganes de seguir dormint però per raons de feina inexplicable m'he d'extreure del llit i perdre temps a un món real d'allò més ensopit. Generalment, als meus somnis hi ha coses bastant més dolentes que fer justícia bruta al metro, però no m'importa gaire i segueixo tenint la necessitat de seguir dormint.

Pel que fa al PHP, flipo amb això que acabo de llegir, i encara més amb la frase que em va aparèixer com a "Per tal de tenir el codi ben ordenat vaig separar-lo en divendres parts", i amb el fet de creure capaç al Peix mateix produir això de divendres parts - evidentment per això necessitava ser Jo, qui altre?!

Si poses cap cosa al GitHub recorda documentar el punyeter codi o allí es podrirà sense que hi hagi ningú que vulgui utilitzar-lo. N'hi ha tanta gent xunga que puja codi que ningú sap què fa a la xarxa, com si algú en tinguès 'code reading' com a hobby!

Peix ha dit...

Has pensat a provar les drogues? Permeten viure al món real d’una manera diferent del que coneixem normalment. No et passis tampoc, ja que trenquen força l’equilibri.

Els divendres mai separo codi, és massa arriscat trobar-se el dilluns amb tot de codi desconegut per les inclemències del cap de setmana que no han deixat assimilar el divendres com cal.

El codi sempre ha de ser autoexplicatiu encara que això és una gran utopia, però faig com si ja hi fos. Si documento alguna cosa és com utilitzar el codi, si algú vol mirar les entranyes i entendre com va, l’animo a llegir literatura codificada que és molt divertit. Un cop vaig anar a una xerrada del gurú Richard Stallman i va dir que si volíem ser bons programadors, calia que ens passéssim el dia llegint codi. Tot un personatge.

NoName ha dit...

Jo, drogues??? Quina necessitat en tindria?! El meu cervell ja em permet viure el món real d'una manera molt diferent a la que coneixes normalment, hahaha! Els que preneu drogues sou uns ensopits. Pffff

Fas bé no separant els divendres codi.

El codi autoexplicatiu és una útopia, deus portar molt poc temps a la xarxa: hi ha més codi autoexplicatiu no documentat que plàstic al mar, i ningú mai es pensa que el podría fer servir. Ja em mostraràs els profes que es passen el dia llegint codi, per no dir res dels becaris i els ajudants que han de corregir els treballs dels estudiants i tal. Tot un panorama que tothom intenta oblidar.

Peix ha dit...

M'estàs dient que tens això del Carles Bonet? També és cert que el cervell d'un peix és força diferent del vostre, dels humans.

Amb un bon IDE, un codi ben estructurat i amb unes regles de naming bàsic la utopia és factible. Però clar, quan hi passen moltes mans i també el temps (amb les seves migracions, canvis de criteri, moments d'estrés per acabar allò vital que ningú després utilitza (és a dir, mala gestió)) el codi esdevé bastant merdós. El codi dels estudiants o programadors júniors acostuma a ser una porqueria.

Creative Commons License