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.

The Return of the Building Blocks - Sergio Borghese

Torna la serie dei building blocks! Sergio Borghese ci parla di tre Building Block della libreria di utility di NetResults. Nello specifico vedremo le classi:
- CachedVar
- TimeCachedVar
- ProcessSingleton
illustrandone i principali elementi di design e casi d'uso

 

Scarica la presentazione

 

 

 

 

 

Qt5 Plugins - Stefano Aru

Stefano Aru, che è stato il primo speaker dell'evento, festeggia con il tech team di NetResults il primo anno di NeRd Talks parlando di plug-in nel software. Dopo una introduzione generale sul tema si entra nel dettaglio di come tali meccaniche software siano implementate all'interno del framework Qt5, quali sono i vantaggio e gli svantaggi del loro uso. Completa la presentazione uno use case reale in cui Stefano mostra come il team ATENA ha scomposto il codice del BOT che era originariamento monolitico.

 

Scarica la presentazione

 

 

 

 

 

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.

 

Scarica la presentazione

 

 

 

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.
 

Scarica la presentazione

 
 
 

 

 

 

 

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.

 

Scarica la presentazione

 

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!

 

Scarica la presentazione

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.

 

Scarica la presentazione

 

 

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.

 

Scarica la presentazione

 

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.

 

Scarica la presentazione

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.

 

Scarica la presentazione

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

 

Scarica la presentazione