Aquesta setmana continuo avançant amb una idea relacionada amb el nostre frontal, on veig clarament que cal començar a separar les dades de la forma d’interactuar-hi. També reflexiono sobre com podem dissenyar components d’interfície d’usuari que facin més fàcil manipular aquestes dades.
Estem intentant organitzar una trobada de Python Girona per aquest mes de novembre. La xerrada que teníem prevista ens ha fallat, però estem pensant de fer una sessió més informal, potser amb lightning talks, espais de networking obert, etc. Si tens alguna cosa a explicar, posa’t en contacte amb mi per correu o Telegram!
Començo amb algunes recomanacions,
💾 Programari
Vols enviar notificacions PUSH al teu mòbil? Amb ntfy ho podràs fer fàcilment. A més, si vols, te’l podràs autoallotjar i és software lliure. Una solució senzilla i potent!
🤔 Curiositats
Mai deixarem de sorprendre’ns amb els llocs on es pot córrer el Doom. L’última sorpresa? Un Doom integrat dins d’un fitxer SVG.
📦 Recursos
Vols mostrar unes dades però no saps quina gràfica és la més adequada? Aquesta pàgina t’ajuda a trobar el tipus de gràfica perfecte segons la informació que vols transmetre. Una guia molt útil per a persones que treballen amb dades.
🌟 El concepte
Aquesta setmana em centro en un tema que sovint genera debat en els equips de desenvolupament: el monorepo. Si mai has sentit parlar d’aquesta estratègia, es tracta de tenir tot el codi d'una organització o projecte dins d’un únic repositori. És una pràctica que pot semblar ideal per mantenir coherència i facilitar la col·laboració, però també porta reptes significatius.
A GISCE-TI, tenim una barreja: un projecte clau que funciona com a monorepo i molts altres que són repositoris independents. Això ens dona l’oportunitat de viure els avantatges i els inconvenients de totes dues opcions. Aquesta experiència ens ha fet entendre que no hi ha una única solució perfecta, sinó que tot depèn del context i les necessitats específiques de cada projecte.
Avantatges d'un monorepo
Reutilització de codi: Facilita compartir i reutilitzar components entre diferents projectes.
Consistència: Permet establir estàndards comuns, com versions de dependències, eines o configuracions.
Visibilitat global: És més fàcil entendre com els projectes estan connectats i com canvis en una part del codi afecten la resta.
Inconvenients d'un monorepo
Complexitat tècnica: Requereix eines i infraestructura avançada, sobretot si es tracta d’un repositori molt gran.
Escala humana: Quan desenes o centenars de persones treballen alhora en el mateix repositori, la gestió de pull-requests, commits i revisions de codi pot ser aclaparadora. El risc de conflictes creix de forma exponencial.
Conflictes de codi: És més freqüent trobar conflictes al moment de fusionar branques, especialment si els equips treballen en funcionalitats que comparteixen fitxers o estructures similars.
Temps de compilació i proves: Pot ser llarg i consumir molts recursos.
Si tens curiositat per conèixer com altres equips han gestionat el pas a un monorepo, et recomano llegir l’article de Ente sobre la seva experiència amb aquest canvi. Parlen tant dels avantatges com dels reptes que van trobar pel camí: Monorepo Retrospective.
El concepte de monorepo és només una part de la història. La setmana vinent parlarem de la cara oposada: els multirepos. Explorarem com funcionen, per a quins escenaris són ideals i els reptes que poden comportar. No t’ho perdis!
💖 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ó.