Node.js, rotta verso le massime prestazioni

In questo meetup, Gabriele Fontana, Senior Full Stack Engineer presso Beefree ci ha presentato le strategie chiave per massimizzare le prestazioni nelle applicazioni in Node.js. Partendo da una comprensione dell’architettura di Node.js, Gabriele ha analizzato i comuni colli di bottiglia che possono degradare le performance, come il blocco dell’Event Loop.


Attraverso esempi pratici e dimostrazioni live, utilizzando il framework Fastify come caso studio, sono state illustrate tecniche concrete per ottimizzare le applicazioni in Node.js.
Tra i temi trattati: l’importanza della misurazione delle performance, l’impatto positivo dell’utilizzo di JSON Schema per la validazione e la serializzazione, le strategie di caching, e l’impiego efficace dei worker threads per gestire task CPU-intensive senza compromettere la reattività del server.


L’incontro ha fornito ai partecipanti una guida pratica e concetti chiari per “navigare” le complessità di Node.js, identificare le aree critiche e implementare soluzioni che portino a significativi miglioramenti prestazionali, costruendo applicazioni server robuste, scalabili e performanti.

Le slide dell’incontro sono disponibili qui. Gabriele ha anche realizzato un repository su github https://github.com/gafreax/talk-node-performance-example dove potrete trovare gli esempi presentati durante l’incontro.

Strumenti di intelligenza artificiale per sviluppatori

Nell’ultimo incontro del 17 Aprile 2025 presso il Toolbox Coworking di Torino abbiamo parlato degli strumenti di intelligenza artificiale disponibili per gli sviluppatori.

Davide Dispenza, cofondatore di Volcanic Minds, ha introdotto l’argomento illustrando alcuni aspetti di come l’intelligenza artificiale possa aiutare il mondo della programmazione dei computer.

Dopo una breve introduzione all’argomento con la differenza tra modelli predittivi e modelli a ragionamento e sulle tecniche principali di prompt engineering, Davide ha fornito alcuni esempi con Cursor, Replit e Lovable.

L’arte di creare un buon prompt per un modello specifico può essere paragonata all’arte di programmare utilizzando un linguaggio di programmazione. L’integrazone negli IDE di sviluppo può aiutare molto la diffusione di questi strumenti di intelligenza artificiale per gli sviluppatori.
Il tema del futuro della programmazione con questi nuovi modelli di intelligenza artificiale è sicuramente attuale e una parte importante della serata è stata il confronto con tutti i partecipanti. Questi modelli “ruberanno” il lavoro ai programmatori o li renderanno più produttivi e sempre più importanti nella catena del valore dello sviluppo di un progetto software?

Qui potete scaricare le slide dell’intervento.

Automatizzare e ottimizzare una pipeline CI/CD

Lunedì 17 Giugno 2024 si è tenuto un meetup del PUG Torino con la presentazione di Daniele Barbaro sul tema dell’automazione e ottimizzazione di pipleline CI/CD su Github e GitLab.

Daniele ci ha introdotto all’argomento dell’automazione fornendo alcuni esempi con le workflow di Github Action e le pipeline di GitLab.

Qui potete trovare le slide dell’evento e il repository con gli esempi.

Le novità del PHP 7.4

Il PHP 7.4 è stato rilasciato il 28 Novembre 2019 con numerose ed importanti novità. Alcune di queste sono:

Nel meetup di Settembre 2019, Enrico Zimuel ha presentato queste novità al PHP User Group Torino. Le slide dell’evento sono riportate in questo link: https://www.zimuel.it/slides/pugtorino/php74

Programmazione asincrona in PHP

Swoole

Nell’incontro di Giugno 2018 del PUG Torino si parlerà di programmazione asincrona in PHP tramite l’utilizzo del framework Swoole.
Swoole consente di sviluppare applicazioni PHP asincrone senza la complessità legata alla programmazione non-blocking I/O o l’utilizzo di primitive POSIX come pthreads.
Verranno forniti alcuni esempi sulla creazione di microservizi in PHP senza l’utilizzo di un web server come nginx o Apache.

L’incontro verrà presentato da Enrico Zimuel, Senior Software Engineer presso Rogue Wave Software e autore del libro Sviluppare in PHP 7 edito da Tecniche Nuove.

L’evento si terrà il 20 Giugno ore 19:00 presso Toolbox Coworking, Via Agostino da Montefeltro 2, Torino

Informazioni e iscrizioni su Meetup

Docker e Kubernetes


L’incontro del PUG Torino di Febbraio 2018 su Docker e Kubernetes si è appena concluso. Il freddo non ha scoraggiato i 20 partecipanti che hanno avuto modo di apprendere le novità e qualche consiglio pratico da Dario Tranchitella che ci ha parlato di Docker e Gianluca Arbezzano che ha presentato Kubernetes facendo vedere anche qualche configurazione sui suoi progetti oltre oceano, Gianluca lavora per la società InfluxData negli States.

