Vermutech #76
Comença el desembre, i això vol dir que arrenca l’Advent of Code. Si no el coneixes, és com un calendari d’advent però en lloc de xocolatines, cada dia cal resoldre un problema fent servir programació. És molt útil per aprendre un llenguatge nou o provar metodologies diferents.
Malauradament, aquest any sembla que no hi podré dedicar temps, o almenys fins a dia d’avui no ho he fet.
Aquesta setmana estem acabant d’integrar funcionalitats bastant core al nostre ERP de GISCE. D’una banda, hem afegit el mètode genèric upsert al nostre ORM, aprofitant els ON CONFLICT de PostgreSQL. De l’altra, hem implementat un sistema de comunicació amb fils de conversa, comentaris i mencions a qualsevol registre del sistema.
Començo amb algunes recomanacions,
💾 Programari
PostgreSQL al VSCode: Els de Microsoft han fet una extensió per a VSCode que permet desenvolupar amb PostgreSQL, integració amb Copilot inclosa… molt completa!
🤔 Curiositats
Lazy Tetris: El Tetris de tota la vida, però amb tota la calma del món: tria tu quan baixa el bloc, gira’l tantes vegades com vulguis i fins i tot desfés els moviments que has fet.
📦 Recursos
PgLocks: Una pàgina que mostra tots els locks que existeixen a PostgreSQL i quines comandes els provoquen. Molt útil per entendre què implica realment una consulta.
📊 Enquesta
La majoria de respostes de l’última enquesta indiquen que l’accessibilitat encara és una assignatura pendent: un 67% ha dit que no la té present però li agradaria aprendre’n més. També hi ha un 17% que sí que l’incorpora des de l’inici, i un altre 17% que mai se l’havia plantejat. Un bon punt de partida per seguir-hi aprofundint.
Aquesta setmana, canviem de registre amb una pregunta més lleugera...
🌟 El concepte
Hi ha coses que passen als nostres programes mentre no hi pensem. Una d’elles és la neteja de memòria: allò que hem utilitzat i ja no cal, s’hauria de poder eliminar perquè no ocupi espai ni molesti. Però, qui ho fa?
El garbage collector és un mecanisme automàtic que s’encarrega d’això. Detecta quins objectes o dades han quedat “orfes” (no tenen cap referència activa) i els esborra per alliberar memòria. És com un servei de neteja intern, que funciona de fons.
No tots els llenguatges de programació el fan servir. En entorns com JavaScript, Python o Java sí que hi és; en altres com C o C++, cal gestionar-ho a mà. I aquí comencen els drames: fuites de memòria, acumulacions, rendiments que baixen perquè el sistema va carregat.
La part interessant és que el garbage collector és útil, però també pot jugar en contra: si s’activa en mal moment, pot frenar un procés. Si no està ben optimitzat, pot ignorar parts de la memòria que caldria netejar. Com tota màgia automàtica, té avantatges i riscos.
No tots els llenguatges opten per un garbage collector. Rust, per exemple, segueix una altra filosofia: evita la neteja automàtica amb un sistema de propietat que assegura, en temps de compilació, que la memòria es gestiona correctament. Més control, menys màgia... però amb una corba d’aprenentatge una mica més dura.
Pensar en el garbage collector és una bona excusa per recordar que, fins i tot al món digital, res s’endreça sol del tot. Només sembla que sí.
🎛️ Mod
Aquesta edició l’he escrita escoltant Belle and Sebastian. La cançó que més ha sonat és Get Me Away from Here, I’m Dying, suau, melòdica i ideal per escriure sense presses.
💖 Feedback
Si t’ha agradat i em vols ajudar, fes arribar aquest contingut a qui creguis que li pot interessar, i entra al canal de Telegram per comentar la publicació.



Mola, no coneixia PgLocks 👏🏼 ty!!