Archives for marzo 2009

Introduzione al Perl Object Environment (POE)/1

Se vi siete sempre cimentati con script di shell, applicazioni web o semplici CGI — e questa è una sorte comune a molti programmatori Perl — allora siete probabilmente abituati a concepire i vostri programmi come una sequenza di operazioni che avvengono l’una dopo l’altra in maniera lineare, o al più pilotate dallo stato del sistema e dall’input fornito al programma.

Ci sono però tanti casi in cui un simile approccio non va bene: ad esempio tutto l’insieme delle applicazioni GUI, che devono essere reattive alle azioni dell’utente, e per le quali di conseguenza non è possibile individuare a priori una sequenza di operazioni da svolgere: l’impredicibilità dell’agire dell’utente, e la quantità di attori che devono modificare il proprio stato in base ad esse, impedisce — o rende molto difficile — usare il medesimo approccio che normalmente governa i programmi tradizionali. Altra categoria che può trarre beneficio da un approccio ad eventi è quella dei software che devono implementare protocolli di comunicazione con agenti esterni, come quelli di networking.

[Read more…]

Summer of Code 2009 alla partenza

Anche quest’anno è arrivato il momento di un’altra Summer of Code (già vista qui su stacktrace), l’iniziativa di Google che permette a studenti di lavorare su progetti Open Source d’estate in cambio della rispettabile cifra di 5000 dollari, di cui 500 per l’organizzazione mentoring e 4500 per l’applicante.

[Read more…]

Programmare multi processi facilmente con Twisted Matrix /2

Nell’ultima
puntata
ci siamo fatti le ossa nella gestione di sottoprocessi
utilizzando Twisted
Matrix
e un semplicissimo protocollo di comunicazione tra il
processo padre e ciascun processo figlio. Come abbiamo anticipato
però, se utilizziamo processi heavy-weight, specialmente
in Python, dobbiamo anche concentrarci nell’ammortizzare il costo
della loro creazione riutilizzandoli il più possibile, vedremo
però che per garantire la salute degli worker process
sono necessari numerosi controlli e molta intelligenza nella loro
gestione.

[Read more…]