[Python] mod_python ed il giusto handler
Andrea Giammarchi
andrea a 3site.it
Ven 18 Ago 2006 14:40:07 CEST
Marco Mariani ha scritto:
> Limitato, in che senso? Nel senso di "sicuro" ? :-
più che sicuro, JSON trasporta solo parti di JS e non può fare, ad
esempio, questo:
http://devpro.phpsoft.it/php_serializer/
Trasportare una classe da e verso il server.
Gli array in JS sono anche associativi (Array extends Object, quindi non
esiste un vincolo sull'uso di array come associativi), molto simili a
quelli PHP, improponibili ad esempio in Python (infatti la serializer
sceglie se trasportare una dict o una list in automatico, cosa che il
progetto ufficioso della python php serializer non fa), ma come per php
può trasportare classi Python e sfruttarle, se presenti, anche in
JavaScript, o crearle runtime e sfruttarle come oggetti normali.
In poche parole a parte la fagianata della strlen di php (numeri veri
solo senza encoding diverso) il formato serializzato di php lo trovo
assolutamente più efficace di quello JSON ed in php la fatica di
conversione non è delegata al server (Pear, stra ottimizzata, stra lenta
lostesso) ma al client (comunque rapidissimo su decine di migliaia di
valori innestati o meno).
In python dovrei sfruttare una struct (della versione 2.5) oppure
leggermi qualcosa su PyRex o fare un modulo in C così da colmare il gap
in serializzazione / deserializzazione (ma su python non ha molto senso
abilitare la conversione in utf8 quindi sia il JS che il python in quel
caso sono rapidissimi).
Saluti,
Andrea Giammarchi
P.S. JSON-RPC basato su XML tende anche ad aumentare la banda in scambio
dati, serialize / unserialize ne prende poca in più di JSON normale (in
realtà in certi casi molta di meno non avendo la sfilza di \xAB per ogni
stringa unicode) e la serializzazione client mi sembra sia anche più
veloce di quella ufficiale JSON per JS, unserialize ovviamente non regge
il confronto, un eval post RegExp non ha equivalenti.
Maggiori informazioni sulla lista
Python