Qui potete trovare le slides dell’intervento su Docker e su Kubernetes.

Incontro su BlockChain e presentazione libro Sviluppare in PHP 7

Giovedì 30 Novembre alle ore 19:00 presso il Toolbox CoWorking di Torino si terrà l’incontro del PHP User Group di Torino.

Durante l’incontro ci sarà una presentazione di Walter Dal Mut sulle BlockChain e la presentazione con l’autore Enrico Zimuel del suo ultimo libro Sviluppare in PHP 7. Realizzare applicazioni web e API professionali edito da Tecniche Nuove.

Programma:

Ore 19:00 Introduzione alle BlockChain di Walter Dal Mut

In questo talk verranno introdotte le Blockchain dal punto di vista della struttura dati e degli algoritmi di verifica e convalida dei blocchi. L’obiettivo è quello di capire i possibili ambiti d’utilizzo di questa nuova struttura dati tanto discussa in rete.

Ore 19:45 Le novità di PHP 7.1 e 7.2 con la presentazione del libro “Sviluppare in PHP 7” di Enrico Zimuel

Breve presentazione delle novità del PHP 7.1 e 7.2 con la presentazione del nuovo libro di Enrico Zimuel edito da Tecniche Nuove. Al termine dell’incontro sarà possibile acquistare il libro con uno sconto del 30%.
Per maggiori informazioni sul libro è possibile consultare il sito sviluppareinphp7.it

Per partecipare all’evento è possibile registrarsi sul sito meetup.com.

HackNight su Zend Framework


Giovedì 20 Aprile, dalle 18:30 alle 21:30, si terrà una hacknight su Zend Framework al ToolBox Office di Torino.

Durante l’incontro Enrico Zimuel, core developer di Zend Framework, presenterà le varie modalità di collaborazione al progetto open source. Seguirà una sessione di hacking per cercare di risolvere qualche issue aperta sul progetto.

La partecipazione all’evento è gratuita previa registrazione su Eventbrite.

Maggiori informazioni sul sito di Torino HackNight.

PHP 7 e architetture Middleware

Durante l’ultimo incontro del PUG Torino, il 29 Aprile, si è discusso di Architetture Middleware con Walter Dal Mut e delle novità del PHP 7 con Enrico Zimuel. Walter ci ha presentato un possibile approccio alle architetture Middleware in PHP utilizzando Frankie, un micro framework di sua ideazione. Enrico ci ha parlato di alcune delle nuove funzionalità del PHP 7 che verrà rilasciato ad Ottobre 2015. E’ stata una serata molto interessante con numerose domande e stimoli tecnici che ha visto la partecipazione di più di 20 persone. Di seguito le slide degli interventi.

Architetture Middleware

PHP 7

Clicca qui per aprire le slide a tutto schermo.

Incontro Febbraio 2014 – HHVM, Phalcon e Pthreads

L’incontro di febbraio, più che un talk,  è stata una sessione collaborativa su diversi argomenti, partendo da HHVM.

Abbiamo installato su una macchina virtuale, creata con Vagrant, una Debian Wheezy, seguendo poi le istruzioni del Wiki su Github, con in parallelo la versione standard di PHP della distribuzione (“apt-get install php5”). Per velocizzare i tempi e non scriverci da zero il codice per fare benchmarking, abbiamo scaricato uno script che calcola i tempi di esecuzione di alcune funzionalità di base del linguaggio. Questi sono stati i risultati:
Schermata 2014-02-27 alle 10.09.41 Schermata 2014-02-27 alle 10.09.54
HHVM compila il codice e lo salva in un db SQLite, recuperandolo agli avvii successivi, ma dal test consecutivo fatto non sembra aver dato risultati migliori:
Schermata 2014-02-27 alle 10.41.53
Inoltre, facendo girare un’applicazione esistente è emerso che non tutte le estensioni PHP sono disponibili attualmente. Non abbiamo indagato ulteriormente (e ci riserviamo di farlo),  ad una prima analisi perciò, ci è sembrato più performante  e meno problematica una soluzione PHP + OPCache.

Parlando di benchmark e codice precompilato, è naturalmente emerso Phalcon, un interessante framework MVC scritto in C e compilato come estensione PHP.  E’ un esperimento degno di nota, ma tra gli svantaggi che può portare c’è la poca flessibilità delle API interne (se non si ha dimestichezza con C e moduli precopilati) e la diffusione del progetto (Trends, Github, Github Pulse).

E’ stato poi il turno di Pthreads e processi multipli in background. La discussione è emersa dall’esigenza di utilizzare più risorse all’interno di un’esecuzione, in modo asincrono e perciò non bloccante. Questa estensione Pecl ci è sembrata un’alternativa interessante alla gestione dei processi con l’utilizzo di exec o shell_exec o servizi più complessi.

Qualche spunto di riflessione anche sul Garbage Collector e problemi sulla gestione della memoria con le Closure nelle prime versioni di PHP 5.3.