In NetResults puntiamo a grandi risultati e lo possiamo fare solo migliorando insieme. Ogni mese condividiamo saperi e conoscenze, perché le idee del nostro gruppo sono importanti. Lo spunto per i vari appuntamenti dei Nerd talks può venire direttamente dalle proposte di ognuno dei componenti dello staff dell’R&D oppure essere il risultato di un sondaggio all’interno del nostro tech-team su possibili argomenti di interesse.

Codeception: Performance agnostic test - Tommaso Capiferri

Tommaso Capiferri esordisce come speaker al NerdTalk raccontandoci le problematiche del testing end-to-end di interfacce web. Nello specifico evidenzia i problemi legati alle performance dei server che eseguono i test e come questo possa influenzare l'esecuzione dei test stessi, producendo dei falsi negativi. Una volta delineato il problema Tommaso ha spiegato come, nel caso del framework Codeception, il problema sia stato affrontato e risolto sviluppando delle classi di helper che aiutano nella creazione di opportuni sync-point.

 

 

 

 

 

GIT rebase -interactive- Giuseppe Sucameli

Giuseppe Sucameli riprende le tematiche trattate nel vol.5 dei NeRd Talks riguardo GIT e la funzione di rebase.
In questo opprofondimento ci illustra il funzionamento del rebase interattivo spiegandone l'utilità e mostrando il suo funzionamento con una utile e chiara demo live.
 

 

 

 

 

TeamCity & Artifactory - Francesco Lamonica

Francesco Lamonica introduce i nuovi tool di CI (Continuous Integration) TeamCity ed Artifactory che andranno a sostituire l'attuale strumento in uso, cioè Buildbot.

Veloce panoramica sul setup di un build automatico e principali funzionalità, seguita da una demo live.

 

 

 

RabbitMQ - Andrea Tamburrino

Andrea Tamburrino racconta cosa sono i broker di messaggi e dopo una introduzione ai concetti piu' generali entra nel dettaglio di RabbitMQ e di come è stato introdotto all'interno della soluzione KalliopePBX, per la gestione di alcuni dei flussi informativi tra i moduli della centrale telefonica di NetResults.

 

 

 

Nerditudini varie - Sergio Borghese

Nel primo Nerd Talks svoltosi interamente in remoto a causa del COVID19, Sergio Borghese mantiene il tema "light" parlando di strumenti di lavoro da Nerd, che tuttavia possono rilevarsi in alcuni casi dei productivity boooster se abbracciati ed usati correttamente.

In dettaglio si è parlato di Tiled Window Manager i3m, del launcher dmenu e del browser interamente testuale w3m, in ricordo dei bei tempi andati in cui navigavamo internet con i modem!

 

 

Implementing Data Stream Processing applications with the WindFlow library - Alessandra Fais 

Con la presentazione "Implementing Data Stream Processing applications with the WindFlow library" Alessandra ha descritto parte del proprio lavoro di tesi introducendo i concetti alla base delle applicazioni di tipo stream processing, per poi concentrarsi su come questo tipo di applicazioni possono essere implementate utilizzando la libreria C++ WindFlow, sviluppata nel Dipartimento di Informatica dell'Universita' di Pisa. Un talk "denso" ma di grande interesse.

GIT Merge VS GIT Rebase - Giuseppe Sucameli

Giuseppe Sucameli incentra il suo talk su un tema temuto da qualsiasi sviluppatore: il merge dei sorgenti.
Durante il talk Giuseppe ha spiegato in modo chiaro, con l'ausilio di numerosi esempi pratici, le principali differenze tra i processi di merge e rebase tramite git evidenziando pregi e difetti di entrambe le soluzioni.

 

 

Dependency Injection - Marco Ciprietti

Marco Ciprietti spiega la teoria dietro il design pattern noto come dependency injection, evidenziandone i vantaggi in termini di scrittura di codice piu' pulito e semplicità nel testing.

I concetti esposti sono poi stati ottimamente esemplificati usando il framework symfony.

 

Handling C++ Dependencies - Francesco Lamonica

Francesco Lamonica racconta le problematiche della gestione delle dipendenze, sia binarie che in forma di codice sorgente, per progetti C++ complessi.

Dopo una veloce panoramica delle soluzioni esistenti sul mercato ha presentato nel dettaglio la soluzione sviluppata in-house da Netresults, denominata depsjson.

BuildingBlock Series: LibAriadne - Sergio Borghese

Sergio Borghese racconta uno dei building block costruito dal Team ATENA: libAriadne. La libreria C++ basata sul framework Qt permette di creare e gestire in modo semplice dei tunnel SSH, permettendo di risolvere in modo semplice ed elegante molti dei tipici problemi di connessione tra sistemi, in scenari in cui è presente un NAT. Il nome di origine mitologica fa riferimento alla leggenda del filo di Arianna, che permise a Teseo di uscire dal labirinto di Creta

Reflection - Stefano Aru

Stefano Aru ha avuto l'onere e l'onore di inaugurare il nuovo appuntamento mensile per R&D di NetResults parlandoci della reflection nei linguaggi di programmazione, con particolare attenzione al suo uso in C++ con le librerie Qt. Si tratta di una tecnica avanzata ma estremamente potente che permette, tra le altre cose, di semplificare il codice che fa multiplexing, nonché di accedere al complesso modo della meta-programmazione