Acabo d’arribar d’un concert que s’ha fet a l’església del poble on visc. És una església petita, però amb molt bona acústica. Realment m’ha deixat sense paraules la potència de la veu i de l’oboè: sense cap mena d’amplificador, les seves melodies arribaven a tots els racons. Això em fa pensar en la importància de gaudir d’experiències sense tecnologia, fins i tot en una newsletter com aquesta, dedicada a la tecnologia.
A nivell tècnic, aquesta setmana m’he sorprès amb l’ecosistema que hem creat per al desenvolupament frontend. He creat un nou component que ha funcionat exactament com m’esperava, i això ha estat possible gràcies a la solidesa de la base existent. És una gran satisfacció veure com una feina ben feta facilita la implementació de noves funcionalitats.
Començo amb algunes recomanacions,
💾 Programari
Atuin.sh: Sincronitza, busca i fes còpies de seguretat de l’historial de la shell en un servidor centralitzat que pots autoallotjar.
🤔 Curiositats
Un recull de totes les pel·lícules on es veu una execució d’un nmap. Un petit homenatge a aquesta icona de la línia de comandaments al món del cinema.
📦 Recursos
Un article de l’Armin Ronacher, creador de Flask, que compara threads i async/await, destacant els threads com una alternativa més senzilla i intuïtiva en casos de concurrència moderada, evitant la complexitat del model async/await.
🌟 El concepte
Continuant amb la sèrie sobre SOLID, en el número anterior vam parlar de la “S” i avui toca la “O”.
La "O" de SOLID correspon al Principi de obert/tancat (Open/Closed Principle), un dels pilars fonamentals del disseny de programari orientat a objectes. Aquest principi ens diu que les classes, mòduls o funcions haurien d'estar obertes per a l'extensió, però tancades per a la modificació. Però, què significa exactament això?
En essència, implica que hauríem de ser capaços d'afegir noves funcionalitats al nostre programari sense haver de modificar el codi existent. Això es pot aconseguir utilitzant tècniques com la herència, interfícies o polimorfisme.
Un exemple senzill seria un sistema de notificacions. Imagina't que tenim una classe base per enviar notificacions i diferents subclasses per a notificacions per correu electrònic, SMS o push. Si necessitem afegir un nou tipus de notificació, com ara WhatsApp, només hem de crear una nova subclasse sense tocar el codi existent. Això redueix el risc d'introduir errors i facilita l'evolució del sistema.
Al pròxim número parlarem de la "L" de SOLID, el Principi de substitució de Liskov (Liskov Substitution Principle), que ens ajudarà a entendre com crear jerarquies de classes més robustes i flexibles.
💖 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ó.