3. $result = mysql_query('SELECT * WHERE 1=1');
//do something
Cosa fa apache mentre vengono recuperati i dati in
attesa di essere mostrati?
4. Aspetta...
E tiene impegnate risorse hardware nell'attesa (RAM e CPU)
Apache apre un thread per ogni nuova connessione
5. $result = mysql_query('SELECT * WHERE 1=1');
//do something
Questo codice implica che
l'intero processo si blocca durante l'attesa
Oppure
Multiple execution stacks
6. Event Loop
db.query('SELECT * WHERE 1=1', function(result){
//do something
});
Questo codice permette di tornare all'event loop liberando le risorse
Javascript evented programming
9. Cosa può fare
Leggere cookie
Ricevere dati da form
Ricevere dati dalla querystring
Gestire gli header
Uploadare files
File streaming
P2P (chat e simili)
[...]
Sistema modulare (npm)
10. Framework
Express
Geddy
TDD ready
Expresso
nodeUnit
Consigli
Occhio ai tutorial con codice vecchio ;)
response.close() > response.end()
var sys = require("sys") > var util = require("util")
http://nodetuts.com
http://jsconf.eu/2009/video_nodejs_by_ryan_dahl.html
11. GRAZIE
Eugenio Pombi
eugenio@netmeans.net
@euxpom
info@netmeans.net