Valentino Volonghi aka Dialtone ha scritto:
E questo come e` possibile? Puoi inviare solo ascii?
utf8_encode ... utf8_decode
Inoltre se il tuo sogno e` tenere aggiornate le istanzi degli
oggetti tra server e client vivrai una vita grama e ricca di
spiacevoli sorprese.
soprese ancora niente, di sogno ben poco visto che lo faccio da tempo
Embe`? L'object system di javascript e` comunque diverso da quello di
python e
comunque devi riscrivere la classe sia in python che in javascript.
ovvio, in python però puoi anche non farlo e gestire runtime classi JS
ergo non scrivi sempre e comunque il codice 2 volte.
l'invio e la ricezione di oggetti, ribadisco, è un di più, non l'essenza
della lib che fa tutto quello che fate voi oggi, ma da anche questa
possibilità che a voi non interessa per alcun motivo (a me si)
A parte che l'approcio completamente OO non significa nulla. Ma non
vedo come
questo modo di serializzare de-serializzare oggetti possa far cambiare
l'approcio.
approccio a specchio, puoi gestie oggetti client e server allo stesso
modo sul client come sul server
Si. Faccio un esempio del codice javascript lato client su cui lavoro
abitualmente visto che probabilmente quello di cui parlo e` piu`
complesso di
quello che sembra: ....
troppo ...
Io uso JSON e mi sembra di usare un approcio a oggetti piuttosto
spinto lato
client. Giuro inoltre che potrei mostrarti una tonnellata di
javascript molto
piu` complesso di questo che utilizza ancora JSON.
ne sono convinto, JSON è eccezionale, in PHP JSON è un ammazza risorse
per via della lentezza orribile della conversione, PHP lo uso tuttora,
non userei mai ne farei mai una libreria ajax per php con JSON di mezzo
se non tramite il compilato che non è mai presente nei servers virtuali
e non
Il metodo lo devi scrivere comunque in javascript quindi questo non
c'entra niente.
scrivi una classe (funzione) fine, non devi poi rifare niente, ti
ritrovi l'istanza malipolabile, inviabile, etc etc
Lavori il doppio perche` il tuo modello e` enormemente piu` complesso
da gestire.
quello mio si, quello finale a livello di utilizzo non ha nulla di
complesso, è a prova di niubbi, sai definire un dict statico di una
classe ? (methodTable) sai fare interazioni avanzate in ajax con JS
sapendo poco anche di JS.
non puoi inviare metodi con la serializzazione ma solo lo stato quindi
i metodi
devi comunque scriverli per cui non mischiare troppi argomenti.
invii uno stato che ricrea l'oggetto ergo invii oggetti e non devi fare
altro per usarli come tali
Come? E questo cosa ha a che fare col polimorfismo?
il polimorfismo non c'entrava niente , la frase era senza senso e commentata
Cosa c'entra? Non puoi trasportare i metodi. Devi scriverli i metodi.
bene
Permettimi ma non posso che dissentire, di semplice il modello non ha
nulla.
modello di cosa ?
E` tremendo. Quindi io posso accedere a tutti gli oggetti che voglio lato
client facendo quello che desidero attraverso quegli oggetti?
ma non diciamo cavolate, grazie
Che poi e` molto
poi semplice fare una cosa tipo:
callRemote("sayHello").addCallback(function(str) {alert(str)})
la callback semplifica ? callRemote è una sola funzione ?
devo farne una per ogni tipo di callRemote ??? .... e quando ti passa a te ?
oppure
function progress(perc) {alert(perc)}
perfetto
pippo.methodName.progress = progress;
che assegni a tutti i metodi che ti pare ... il progress non è una
chiamata al server eh ... non facciamo confusione, il progress è lo
stato di ricezione del client della stringa sul server.
Content-Length: 100Kb
il progress restituisce in automatico a readyState 3 la lenght della
stringa / getHeader("Content.Length"), non fa nulla di asincrono via
http, sempicemente da un riscontro quando serve.
Per un login un progress non servirà mai ad una fava, per un portale di
informazioni magari si .... altra cosa che io faccio da tempo e che
altre lib non hanno (almeno in php e mi sembra nemmeno in .NET, non so
in Python)
lasciando al server il compito di chiamare perc quando necessario
senza scomodare
il client.
ah certo, tu scomodi il server ...
charcode non sara` mai piu` di 256 a meno che s non sia unicode
perche` per ottenere
piu` di 256 ti serve un carattere multibyte che non otterrai mai senza
usare unicode.
infatti lavora in multibyte ...
Ecco cosa tocca fare in JS come in Python (almeno credo sia così,
illuminatemi altrimenti) per ritrovare la len "fasulla" del PHP
Non c'e` nessuna len fasulla.
credo ti sfugga il significato delle mie parole tra " e " che mi
evitano, presumendo di avere a che fare non con un robot, di scrivere
pile di caratteri ... riassumendo in modo semplice
Assolutamente sbagliato e questo perche` non conosci gli encoding.
bravo
Ma il problema non lo risolverete ancora :).
lo so bene, lo sanno tutti, il background del php è sempre più incazzato
Ora pero` sei obbligato a portelo perche` in python questo problema
non e`
nascosto goffamente dal linguaggio ma ti viene sbattuto in faccia
facilmente.
bene, quindi il web lavora tutto su u ? devo informarmi a riguardo
Ma esiste gia` JSON, chissenefrega di una libreria usata in php perhe`
in php
JSON e` lento come la fame?
non condivido
Esiste gia` JSON, negli altri linguaggi dubito verrai accolto molto
differentemente
...
Se vuoi scrivere la tua libreria in python perche` serve al tuo
progetto nessuno
te lo impedisce ma e` difficile trovarne l'utilita` quando c'e` gia`
JSON che
funziona ed e` _gia`_ implementato in tanti linguaggi e la tua
libreria non
porta vantaggi di alcun genere per questo scopo.
anche la serialize è già scritta per tanti linguaggi ... ma se per
partito preso devi rinunciare a tutto quello che non è JSON io non posso
farci niente
Non mi spiacerebbe ma l'ultima volta che l'ho fatto il risultato e` stato
disastroso per cui prima mi firmi un documento che ti impedira` di
farmi causa
se la mia reazione sara` vigorosa, poi guardo il tuo sorgente.
ok
E chi e` il tizio?
quello che se su google scrivi python php serialize è tra i primi col
suo package che è tra i più noti (l'unico ? io ho visto solo quello ...)
Si. Pero` a me piace questo modo di comprendere l'open source dove non
esiste
discussione, se io ho un'idea e` giusta per forza perche` e` un'altra
idea, non
c'e` la possibilita` che sia sbagliata o che meriti una discussione in
cui
l'autore si trova a difendere le sue scelte progettuali. Semplicemente va
accettata e ci si riempie tutti di pacche sulle spalle perche` siamo
stati
bravi a creare l'ennesima variante di una libreria che esiste gia`.
io non voglio alcuna pacca, a me quella versione non andava bene per
mancanze per me irritanti, riscritta, messo tra i credits, fine, pacce
di cosa che c'ho già messo un cratere ?
piuttosto parlatemi di come risolvere il cratere, grazie
Ma tu puoi scriverla come ti pare, te lo sto impedendo in qualche
modo? Magari
ti sfugge che stiamo discutendo di una tua libreria e riguardo alle
tue scelte
di inventare un nuovo formato di serializzazione che non aggiunge nulla a
JSON
ma non è inventato ... è questo che tutti state dicendo: perchè se c'è
già JSON .... ma cristoforo, c'era già anche la serialize, da anni per
tanti lignuaggi quasi quanti quelli per json ...
(non e` piu` semplice da parsare, non e` piu` veloce in Python se sia
il tuo che l'altro li si implementa in Pyrex [ma se nessuno ha
implementato
json in C/pyrex/boost/altro significa che non e` un problema per
nessuno]).
json in C mi sembra ci sia, json in PHP l'hanno fatto anche in C come
modulo per evitare che "i server saltassero per aria" ma non è presente
da nessuna parte, json in python non so quanto sia performante, ma se ha
i tempi della pear, sviluppate su applicativi che con tanti dati e due o
tre utenti in più fanno sudare qualunque server ...
Nasconde semplicemente il procedimento di serializzazione di oggetti
arbitrari
che non va nascosto per varie ragioni che spieghero` solo se avrai voglia
di discutere invece che prenderla sul personale.
parliamone
Gli encoding hai ammesso di non conoscerli perche` con php non ti sei
mai posto
il problema... Ora fai l'ironico a riguardo?
e che mi devo mettere a piangere ?
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python