Sicurezza, password salvate e Google

youhavebeenpawned! ( https://haveibeenpwned.com/ ) Google fortunatamente non sta a guardare, ma non può agire per noi. Fare click sull’avatar (in alto a destra) per gestire l’account Dove si atterra: Notare un segnale di allarme per problemi di sicurezza (esclamativo rosso): Vai a controllo password Password salvate compromesse Cambia ogni password compromessa Signin per ogni account […]

Read More…

I stopped the data flow – on React best practices

Reading the interesting article from Dan Abramov:https://overreacted.io/writing-resilient-components/ I stopped at memoization. I did not know this technic before, but simply because nobody care so much about names before functional programming. And so I discovered how large is the cover of react hooks, useMemo() that does https://github.com/alexreardon/memoize-one In a cleaner way with the hook, in my […]

Read More…

Docker in a Docker

Running a docker container from inside a docker container, I mean. Of course one can define an image that instanciate a container as its default command, and this would lead to an infinite loop of forks … let’s see The infinite containment docker run -v /var/run/docker.sock:/var/run/docker.sock -name whocare alwaysfork Ok, that is bad and I […]

Read More…

A matter of elegance

I need some moment to fully understand this: const compose = ( …fns ) => fns.reduce( ( f, g ) => ( …args ) => f( g( …args ) ) ); reduce method is trickly: when initialValue is not given, the first element of the array is taken as first argument of reduce’s callback parameter, […]

Read More…

Lo sporco lavoro del CI/CD e DevOps

Ora racconto una storia. Beh, la faccio breve, si è fatta una certa.   Da quando c’è bisogno di rilasciare il software in tempo reale sono stati scritti diversi software di supporto per fare lo sporco lavoro di: eseguire test, impacchettare, distribuire i pacchetti nei vari server di destinazioni. Uno di questi è Jenkins, scritto in […]

Read More…