Re: [Python] O non capisco sqlite, o non capisco sqlalchemy, o entrambi
[...] > > Per capire, mi sono andato a vedere la query che sqlalchemy genera, ed è > come segue: > > "SELECT a.id AS a_id, a.col AS a_col FROM a, arel WHERE ? = arel.id1 AND > a.id = arel.id2", la_mia_id > > Provando a chiamare direttamente questa query direttamente con sqlite, > in effetti ottengo lo stesso effetto che usando l'ORM di slqalchemy. > > Ora, le mie conoscenze/ricerche di SQL sono sufficienti per farmi capire > che questa è una JOIN implicita, e qual'è la sua logica. Però non > capisco: > 1) dal punto di vista implementativo: com'è possibile che una JOIN sia > così più lenta di svariate SELECT che fanno (concettualmente, per quel > che ne posso capire) esattamente lo stesso lavoro?! > 2) ammesso che debba essere così, cosa impedisce a sqlalchemy di usare > le stesse SELECT che uso io, per recuperare esattamente la stessa roba?! [...] > Pietro Sqlite accede a AREL cercando id1=la_mia_id: in assenza di indice su AREL.id1 effettua una ricerca lineare. Supponiamo pure che questo per scorrere tutta la tabella serva un decimo di secondo. Per ogni riga ottenuta accede alla tabella A cercando quale "id" batta: in assenza di indice su A.id effettua una ricerca lineare, ogni volta impiegando un decimo di secondo per scorrere tutta la tabella. Ora, con milioni di decimi di secondo si si arriva facilmente a qualche giorno di esecuzione... Aggiungi due indici. M. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] 2 neo pythonisti che affrontano un orda barbara di javisti - con quasi-rissa finale
> > Manlio Perillo wrote: > > Il discorso "si puo' fare casino in ogni linguaggio" e' vuoto. > Tecnicamente e' vero: si possono introdurre bachi con qualunque > linguaggio e tecnologia (che sia potente abbastanza da fare qualcosa di > interessante). Ma e' anche banale e qualunquista. > > Ha lo stesso pattern di "tutti i linguaggi sono uguali", che e' > ovviamente un assurdo. Giustamente fai notare che non tutti i linguaggi sono uguali. Aggiungo che per fare casino in ciascun linguaggio ci vuole lo skill specifico di quel linguaggio. ;-) M. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] 2 neo pythonisti che affrontano un orda barbara di javisti - con quasi-rissa finale
Insomma, c'è modo di fare casino con qualunque linguaggio. > Ripeto, il problema secondo me non è sbagliare. Tutti sbagliano. Il > problema è a) continuare a sbagliare b) credere di non aver sbagliato > c) non osservare e imparare da errori & successi altrui. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Eseguire del codice in una stringa (gestione aggiornamenti?)
> Date: Thu, 18 Feb 2010 21:46:54 +0100 > From: mich...@nectarine.it [...] > Ora, il RE ha un compito ben preciso: scaricare [e supponiamo, per > ora, che questo venga fatto in modo sicuro e senza modifiche] il > codice sorgente dell'applicazione, e non ci preoccupiamo per ora di > come lo scarica. > Quello che voglio realizzare in questo modo e` un'applicazione che si > autoaggiorna ad ogni avvio, scaricando il codice sorgente ed > eseguendolo. [...] > Prima domanda: e` possibile tutto cio` ? > Seconda domanda: quali sono i metodi che devo guardarmi? eval() e > compile() possono fare al caso mio? > > Vi ringrazio. >Michele [...] Mi permetto di rispondere alla tua prima domanda: Personalmente, ho già usato questa tecnica. Supponiamo, come dici, di avere il modulo RE e un modulo Applicazione accessibile da parte di RE in esecuzione. In questo caso, quando RE deve aggiornare Applicazione può fare così: appl = 'Applicazione' del sys.modules[appl] exec( '''import {0}'''.format(appl) ) N.B. exec solleva un eccezione se l'import va male: ti stai esponendo al rischio di importare del codice non più funzionante o peggio... Conviene evitare di re-importare in un sol colpo tutta l'Applicazione. Se Applicazione è suddivisa in più package, puoi importare all'occorrenza solo la parte effettivamente modificato dal precedente import. Ciao. Matteo. _ Scatta, ritocca e condividi le tue foto online. Gratis per te http://www.windowslive.it/foto.aspx___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] ReportLab e barcode
Anni fa ho prodotto per il magazzino dei reports con dei bar-code di tipo UPC-A (un sottoinsieme di EAN13). Lavoravo con WindowsNT quindi ho potuto usare un font TrueType trovato in rete. Per esempio con il font EAN13, per codificare il barcode 123456789012 dovevo costruire la stringa b3D5FG|XYPQRx Penso che ci siano ancora in giro dei siti dove puoi trovare i font Per Ubuntu, non so se i font TrueType possano essere adattati. Matteo. > Ciao a tutti, > con Python e Reportlab creo dei documenti in pdf. > Vorrei poter aggiungere dei barcode all'interno di questi documenti. > > E' da un paio di giorni che cerco sulla rete, ma sono troppo ignorante, > e non riesco a capire come fare ad installare ste estensioni.. > > Qualcuno mi può dare una mano? > > Lavoro con Ubuntu.. > > Marco _ Scatta, ritocca e condividi le tue foto online. Gratis per te http://www.windowslive.it/foto.aspx___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python