Refactoring dei D Koans con la metaprogrammazione

💡 Il problema Benvenuti di nuovo! È passato un bel po’ di tempo dalle mie ultime divagazioni sul linguaggio di programmazione D (Dlang)! Questo post nasce da una necessità. Un mio vecchio progetto, i D Koans, utilizzava una libreria esterna per semplificare gli unit test, che costituiscono più o meno il cuore dell’intero progetto. Sfortunatamente, la libreria ha iniziato a mostrare alcuni avvisi di deprecazione (deprecation warnings) quando compilata con le versioni recenti di D. ...

21 maggio 2025 · Andrea Manzini

Quanto codice stai testando? (2)

▶️ Introduzione Nel post precedente abbiamo iniziato il nostro viaggio con uno scenario molto semplice, e abbiamo utilizzato una comoda funzionalità del linguaggio di programmazione Go per misurare quale percentuale del programma target viene esercitata dal nostro test. Questa volta sperimenterò una Proof of Concept su come ottenere una stima della metrica di copertura del codice di test per un normale programma binario, senza alcuna ricompilazione. In questo esempio faremo finta che il nostro compito sia scrivere test di integrazione per il famoso programma gzip, e cercheremo di misurare i progressi che stiamo facendo riguardo alla copertura dei nostri test. ...

30 marzo 2025 · Andrea Manzini

Quanto codice stai testando? (1)

☂️ Introduzione Quando il vostro codice include una suite di unit test, la copertura del codice (code coverage) è una metrica importante per misurare l’efficacia dei test ed è piuttosto facile da ottenere; ci sono moltissimi strumenti in circolazione. Crediti immagine: Nataliya Vaitkevich D’altra parte, spesso abbiamo anche bisogno di eseguire test di integrazione o E2E (end-to-end), poiché nei nostri flussi di QA eseguiamo principalmente applicazioni reali piuttosto che singole funzioni isolate. ...

23 febbraio 2025 · Andrea Manzini

Spiegazione della Socket Activation di systemd

💭 Di cosa si tratta? Immaginate un server web che si avvia solo quando qualcuno tenta effettivamente di accedervi. O un database che si attiva solo quando arriva una query: questa è la magia della socket activation (attivazione tramite socket). Il concetto non è nuovo, poiché gli amministratori di sistema di vecchia scuola ricorderanno l’uso in passato di strumenti come inetd o xinetd per l’attivazione dei servizi su richiesta (on-demand). Poiché alcuni progetti interessanti come cockpit hanno già iniziato a utilizzare questa funzionalità poco conosciuta, in questo blog post vedremo le basi e cercheremo di familiarizzare con gli strumenti. ...

2 febbraio 2025 · Andrea Manzini

This site does not use cookies or collect any personal data. © 2026 Andrea Manzini.