[Python] Deploy Apache2

2019-09-19 Thread Luca Bacchi
Ciao a tutti!

È possibile fare il deploy su Apache di 2 diverse applicazione WSGI (Flask)
che girino una su Python2 e una su Python3, usando mod_wsgi?

Mi sembra di no! Da quanto mi par di capire devo scegliere se
installare libapache2-mod-wsgi o libapache2-mod-wsgi-py3. Pertanto la
scelta del runtime Python da usare non può essere specificata per il
singolo progetto.

Immagino quindi che devo optare per una qualche soluzione di deploy basata
su un Reverse Proxy e con un application server tipo uWsgi... immagino, ci
capisco il giusto in effetti.

Ciao a tutti e grazie per la comprensione.

Luca
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Generare Screenshot automatici per pagine web

2019-09-26 Thread Luca Bacchi
https://wkhtmltopdf.org ?

Il giorno gio 26 set 2019 alle ore 14:48 Lorenzo Macchiavelli <
lmacchiave...@gmail.com> ha scritto:

> Ho abbastanza spunti faccio un po di prove,
> grazie mille per i suggerimenti..
> Buona giornata
>
> On Thu, Sep 26, 2019 at 11:43 AM Lorenzo Macchiavelli <
> lmacchiave...@gmail.com> wrote:
>
>> Buongiorno Lista,
>>
>> qualcuno potrebbe consigliarmi un *modulo* di python semplice,
>> per *generare* degli *screenshot *automatici di pagine web?
>>
>> Ho provato *ChromeDriver*, ma mi sembra troppo macchinoso..
>> dato che dovrei usarlo in un cron job che parte più volte al giorno,
>> non vorrei finestre che si aprono..
>>
>> Qualche idea?
>>
>
> Lorenzo Macchiavelli
> *Web Designer - Media Developer *
>
> *Tel*: 349 3411955 *Mail*: lmacchiave...@gmail.com
> *Linkedin*: https://www.linkedin.com/in/macchiavelli/
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Consigli per imparare python

2020-07-10 Thread Luca Bacchi
Secondo me devi dare una letta approfondita al tutorial ufficiale su
python.org. Per capire più o meno come funziona e per vedere un po' di
libreria standard.

Poi devi imparare lì stile pythonico. Io anni fa trovai molto utile il
Python Cookbook di Alex Martelli. Oggi è sicuramente una risorsa un po'
datata, lascia stare.

O appena cominciato a leggere questo

https://effectivepython.com/

Promette molto bene. È un degno erede del Python Cookbook sembrerebbe. Non
so se qualcuno in lista di sente di confermare questo mio suggerimento.

L

Il ven 10 lug 2020, 17:46 Riccardo Magliocchetti <
riccardo.magliocche...@gmail.com> ha scritto:

> Ciao Federico,
>
> On 10/07/20 14:51, Federico Fissore wrote:
> > Ciao a tutti
> >
> > Per motivi di lavoro, mi trovo a dover diventare un esperto di python,
> in poco
> > tempo.
> >
> > Scrivo software da una ventina d'anni, usando svariati linguaggi, ma
> python è
> > sempre rimasto ai margini. Ora invece potrebbe diventare il mio
> linguaggio
> > principale.
> >
> > Fra i mille libri e corsi online, cosa mi consigliereste?
>
> Io leggerei il tutorial: https://docs.python.org/3/tutorial/
>
> Poi dipende dal cosa vuoi fare con Python.
>
> --
> Riccardo Magliocchetti
> @rmistaken
>
> http://menodizero.it
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] pip freeze, o "come essere sicuri delle dipendenze che sto installando"

2020-10-09 Thread Luca Bacchi
Io faccio esattamente come con node:

pip3 install -r requirements.txt
pip3 freeze > requirements-lock.txt

Dentro requirements.txt elenco le librerie che uso io, il primo livello, e
spesso (non sempre) non indico il versioning. In questo modo so che

pip3 install -r requirements.txt

installa sempre le ultime versioni.

Poi però

pip3 freeze > requirements-lock.txt

mi permette di avere uno screenshot dell'ambiente esatto: tutte le librerie
con le esatte versioni installate.

Il giorno ven 9 ott 2020 alle ore 10:27 Patrick Arminio <
patrick.armi...@gmail.com> ha scritto:

>
>
> On Fri, 9 Oct 2020 at 09:20, Federico Fissore  wrote:
>
>> Federico Fissore wrote on 09/10/20 10:03:
>> > con pip vorrei ottenere un risultato simile a quello che ottengo con
>> npm
>> > o cargo, che se trovano un package-lock.json o un Cargo.lock lo usano
>> > per installare esattamente le stesse dipendenze a una specifica versione
>> >
>> > e mi piacerebbe anche dividere le dipendenze di test da quelle
>> applicative
>>
>>
>> Ah avrei dovuto cercare in archivio prima di scrivere:
>> https://python-poetry.org/ sembra fare al caso mio.
>>
>> Voi lo usate? Come vi trovate?
>>
> Noi a lavoro usiamo pip-compile -> https://github.com/jazzband/pip-tools
> però il setup è un po' complesso (abbiamo un monorepo con vari servizi in
> python)
>
> Per cose personali e librerie uso poetry e mi trovo molto bene :)
>
>
>
>>
>> federico
>> ___
>> Python mailing list
>> Python@lists.python.it
>> https://lists.python.it/mailman/listinfo/python
>>
>
>
> --
> Patrick Arminio
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] pip freeze, o "come essere sicuri delle dipendenze che sto installando"

2020-10-12 Thread Luca Bacchi
Se usi Docker (un container) è probabile che tu non debba usare un
Virtualenv (un altro container). O meglio, non è più necessario.

Il lun 12 ott 2020, 08:36 Federico Fissore  ha scritto:

> Franky Bonanno wrote on 11/10/20 22:59:
> > Docker e pipenv.
>
>
> Puoi elaborare?
>
> In che modo usando docker hai garanzia delle dipendenze che stai
> installando?
>
> federico
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] pip freeze, o "come essere sicuri delle dipendenze che sto installando"

2020-10-12 Thread Luca Bacchi
Mmm Puoi sempre usare

pip3 install - r requirements.txt
freeze
o quello che vi pare...

Solo che, sei già dentro Docker! A che ti serve Virtualenv?

Il giorno lun 12 ott 2020 alle ore 10:19 Federico Fissore 
ha scritto:

> Luca Bacchi wrote on 12/10/20 09:37:
> > Se usi Docker (un container) è probabile che tu non debba usare un
> > Virtualenv (un altro container). O meglio, non è più necessario.
>
>
> Sì, ma non risolvi il problema del tenere sotto controllo le dipendenze:
> sposti il problema dal tuo pc a un dockerfile, ma il problema resta, per
> questo sono curioso di come Franky usi docker
>
> federico
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Visualizzare una struttura dati annidata, anche con molti elementi

2021-03-31 Thread Luca Bacchi
import pprint

pprint.pprint(data)

Il giorno mar 30 mar 2021 alle ore 17:35 Yuri  ha scritto:

> Salve,
>
>   mi piacerebbe qualcosa di interattivo, attualmente uso già prettyprint
> e pp in pdb. I dati sono nativi, tranne una classe che ho creato. L'idea
> era quella di avere uno strumento che permetta di "aprire/chiudere" i
> nodi della struttura dati, ed esplorarla.
>
> In effetti, per ora, potrei fare un dump in json (rendendo la mia classe
> serializzabile in JSON usando https://stackoverflow.com/a/41200652) e
> utilizzare un editor di testo con supporto JSON. Grazie del suggerimento!
>
> def serialize(obj):
>  """JSON serializer for objects not serializable by default json
> code"""
>
>  if isinstance(obj, Arianna):
>  return obj.titles
>
> (Pdb) !w = json.dumps(ead.archive, sort_keys=True, indent=2,
> default=serialize)
> (Pdb) !a = open('/tmp/orto.json', 'w')
> (Pdb) !a.write(w)
> 86489
> (Pdb) !a.close()
>
>
> Il 30/03/21 15:26, a.cava...@cavallinux.eu ha scritto:
> > Se i dati sono nativi (liste, tuple, ineri, float etc.) puoi usare:
> >print(json.dumps(oggetto, sort_keys=True, indent=2))
> >
> > On Tuesday, March 30, 2021 04:27 EDT, Yuri  wrote:
> >
> >> Salve,
> >>
> >>avrei bisogno, ai fini di debug/controllo, poter visualizzare una
> >> struttura dati con molti elementi. Tipicamente sono dizionari e liste
> >> annidate, alcune con pochi elementi, altri con molti, fino a 5/6 livelli
> >> di annidamento. Alcune liste possono essere molto lunghe con centinaia o
> >> migliaia di elementi. La classica soluzione con i [+] per espandere i
> >> vari nodi della struttura va bene.
> >>
> >> Ho visto che pudb ha uno strumento simile (*) ma la finestra è piccola e
> >> dopo un po' diventa complesso navigare la struttura. Va bene sia uno
> >> strumento a caratteri che uno grafico, con preferenza a caratteri se
> >> possibile.
> >>
> >>
> >> (*) interessante anche perché permette di scegliere la funzione che
> >> rappresenta l'oggetto. Su pudb:
> >> http://heather.cs.ucdavis.edu/~matloff/pudb.html
> >>
> >> ___
> >> Python mailing list
> >> Python@lists.python.it
> >> https://lists.python.it/mailman/listinfo/python
> > ___
> > Python mailing list
> > Python@lists.python.it
> > https://lists.python.it/mailman/listinfo/python
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Consiglio su web framework

2023-05-22 Thread Luca Bacchi
Se l'applicazione è minimale, considererei un framework minimale: Flask è
la prima cosa che viene in mente.

Python-only significa nessuna particolare tecnologia client-side, ossia una
applicazione web 1.0. Ok, va bene lo stesso.

Ovviamente un framework WSGI (come Flask) richiede un application server
come gunicorn per il deploy...

In alternativa si potrebbe considerare un framework Python "asincrono". Io
ho usato Sanic e "funziona" :-).

Il giorno lun 22 mag 2023 alle ore 10:37 Giovanni Porcari <
giovanni.porc...@softwell.it> ha scritto:

> Se vuoi provare con genropy potresti vedere questo articolo :
>
> [image:
> Genropy-Post-FB-Anteprime-Dal-database-alla-web-app-in-meno-di-2-minuti.png]
>
> Dal database alla web app in meno di 2 minuti
> 
> genropy.org
> 
>
> 
>
>
> In pratica gli dai in pasto il db in sqlite e ottieni la webapp pronta.
> Poi ovviamente puoi migliorarla ma di base hai tutto: query, stampe,
> interfaccia gestione db ecc.
> Ciao.
>
> G
>
> Il giorno 21 mag 2023, alle ore 23:35, Giuliano Curti <
> giulian...@gmail.com> ha scritto:
>
> 
> Buonasera a tutti,
>
> vi chiedo un consiglio su un argomento che non ho mai affrontato.
>
> Vorrei offrire via web(*) l'interrogazione di un db sqlite3; immagino che
> una soluzione possa essere PHP che però non conosco e non intendo
> affrontarlo.
>
> Quindi, ecco la domanda: esiste qualche framework python che consenta la
> costruzione di una, massimo due form per interrogare il DB?
>
> La funzione è solo quella, quindi più semplice e mirato è, meglio è.
>
> Domanda di secondo livello: è possibile eventualmente farlo con solo
> codice python? qualche dritta in tal senso è gradita (così come qualsiasi
> altro consiglio su cose che neanche immagino :-).
>
> Grazie dell'attenzione, un saluto a tutti.
>
> (*) penso ad una soluzione fatta in casa  (il carico sarà, credo, molto,
> molto basso):
> 1) un raspberry 4 dedicato
> 2) accesso su ip pubblico via Noip o servizio analogo
> 3) motore sqlite3
> 4) lascerei aperte solo le porte web e ssh (accesso con chiavi)(**)
> 5) protezione (minimale) con fail2ban (la macchina non conterrà nessun
> dato sensibile e/o prezioso; l'unico rischio è che possa essere scalata da
> qualche malevolo e utilizzata per usi diversi)
> 6) penso a form che riproducono i campi della tabella; quelli compilati
> determinano i criteri di ricerca dei documenti.
>
> (**) se troppo rischioso potrei anche chiudere la porta ssh; la macchina
> sarebbe raggiungibile via rete privata.
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] Writing Python like it's Rust

2023-05-24 Thread Luca Bacchi
Sono incappato in questo articolo:


https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html

e devo riconoscere che descrive un generale approccio allo sviluppo in
Python in cui mi sono molto riconosciuto.

Nel mio caso però dovete sostituire Rust con TypeScript: da quando ho
cominciato a migrare da JavaScript a TypeScript il mio modo di sviluppare
in Python ne ha risentito.

In pratica la tendenza è quella ad usare il più possibile tutti quegli
strumenti e quei costrutti che le ultime versioni di Python forniscono per,
passatemi il termine, rendere Python più nella direzione dei linguaggi
staticamente tipati. È una frase probabilmente molto inesatta ma spero di
aver colto nel segno.
Nel mio caso mi riferisco soprattutto ai Type Hints e alle dataclasses.

Qualcuno direbbe: se pensi che la tipizzazione statica sia migliore allora
perché non usare Java al posto di Python?
A parte che dopo JavaScript, Python è il linguaggio con cui sono più a mio
agio, in realtà penso che la strategia di "sviluppare per iterazioni" in
cui prima sviluppo e testo se le mie idee sono corrette e funzionano; e poi
aggiungo i Type Hint e definisco meglio i tipi con delle classi o delle
dataclasses... In sostanza faccio refactoring e irrobustisco ciò che ho
fatto, non sua una stratagia che mi dispiace.

Qualcuno nella lista si trova nella mia stessa situazione? Pensate anche
voi che lo sviluppo in Python moderno non possa effettivamente fare a meno
di questi strumenti?

Ciao a tutti
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Writing Python like it's Rust

2023-05-24 Thread Luca Bacchi
Per completezza segnalo un'altra risorsa:

https://www.youtube.com/arjancodes

Credo sia abbastanza conosciuto il suo canale. Ecco, direi che il suo stile
di codice Python rispecchia l'approccio di cui si sta discutendo in questo
thread.

In questo [video](https://www.arjancodes.com/mindset/type-hints) descrive
le differenze fra typing statico/dinamico e tipizzazione forte/debole.

Il giorno mer 24 mag 2023 alle ore 12:36 Jacopo Cascioli <
jac...@jacopocascioli.com> ha scritto:

> No, se volessi usare la tipizzazione statica...scriverei in Rust.
>
> Python è diventato uno dei linguaggi più usati perchè ha proposto un modo
> di sviluppare diverso, innovativo ed efficace.
>
> Io mi trovo ad usare Python sempre di meno, proprio perchè queste
> funzionalità le posso trovare implementate meglio in altri linguaggi.
>
> --- Original Message ---
> On Wednesday, May 24th, 2023 at 10:25 AM, Luca Bacchi 
> wrote:
>
> Sono incappato in questo articolo:
>
>
> https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html
>
> e devo riconoscere che descrive un generale approccio allo sviluppo in
> Python in cui mi sono molto riconosciuto.
>
> Nel mio caso però dovete sostituire Rust con TypeScript: da quando ho
> cominciato a migrare da JavaScript a TypeScript il mio modo di sviluppare
> in Python ne ha risentito.
>
> In pratica la tendenza è quella ad usare il più possibile tutti quegli
> strumenti e quei costrutti che le ultime versioni di Python forniscono per,
> passatemi il termine, rendere Python più nella direzione dei linguaggi
> staticamente tipati. È una frase probabilmente molto inesatta ma spero di
> aver colto nel segno.
> Nel mio caso mi riferisco soprattutto ai Type Hints e alle dataclasses.
>
> Qualcuno direbbe: se pensi che la tipizzazione statica sia migliore allora
> perché non usare Java al posto di Python?
> A parte che dopo JavaScript, Python è il linguaggio con cui sono più a mio
> agio, in realtà penso che la strategia di "sviluppare per iterazioni" in
> cui prima sviluppo e testo se le mie idee sono corrette e funzionano; e poi
> aggiungo i Type Hint e definisco meglio i tipi con delle classi o delle
> dataclasses... In sostanza faccio refactoring e irrobustisco ciò che ho
> fatto, non sua una stratagia che mi dispiace.
>
> Qualcuno nella lista si trova nella mia stessa situazione? Pensate anche
> voi che lo sviluppo in Python moderno non possa effettivamente fare a meno
> di questi strumenti?
>
> Ciao a tutti
>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] Operatore sum

2009-02-17 Thread Luca Bacchi
Esiste un protocollo per l'operatore 'sum'?

Questo è quello che vorrei, più o meno:

class A(object):
   def __init__(self, v):
  self.v = v


sum([A(1), A(2), A(3)])

dove il risultato dovrebbe essere 6, ossia la somma delle varie proprietà 'v'.

Ho provato a definire '__add__' nella classe A.
Riesco in questo modo a fare A(1) + A(2)... Ma non riesco comunque ad
applicare l'operatore 'sum'.

Ho l'impressione che non si possa fare...

p.s.
So che potrei fare diversamente... Ma vorrei adottare questa soluzione. :-)


Grazie a tutti,
Ciao

L
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Video PyCon

2010-01-13 Thread Luca Bacchi
È possibile scaricare i filmati dei vari anni nel formato originale?
Sono disponibili da qualche parte?

Ciao
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Strumenti per automatizzare operazioni su pagine

2011-04-15 Thread Luca Bacchi
http://wwwsearch.sourceforge.net/mechanize/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Aggiornare file pickle

2011-05-16 Thread Luca Bacchi
Allora funziona come Word!

;-)

Il giorno 16 maggio 2011 16:28, Filadelfo Fiamma
 ha scritto:
>
> Ciao ragazzi,
> Vi ricontatto in merito alla discussione che ho aperto il 10 maggio.
> Ricapitolando in breve, mi sono interessato nella gestione
> incrementale dei file pickle, facendo in modo che il salvataggio
> dell'intero oggetto non avvenga ad ogni dump(), ma che vada ad
> interessare  solo la parte da aggiungere. In questo modo vengono
> creati N file pickle che sono raggruppati alla fine del processo,
> oppure su richiesta, in un unico file pickle.
> Ho effettuato svariate prove, verificando il funzionamento del
> processo, in particolar modo la correttezza delle informazioni: in
> effetti cosi è.
> L'unica anomalia che ho riscontrato è la dimensione del pickle: il
> pickle creato dal raggruppamento di tutti i pickle di aggiornamento,
> ha una dimensione maggiore rispetto a quanto aspettato (Il paragone è
> stato fatto con la dimensione di un file pickle generato senza
> gestione incrementale, in modo classico).
> Premetto che non mi sono minimamente fidato di ricostruire "a mano"
> l'oggetto, con il copia incolla dei pkl a livello testuale, bensì ho
> ricostruito in memoria l'oggetto, che è un dizionario, ed ho
> effettuato il dump finale.
> Analizzando il contenuto testuale del pickle, ho notato l'aggiunta di
> diverse righe (g5,g6,g7 ecc) ripetute per ogni chiave del dizionario.
> Ho inoltre notato che, utilizzando tipi di dato semplice, non è
> presente questa differenza nella dimensione.
> Da cosa può dipendere questa anomalia, se di anomalia si tratta?
>
> Grazie mille
> Buon pomeriggio a tutti
>
> FF
>
> >Il 10 maggio 2011 17:17, Filadelfo Fiamma  ha scritto:
> > Ringrazio tutti quanti :)
> > Mi permetto di descrivere brevemente ciò che ho sperimentato, seppur
> > esso non sia generica come applicazione, ma riesce a gestire oggetti
> > fatti in questo modo: {key:[]}, nel mio caso è un log per gli accessi
> > effettuati su di un certo file, ordinati cronologicamente.
> >
> > La classica dump() va a ricreare il mio log.pkl ogni qualvolta si
> > effettua un accesso.
> > La dump() modificata invece crea un file log_X.pkl, con X
> > incrementale, che contiene solo l'accesso appena effettuato.
> >
> > La load() modificata dunque tiene di tutti i file log_X e li raggruppa
> > per ottenere l'intero oggetto, in più si occupa anche di eliminare
> > tutti i file log_X e di riunire tutta l'informazione in un unico file
> > pkl, considerando che quest'azione avviene solo in fase di
> > inizializzazione, ho ritenuto che fosse tollerabile rallentare questa
> > fase per poter essere veloci nelle dump(), magari sarebbe opportuno
> > effettuare questo raggruppamento ogni qualvolta si raggiunga un certo
> > numero di file log_X.
> >
> > Ho effettuato il profiling inserendo 2000 volte la chiave 'pippo',
> > avente come valore un indice incrementale.
> > La dump() classica il computer ha impiegato 27.321 secondi
> > La dump() modificata invece ha impiegato 4.114 secondi
> >
> > Buona serata a tutti
> >
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Integrazione Python - Java

2011-09-15 Thread Luca Bacchi
Ho un semplicissimo script python che si collega ad un sito web (fa
una chiamata POST passando alcuni argomenti), estrae alcune
informazioni (niente parsing, solo delle find) e restituisce alcuni
contenuti informativi in XML o JSON.

Mi è stato chiesto di integrare questa cosa in un'applicazione Java.
Valutavo alcune soluzione, mi piacerebbe capire quale è la migliore in
termini di semplicità e scalabilità.

L'applicazione Java è un web service che, di fatto, utilizzerebbe il
mio script come libreria di utility.

- Rendere disponibile lo script come applicazione stand-alone (java di
fatto lo esegue). Tramite interfaccia CGI dovrebbe essere possibile
passare gli argomenti e ritornare il risultato. Non so se questa
soluzione soffra di problemi di scalabilità a fronte di centinaia di
richieste consecutive o concorrenti.

- Rendere disponibile il mio script usando un'interfaccia HTTP da
interrogare via chiamate rest. In questo caso la scalabilità sarebbe a
carico del web server. In questo caso che soluzione mi consigliate?
Tenendo conto che parlo di una cosa veramente molto semplice, vorrei
un serverino minimale ma affidabile.

- Essendo molto semplice, ed usando solo la libreria standard di
Python, potrei usare Jython? È una cosa matura? Affidabile? Immagino
che un componente scritto in Jython sia facilmente usabile da un
programma Java, ad esempio come libreria esterna.

- Nessuna delle precedenti... La soluzione più efficace e sicura è
riscriverlo in Java.

Ciao
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: R: R: Proposta editoriale Python cookbook per Fag edizioni

2012-01-11 Thread Luca Bacchi
Design Patterns in Python?

I Design Pattern tradizionali (GOF) spesso hanno una implementazione
particolare se affrontati con un linguaggio dinamico come Python
(vedere le lezioni di Martelli)...

Il 11 gennaio 2012 18:38, Andrea Francia  ha scritto:
> 2012/1/11 Marco Aleotti 
>>
>> Per quanto riguarda, invece, gli argomenti del libro, giro a voi la
>> questione: come sarebbe il libro di cui sentite la mancanza? Cosa vorreste
>> trovare in un nuovo libro su Python?
>
>
> Ciao Marco,
>   qualche giorno fa avevo dato la mia risposta a questa domanda (senza
> sapere che qualcuno l'avrebbe fatta dopo qualche giorno).
> Riprendo e rielaboro quello che avevo scritto.
>
> Un libro che mi manca in Python è un libro che tratti lo sviluppo
> sostenibile in Python (chiamiamolo pure Agile).
> Che esponga i principi di design, e/o le tecniche per scrivere codice pulito
> in modo efficiente.
>
> I libri del genere che conosco usano (quasi) sempre Java, C#, C++. Credo che
> ci sia anche qualcosa per Ruby, ma per Python non ho trovato molto.
>
> Gli argomenti sarebbero:
>  - Test Driven Development
>  - Refactoring e Legacy Code
>  - Principi SOLID
>  - Style di sviluppo del GOOS a Python.
>
> Questi argomenti sono descritti (usando i linguaggi statici che ti dicevano
> prima) in:
>  - Refactoring: Improving the Design of Existing Code di Fowler
>  - Agile Software Development, Principles, Patterns, and Practices di Bob
> Martin
>  - Growing Object-Oriented Software Guided by Tests di Freemam e Price
>  - Working Effectively with Legacy Code di Feathers
>
> L'adattamento a Python è necessario, si tratta di un linguaggio diverso, i
> principi sono gli stessi ma l'applicazione cambia: cambia l'importanza dei
> problemi, cambia il supporto dell'IDE, cambia la necessità di certi design.
> Insomma cambia la tattica.
>
> Per ora il modo migliore che ho trovato per imparare alcune di questi cose è
> vedersi gli screencast di Gary Bernardt e leggermi il suo codice.
> A me piacerebbe molto avere la possibilità di consolidare le mie conoscenze
> su questi argomenti per distillarne uno scritto.
>
> Ciao
> --
> Andrea Francia http://www.andreafrancia.it
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: R: R: R: Proposta editoriale Python cookbook per Fag edizioni

2012-01-12 Thread Luca Bacchi
Provo ad ampliare un attimo le considerazione di cui sopra:

Gli ultimi anni hanno visto sicuramente un successo delle tecnologie
basate su linguaggi a tipizzazione dinamica: Ruby, Python,
Objective-C, Javascript, sono solo alcuni dei linguaggi dinamici che
si sono prepotentemente affermati negli ultimi 5 anni.

I libri di riferimento sui design pattern sono relativamente datati:
la materia è senza dubbio attuale e i contenuti pure, ma come
dimostrano le lezioni di Martelli online sui Design Pattern in Python,
le differenze possono essere non poche. In Python l'iterator pattern
meriterebbe senza dubbio una trattazione molto legata ai costrutti che
il linguaggio nativamente supporta.

Quando parlo di libri di riferimento io ho in mente i 2 che fanno
parte della mia libreria: GOF e Head First Design Patterns. Il primo è
C++, il secondo Java. Nel primo sono molto poche le escursioni in
Smalltalk.

In Python abbiamo la programmazione funzionale, le metaclassi,
possiamo implementare uno strategy passando direttamente una funzione
come argomento di un'altra funzione. Possiamo avere un dizionario con
delle classi (non degli oggetti) come valori memorizzati... c'è del
materiale per studiare una trattazione dei design pattern in Python...

Naturalmente è il libro che vorrei leggere, non quello che sarei in
grado di scrivere... Diciamo che lo comprerei... Ma solo la versione
per Kindle ;-)

Ciao

Il 12 gennaio 2012 09:58, Marco Aleotti  ha scritto:
> Ciao Andrea,
>
> grazie del contributo, mi sembra anche questa una proposta interessante.
>
> Marco
>
>
>
> Marco Aleotti
>
> Editor in Chief
>
>
>
> maleo...@escomweb.com
>
> tel. diretto: +39 02 30575477
>
>
>
> Escom Srl
>
> Via Carlo De Angeli, 3 - 20141 - Milano
>
> tel. (centralino): +39 02 3057541
>
> fax: +39 02 30575466
>
>
>
> Da: python-boun...@lists.python.it [mailto:python-boun...@lists.python.it]
> Per conto di Andrea Francia
> Inviato: mercoledì 11 gennaio 2012 18:39
>
>
> A: Discussioni generali sul linguaggio Python
> Oggetto: Re: [Python] R: R: R: Proposta editoriale Python cookbook per Fag
> edizioni
>
>
>
> 2012/1/11 Marco Aleotti 
>
> Per quanto riguarda, invece, gli argomenti del libro, giro a voi la
> questione: come sarebbe il libro di cui sentite la mancanza? Cosa vorreste
> trovare in un nuovo libro su Python?
>
>
>
> Ciao Marco,
>
>   qualche giorno fa avevo dato la mia risposta a questa domanda (senza
> sapere che qualcuno l'avrebbe fatta dopo qualche giorno).
>
> Riprendo e rielaboro quello che avevo scritto.
>
>
>
> Un libro che mi manca in Python è un libro che tratti lo sviluppo
> sostenibile in Python (chiamiamolo pure Agile).
>
> Che esponga i principi di design, e/o le tecniche per scrivere codice pulito
> in modo efficiente.
>
>
>
> I libri del genere che conosco usano (quasi) sempre Java, C#, C++. Credo che
> ci sia anche qualcosa per Ruby, ma per Python non ho trovato molto.
>
>
>
> Gli argomenti sarebbero:
>
>  - Test Driven Development
>
>  - Refactoring e Legacy Code
>
>  - Principi SOLID
>
>  - Style di sviluppo del GOOS a Python.
>
>
>
> Questi argomenti sono descritti (usando i linguaggi statici che ti dicevano
> prima) in:
>
>  - Refactoring: Improving the Design of Existing Code di Fowler
>
>  - Agile Software Development, Principles, Patterns, and Practices di Bob
> Martin
>
>  - Growing Object-Oriented Software Guided by Tests di Freemam e Price
>  - Working Effectively with Legacy Code di Feathers
>
>
>
> L'adattamento a Python è necessario, si tratta di un linguaggio diverso, i
> principi sono gli stessi ma l'applicazione cambia: cambia l'importanza dei
> problemi, cambia il supporto dell'IDE, cambia la necessità di certi design.
> Insomma cambia la tattica.
>
>
>
> Per ora il modo migliore che ho trovato per imparare alcune di questi cose è
> vedersi gli screencast di Gary Bernardt e leggermi il suo codice.
>
> A me piacerebbe molto avere la possibilità di consolidare le mie conoscenze
> su questi argomenti per distillarne uno scritto.
>
>
>
> Ciao
>
> --
> Andrea Francia http://www.andreafrancia.it
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python & .epub: manca indentazione nel codice

2012-01-13 Thread Luca Bacchi
Per quanto ne so io l'EPUB è un contenitore di html (ovviamente un
subset di html).

Le possibilità quindi sono:

- il tag PRE è supportato da EPUB?

- Chi ha generato l'eBook ha usato il tag PRE?

Il 13 gennaio 2012 12:21, Giuseppe Amato  ha scritto:
> Il problema sta nel fatto che l'e-reader reinterpreta l'html dell'e-pub e lo
> indenta come vuole. Nella maggioranza dei casi interpreta tutto come testo
> continuo ed ignora la formattazione, almeno per quanto riguarda la
> posizione.
> Il pdf lo puoi assimilare ad un'immagine perciò non ti crea problemi.
>
> Sarebbe comunque di aiuto sapere che e-reader usi, magari linkando una
> porzione di libro (una parte di quella che ti crea problemi e che non è
> troppo grande da violare i copyright ;P)
>
> Il giorno 13 gennaio 2012 12:15, Alessandro Dentella  ha
> scritto:
>
>> Ciao,
>>
>>
>> sto leggendo un libro in formato .epub della Packt e mi accorgo che non
>> viene correttamente riportata l'indentazione del codice per cui ogni pezzo
>> di
>> codice risulta oltre che illeggibile anche scorretto.
>>
>> Verifico questa cosa su svariati ebook differenti, qundi è un problema del
>> loro formato
>>
>> La versione .pdf ha l'indentazione corretta.
>>
>> Avete suggerimenti per vedere l'indentazione corretta? esistono e-reader
>> migliori? in realtà io immagino che il problema sia stato nella traduzione
>> da .pdf a .epub...
>>
>> sandro
>> *:-)
>> ___
>> Python mailing list
>> Python@lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>
>
>
>
> --
> --
> Giuseppe Amato
> e-mail: giuam...@gmail.com
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Un aiuto per neofita alle prime armi

2012-01-13 Thread Luca Bacchi
Mi permetto di suggerire che un po' di materiale vario è qui:

http://programming-motherfucker.com/become.html#Python

Il 13 gennaio 2012 12:12, Alberto Abate  ha scritto:
> Ciao,
> per iniziare penso che ti sia utile vedere questi...
>
> http://www.youtube.com/playlist?list=PLC64779F4E2E7EB10&feature=g-all-a
>
>
> Il giorno 13 gennaio 2012 12:05, Vito Sebastiano Giaquinta
>  ha scritto:
>>
>> Ciao  Ragazzi sto muovendo i primi passi con Python ma non so dove trovare
>> il materiale egli esercizi per iniziare
>> Grazie.
>>
>> ___
>> Python mailing list
>> Python@lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>>
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] prime armi

2012-05-23 Thread Luca Bacchi
Se non ho inteso male:

Il comando

python prova.py

lo devi eseguire da terminale, non da shell Python.

Dopo il prompt C:\

L

Il 23 maggio 2012 16:42, Matteo Perini  ha scritto:
> Il 23/05/2012 16:38, chiara angelone ha scritto:
>
>> Ciao a tutti,
>> sono alle prime armi con Python.
>> Sto riscontrando il seguente problema:
>> dalla command line di Python non riesco ad eseguire il mio file prova.py.
>> e nemmeno dalle shell di IDLE.
>>
>> Io eseguo questo comando:
>> python prova.py
>>
>> L'errore è il seguente:
>> nameError: 'python' is not defined
>> però ad esempio mi funziona la seguente riga
>> exec (open ('prova.py').read())
>>
>> ho provarto a inserire tutto il percorso del mio file prova.py in questo
>> modo
>> python C:\python\prova.py
>> ma l'errore è
>> SyntaxError: invalid syntax
>>
>>
>> Qualcuno può darmi qualche suggerimento per favore?
>>
>> Grazie, ciao
>> Chiara
>> p.s. Sono sotto Windows
>
>
> Guarda se questo può aiutarti
> http://www.biocomp.unibo.it/piero/corso/note/node8.html
> Ciao
> Matteo
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] prime armi

2012-05-23 Thread Luca Bacchi
Non ho mai usato il modulo "reload". Non che io sia da considerare un
punto di riferimento, però il fatto che a te serva mi fa sospettare
che c'è qualcosa che non torna nel tuo approccio.

Per sviluppare e testare il tuo prova.py puoi tranquillamente passare
dalla finestra dell'editor in cui modifichi prova.py ad una finestra
di terminale in cui, ogni volta, riesegui "python prova.py" (il tasto
FRECCIA SU riesegue l'ultimo comando).

L

Il 23 maggio 2012 17:19, Simone Federici  ha scritto:
>
> 2012/5/23 Simone Federici 
>>
>>
>> 2012/5/23 chiara angelone 
>>>
>>> Esatto da terminale mi funziona, ma non è possibile eseguirlo anche da
>>> shell Python?
>>> Anche perchè da terminale alcune funzioni di Python come reload
>>> ovviamente non funzionano.
>>> Quindi non riesco ad eseguire reload .
>>
>>
>> se hai un modulo di nome prova.py e lo vuoi usare da shell devi importarlo
>>
>> prova:
>> import prova
>
>
> ma attenta che sia nel PYTHONPATH
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Problema con try except

2012-07-03 Thread Luca Bacchi
http://docs.python.org/library/sys.html#sys.exit

sys.exit scatena una eccezione "SystemExit"

Il 03 luglio 2012 17:06, Vittorio Spina  ha scritto:
> ma quale errore lo scatena? porta tutto fuori dal try un attimo e riporta
> l'errore...
>
>
> Il 03/07/2012 17:03, Walter Valenti ha scritto:
>
>> Ho all'interno di un blocco "try" una condizione,
>> per cui lo script può uscire regolarmente con sys.exit(0).
>>
>> Questo però mi scatena l'esecuzione del blocco "except".
>> Come posso ovviare a tale inconveniente ?
>>
>> Walter
>>
>>
>>
>>
>>
>>
>>
>>   --
>> Per favore non inviatemi allegati in formato MS Office.
>> Utilizza alternativamente documenti in formato OpenDocument.
>>
>>
>> http://oinophilos.blogspot.com/
>> ___
>> Python mailing list
>> Python@lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>>
>
> --
> ==
> Spina Giovanni Vittorio
> email:  vittorio.sp...@gmail.com
> --
> mobile: +39 389 15 24 211
> ==
>
> :: AVVISO PRIVACY
> = = = = = = = = = = = = = = = = = = = =
> Il contenuto della presente e-mail ed i suoi allegati,
> sono diretti esclusivamente al destinatario e devono
> ritenersi riservati, con divieto di diffusione o di uso
> non conforme alle finalità per le quali la presente e-mail
> è stata inviata.
> Pertanto, ne è vietata la diffusione e la comunicazione
> da parte di soggetti diversi dal destinatario, ai sensi degli
> artt. 616 e ss. c.p. e D.lgs n. 196/03 Codice Privacy.
>
> Se la presente e-mail ed i suoi allegati sono stati ricevuti
> per errore, siete pregati di distruggere quanto ricevuto e
> di informare il mittente al seguente recapito:
> Mailto:vittorio.sp...@gmail.com
> ==
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] self implicito

2012-10-03 Thread Luca Bacchi
L'incapsulamento è meglio dell'ereditarietà... E non avresti tutti
quei self, se proprio non ti piacciono (a me piacciono).

2012/10/3 Nicola Larosa :
> Antonio Lima wrote:
>> Ma se vuoi davvero renderlo implicito, l'approccio più elegante e
>> semplice IMHO è quello che prevede l'uso della selfless metaclass.
>> http://www.voidspace.org.uk/python/articles/metaclasses.shtml#the-selfless-metaclass
>
> Mii, mo' giene dico quattro a Michael!
>
> --
> Nicola Larosa - http://www.tekNico.net/
>
> Hive-aversion to politically incorrect speech is but one aspect of
> a larger phenomenon. A rather large cohort of people have acquired
> the habit of perceiving the world as they wish it would be rather
> than accept reality as it exists. This is not a good survival
> strategy either for the individual or the species.
>  - TomA on Eric Raymond's blog, April 2012
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Suggerimento per libri e altro materiale per l'ingegneria del software

2012-10-30 Thread Luca Bacchi
Segnalo questo!

http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read

Il 30 ottobre 2012 17:32, Roberto Bettazzoni  ha scritto:
> Ciao
>
> ottima scelta di libri, sono due appunti.
>
> una estensione: Clean Code
> http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=pd_bxgy_b_img_y
>
> una precisazione: IMHO Extreme Programming Explained
> 
> (2nd ed.) è un po' datato.
> Okay, è la base delle pratiche ingegneristiche agili e va assolutamente
> letto, bisogna però tenere conto che è datato e molte parti sono parecchio
> cambiate.
> (se vogliamo è simile a quello che "Il mitico mese uomo" è stato per molto
> tempo, una base teorica, non un manuale di pratiche)
>
> my 2cent,
> Roberto
>
> p.s. se ti interessa anche qualcosa di diverso dai libri ci sono degli
> ottimi filmati su youtube e in www.cleancoders.com
>
>
>
>
> On 30/10/12 12.14, enrico franchi wrote:
>>
>> 2012/10/29 Karim mailto:lemieli...@gmail.com>>:
>>
>> > Salve a tutti mi serve studiare ingegneria del software da
>> > autodidatta, sapete indicarmi libri o altro materiale. In inglese va
>> > benissimo. Se è poi legato a python ancora meglio.
>>
>>
>> Agile Software Development, Principles, Patterns, and Practices
>> 
>>
>> Test Driven Development: By Example
>> 
>>
>> Extreme Programming Explained: Embrace Change, 2nd Edition (The XP Series)
>> 
>>
>> Growing Object-Oriented Software, Guided by Tests
>> 
>>
>>
>> [Disclaimer -- sono tutti con il mio amazon associate code]
>>
>> --
>> .
>> ..: -enrico-
>>
>>
>> ___
>> Python mailing list
>> Python@lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [OT] Git: come gestite sviluppo e produzione

2013-05-15 Thread Luca Bacchi
http://nvie.com/posts/a-successful-git-branching-model/


Il giorno 15 maggio 2013 12:57, Carlos Catucci
ha scritto:

> ma siccome date sempre buoni consigli...
>
> Si sa che la gente da buoni consigli quando non puo' pu' dare il cattivo
> esempio
> (F. De Andre' - Bocca di rosa)
>
> ho un software in produzione; devo sviluppare nuove
>> funzionalita'; vorrei avere sulla stessa macchina sia
>> la versione di sviluppo che quella in produzione.
>> Come la gestisco con git?
>>
>
> Io uso di solito Bazar, ma alla fine e' slo stesso. Un trunk di sviluppo
> con un branch per la produzione e magari anche uno per il testing. Dipende
> molto da quante forze sono impegnate nel progetto. Se chi esegue i test e'
> (come dovrebbe) una persona (o piu' persone per progetti real humongous)
> differente da chi sviluppa, si rende indispensabile. Se il developer fa
> anche test ecco che non e' indispensabile (forse).
>
>
>> PS: datemi una mano che gia' mi rode che devo scrivere
>> in PHP.. vedo  ovunque e gia' so che mi scordero' tutti
>> i punti e virgola! :(
>>
>
> Se i $ sono collegati al compenso dovresti essere felice. :P
>
> Carlos
> --
> ..y sobre todo, sean siempre capaces de sentir en lo más hondo cualquier
> injusticia cometida contra cualquiera en cualquier parte del mundo. Es la
> cualidad más linda de un revolucionario." -  Ernesto Guevara de la Serna
> Lynch
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Comparare stringhe unicode

2013-06-13 Thread Luca Bacchi
Ciao Carlos... Ti si è rotto Google? ;-D

http://stackoverflow.com/questions/57708/convert-xml-html-entities-into-unicode-string-in-python


2013/6/13 Carlos Catucci 

> Scusate il mezzo OT ma gia che ci siamo:
>
> senza usare BeautifulSoap c'e' maniera di trasformare html entities in
> unicode string?
>
> Carlos
> --
> ..y sobre todo, sean siempre capaces de sentir en lo más hondo cualquier
> injusticia cometida contra cualquiera en cualquier parte del mundo. Es la
> cualidad más linda de un revolucionario." -  Ernesto Guevara de la Serna
> Lynch
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Ritornare un oggetto None quando dichiaro una classe...

2013-06-25 Thread Luca Bacchi
Anche se Python ti consente di farlo... Il fatto che tu debba fare una cosa
così "insolita" dovrebbe far suonare un campanellino.

Potresti implementare un "factory" (cerca factory method su google) che, ti
restituisce l'istanza della classe o None, se necessario.

Ancora meglio la tua potrebbe essere una situazione in cui puoi
implementare un NullObject Design Pattern. Anche qui cerca su Google per
chiarimenti.

Ciao :-)

L


Il giorno 25 giugno 2013 09:41, Marco Giusti  ha
scritto:

> On Mon, Jun 24, 2013 at 09:01:00PM +0200, Gollum1 wrote:
> > Il 24 giugno 2013 18:51, Marco Giusti  ha
> scritto:
> > > On Mon, Jun 24, 2013 at 06:30:52PM +0200, Gollum1 wrote:
> > >> Ho provato a guardare un po' di documentazione, oltre a quelle
> > >> espresse qui in lista, anche in altri luoghi gli sviluppatori non sono
> > >> troppo propensi a questa soluzione...
> > >>
> > >> probabilmente la soluzione del raise è quella sintaticamente più
> corretta...
> > >>
> > >> ora però devo capire come funziona la cosa, alcuni script fatti per il
> > >> 2.x con il 3.x non funzionano correttamente... e la documentazione per
> > >> la 3.x non riesco a capirla...
> > >>
> > >> leggendo la documentazione mi pare di capire che il numero e il
> > >> messaggio dell'eccezione viene registrata in args, quindi il fatto che
> > >> io abbia usato args come parametro di chiamata della classe, potrebbe
> > >> essere un errore... devo quindi considerare args come una parola
> > >> chiave del linguaggio e non usarla per altre cose?
> > >
> > > no, args non è una parola chiave del linguaggio e puoi usarla nei
> limiti
> > > di correttezza come nome di variabile. se posti un esempio di codice
> > > forse capiamo meglio e possiamo aiutarti meglio.
> >
> > Oddio... o sto rincoglionendo ora... o ero strafatto alcuni giorni fa...
> >
> > stavo cercando la documentazione tra Python2 e Python3... ed ero
> > arrivato al punto che lo script falliva nella forma in cui era scritto
> > l'exception quando dovevo creare una directory...
> >
> > e quindi ho dovuto modificare il blocco try - exception...
> >
> > il bello è che ora mi sono messo a ricercare i vari documenti che
> > avevo letto al tempo (qualche giorno fa)... e non ne trovo uno...
> >
> > c'era un documento in http://docs.python.org/3/ che diceva
> > esplicitamente che l'exception metteva il codice di errore dell'errore
> > e il relativo messaggio come primi due parametri, ed opzionalmente (in
> > relazione a quale era l'errore sollevato) poteva esserci un terzo
> > parametro (il nome del file)... e tutti questi venivano restituiti
> > nella variabile args... da qui il fatto che io pensassi che args fosse
> > diventata una parola chiave...
>
> Quando parli di keyword parli di qualcosa di specifico. Tanto per essere
> chiari:
>
> >>> as = "ciao"
>   File "", line 1
> as = "ciao"
>  ^
> SyntaxError: invalid syntax
> >>> args = "ciao"
> >>>
>
> ma hai in qualche maniera ragione quando dici che gli argomenti passati
> al costruttore di una eccezione vengono salvati in args:
>
> >>> try:
> ...  raise RuntimeError("non", "hai", "detto", "la", "parola",
> "magica")
> ... except Exception as e:
> ...  print(*e.args)
> ...
> non hai detto la parola magica
> >>>
>
> Args è un attributo dell'eccezione e niente di vieta di usare comunque
> una variabile di nome args. Il documento a cui fai riferimento
> probabilmente è questo[1].
>
> [1] http://docs.python.org/3/library/exceptions.html#BaseException.args
>
> ciao
> m.
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Ritornare un oggetto None quando dichiaro una classe...

2013-06-25 Thread Luca Bacchi
Non è brutto come sembra! Non l'ho mai usato neppure io ma, se non sbaglio,
circola una presentazione di Martelli sui Design Pattern in Python in cui
ne fa uso per implementare, mi sembra un Singleton. E se lo fa lui, "si può
fare"!

Detto questo credo avesse senso suggerire un approccio più tradizionale e
meno legato alle specificità di Python.


Il giorno 25 giugno 2013 14:21,  ha scritto:

> No, non e' brutto come sembra (sintassi a parte).
>
> A basso livello l'operatore __new__ corrisponde alla chiamata del membro
> tp_new: in quella chimata si creano i dati (new/malloc) che poi si usano
> durante __init__.
>
> Mentre a livello C/C++ questo ha senso, in python lo e' meno (in piu' di
> dieci anni che sviluppo in python non ricordo di avere mai usato __new__!).
>
>
>
>
> On 2013-06-25 13:42, Daniele Varrazzo wrote:
>
>> On Mon, 2013-06-24 at 16:00 +0200, Simone Federici wrote:
>>
>>> 2013/6/24 Antonio Cavallo 
>>>
>>> > class A(object):
>>> > def __new__(cls):
>>> > if cond:
>>> > return A
>>> > else:
>>> > return None
>>> >
>>>
>>> brutto brutto brutto brutto
>>>
>>
>> Bruttissimissimissimo.
>>
>> Non perdere tempo dietro a quest'idea: un costruttore che restituisce
>> None è una violazione criminale del Principio di Minima Sorpresa.
>>
>> Scrivi un factory method, che potrebbe essere una funzione a sè ma anche
>> un metodo della classe stessa:
>>
>> class A:
>> def __init__(self, args):
>> if not cond(args):
>> raise ValueError
>> ...
>>
>> @classmethod
>> def new_or_none(cls, args):
>> try:
>> return cls(args)
>> except ValueError:
>> return None
>>
>> a = A.new_or_none(...)
>>
>
> __**_
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/**mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] multiprocessing.Manager è thread-safe?

2014-05-23 Thread Luca Bacchi
La mia domanda è la seguente:

le liste o i dizionari creati con

mgr = multiprocessing.Manager()
mgr.list()
mgr.dict()

devono essere protetti o qualche "magia" li rende thread-safe?

Non trovo questa informazione documentata da nessuna parte.

In questo esempio:

http://pymotw.com/2/multiprocessing/communication.html#controlling-concurrent-access-to-resources

Una lista viene acceduta in maniera protetta usando un lock.

In questo altro esempio:

http://pymotw.com/2/multiprocessing/communication.html#managing-shared-state

Un dizionario non viene invece protetto...

Mah!

Grazie. Ciao.

L
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] R: Re: Come iniziare

2015-02-13 Thread Luca Bacchi
Non hai bisogno di caricare tutta la lista in memoria.

Uguale ma con un generatore.

print sum(x for x in xrange(3, 1000, 3) if not x % 3 or not x % 5)

Il giorno 13 febbraio 2015 09:50, Diego Barrera 
ha scritto:

> Il 12/02/2015 16:14, Marco Beri ha scritto:
>
>>
>> E naturalmente Project Euler:
>> https://projecteuler.net/
>>
>>
>> Questa rischia di diventare una droga però...
>>
>> Ne sono uscito con fatica :-)
>>
>>  Fico!!
> La mia soluzione al primo problema ;)
>
> |print  sum([xfor  xin  xrange(3,1000,3)if  not  x %3  or  not  x %5])|
>
>
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Alcune cose sono interessanti, altre non so se hanno senso

2015-02-27 Thread Luca Bacchi
Ciao Carlos, come stai?

Ti spiego la "let" poi la tua mail è troppo lunga e mi fermo...

In js il costrutto var definisce le variabili. Lo scope delle variabili è
sempre funzionale: ovunque tu scriva "var x = 1;" è sempre come se tu lo
scrivessi all'inizio della tua funzione. Functional Scope, appunto. Prova
tu a immaginare l'attenzione che bisogna avere quando hai a che fare
blocchi annidati, cicli, o cose simili.

"let" permetterà di definire delle variabili con Block Scope, cioè potrai
definire una variabile nel punto in cui ti serve e diciamo che il suo scope
sarà limitato al blocco in cui è stata definita.

Il giorno 27 febbraio 2015 11:17, Carlos Catucci 
ha scritto:

>
> 2015-02-27 11:02 GMT+01:00 Alessandro Re :
> >
> > Secondo te cosa non ha senso?
> >
> > Personalmente ho sempre pensato che il bello di javascript era la
> semplicità del linguaggio... Dopo aver letto questo mi è caduto tutto, a
> parte le let, praticamente tutto il resto aggiunge complessità.
> >
> > E poi la sintassi di molte cose nuove è esteticamente orribile :p
>
> Correggetemi se ho frainteso ma:
>
> In effetti la let non la ho capita. Si va bene lo scope e' piu' chiaro, ma
> una var interna potrebbe fare la stessa cosa senza aggiungere un ulteriore
> reserved keyword.
> La const in se fa comodo ma si vive anche senza (per convenzione io uso
> una var maiuscola e so che e' una costante per cui non la cambio mai,
> inoltre uso i namespaces, quindi mi basta uno chiamato CONST seguito da
> .nomecostante e evito il problema.
> Destructuring non e' male forse, ma mi sembra un poco contorto, in fondo
> e' un array no?
> Spread e' un passare una lista come parametro ad una funzione che si
> aspetta una serie di parametri. Avrei preferito una evolusione del tipo
> *args,**kwargs alla Python.
> Arrow function mi fa tanto PHP, e non ho capito come funziona. Il tipo fa
> prima un esempio dove scrive
>
> employees.forEach(function(emp) {
> totalAge += emp.age;
> });
>
> E va bene, ma qui emp la definisce lui come parametro passato alla
> funzione, poi scrive
>
> employees.forEach(emp => {
> totalAge += emp.age;
> });
>
> che sarebbe la lambda, ma scritto cosi' e' poco chiaro. Questioone di
> leggibilita', tutto qui.
>
>
> Default parameters mi ricorda tanto Python, se esiste ok oppure assegna
> questo valore.
> Rest Parameters appunto sembra essere *args, solo he inevec che un array
> gli passo una seire di parametri. Non vedo ancora il vantaggio, ma magari
> sono io.
> Non ho ancora visto bene il resto, gli iterators forse sono una cosa
> buona, idem per i generators, ma devo ancora darci un'occhio bene.
>
> Carlos
> --
> EZLN ... Para Todos Todo ... Nada para nosotros
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Alcune cose sono interessanti, altre non so se hanno senso

2015-02-27 Thread Luca Bacchi
@carlos

Nel tuo esempio intanto c'è una cosa poco chiara parlando in termini di
Javascript: le variabili si dichiarano all'interno delle funzioni con "var"
e lo si fa una volta sola. Quindi nel tuo codice già è presente un "var
pippo" 2 volte, e questo potrebbe portare a dei fraintendimenti. La
dichiarazione "var pippo" ovunque tu la metta (tu l'hai messa sia fuori che
dentro) abbiamo detto che si comporta "come se" tu l'avessi messa una sola
volta e all'inizio della funzione. Quindi si comporta esattamente come
dovrebbe.

Ti faccio un esempio un po' diverso:

(function () {
var pippo = 0;

_.each([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], function (element) {
var pippo = i;
});

console.log(pippo);
})();

(_.each è roba di undercorejs ma non te ne curar)

Non ho provato ma direi che in questo caso dovrebbe stampare pippo = 0.
Function Scope.

Il giorno 27 febbraio 2015 13:26, Nadir Sampaoli 
ha scritto:

>
> Il 27/feb/2015 11:18 "Carlos Catucci"  ha
> scritto:
> > Arrow function mi fa tanto PHP, e non ho capito come funziona. Il tipo
> fa prima un esempio dove scrive
> >
> > employees.forEach(function(emp) {
> > totalAge += emp.age;
> > });
> >
> > E va bene, ma qui emp la definisce lui come parametro passato alla
> funzione, poi scrive
> >
> > employees.forEach(emp => {
> > totalAge += emp.age;
> > });
> >
> > che sarebbe la lambda, ma scritto cosi' e' poco chiaro.
>
> Quell'esempio secondo me spiega poco. La cosiddetta fat arrow (scritta
> `=>`) è presa da coffeescript che ha due notazioni per le funzioni anonime.
> Una è `->` (o "thin arrow") e dovrebbe essere equivalente ad una normale
> `function () {}`.
>
> La fat arrow invece fa il bind automatico del `this` alla funzione, cioè
> dovrebbe equivalere a `(function(){}).bind(this)`.
>
> Se non si è pratici di come funziona il "this" in JS la cosa può risultare
> poco chiara.
>
> --
> Nadir
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Alcune cose sono interessanti, altre non so se hanno senso

2015-02-27 Thread Luca Bacchi
var pippo = element;

è la cosa correta...

Il giorno 27 febbraio 2015 13:53, Luca Bacchi  ha
scritto:

> @carlos
>
> Nel tuo esempio intanto c'è una cosa poco chiara parlando in termini di
> Javascript: le variabili si dichiarano all'interno delle funzioni con "var"
> e lo si fa una volta sola. Quindi nel tuo codice già è presente un "var
> pippo" 2 volte, e questo potrebbe portare a dei fraintendimenti. La
> dichiarazione "var pippo" ovunque tu la metta (tu l'hai messa sia fuori che
> dentro) abbiamo detto che si comporta "come se" tu l'avessi messa una sola
> volta e all'inizio della funzione. Quindi si comporta esattamente come
> dovrebbe.
>
> Ti faccio un esempio un po' diverso:
>
> (function () {
> var pippo = 0;
>
> _.each([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], function (element) {
> var pippo = i;
> });
>
> console.log(pippo);
> })();
>
> (_.each è roba di undercorejs ma non te ne curar)
>
> Non ho provato ma direi che in questo caso dovrebbe stampare pippo = 0.
> Function Scope.
>
> Il giorno 27 febbraio 2015 13:26, Nadir Sampaoli 
> ha scritto:
>
>>
>> Il 27/feb/2015 11:18 "Carlos Catucci"  ha
>> scritto:
>> > Arrow function mi fa tanto PHP, e non ho capito come funziona. Il tipo
>> fa prima un esempio dove scrive
>> >
>> > employees.forEach(function(emp) {
>> > totalAge += emp.age;
>> > });
>> >
>> > E va bene, ma qui emp la definisce lui come parametro passato alla
>> funzione, poi scrive
>> >
>> > employees.forEach(emp => {
>> > totalAge += emp.age;
>> > });
>> >
>> > che sarebbe la lambda, ma scritto cosi' e' poco chiaro.
>>
>> Quell'esempio secondo me spiega poco. La cosiddetta fat arrow (scritta
>> `=>`) è presa da coffeescript che ha due notazioni per le funzioni anonime.
>> Una è `->` (o "thin arrow") e dovrebbe essere equivalente ad una normale
>> `function () {}`.
>>
>> La fat arrow invece fa il bind automatico del `this` alla funzione, cioè
>> dovrebbe equivalere a `(function(){}).bind(this)`.
>>
>> Se non si è pratici di come funziona il "this" in JS la cosa può
>> risultare poco chiara.
>>
>> --
>> Nadir
>>
>> ___
>> Python mailing list
>> Python@lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>>
>>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] 10 myths

2015-03-25 Thread Luca Bacchi
Explicit is better than implicit.

Il giorno 25 marzo 2015 11:16, Carlos Catucci  ha
scritto:

>
> 2015-03-25 10:54 GMT+01:00 Manlio Perillo :
>
>> Se leggi la specifica del linguaggio noterai che c'è anche un altra
>> importante differenza tra var e `:=`
>
>
> Forse ancora non ci arrivo. Resta il fatto che la scelta mi appare strana,
> per ignoranza, sia chiaro.
>
> Carlos
> --
> EZLN ... Para Todos Todo ... Nada para nosotros
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Ma Go non ha le classi

2015-03-27 Thread Luca Bacchi
I linguaggi a oggetti possono essere Class Based (come Java) o Object Based
(come JavaScript).

Il giorno 27 marzo 2015 00:49, enrico franchi  ha
scritto:

>
>
> 2015-03-26 22:17 GMT+00:00 Gian Mario Tagliaretti  >:
>
>> Il 26 marzo 2015 22:16, Carlos Catucci  ha
>> scritto:
>>
>> ciao Carlos,
>>
>> > Scopro solo ora (ni ritagli di tempo mi sto guardando questo
>> linguaggio) che
>> > Go non ha le classi. Va considerao lo stesso un linguaggio OOP?
>>
>> La risposta ufficiale è "yes and no":
>>
>
> Che ovviamente e' l'unica possibile come "ufficiale". La risposta "vera"
> e' probabilmente "si", ma scrivere in una faq che chi pensa che un concetto
> chiave dell'OOP sia l'ereditarieta' ha torto completo, anche perche', a
> dirla tutta, chiedi a 10 persone cosa sia l'OOP e ti diranno 10 cose
> diverse. E nota, non parlo di 10 persone la cui somma delle conoscenze su
> OOP e' un sottoinsieme di quello che hanno letto sul deitel&deitel.
>
> In pratica non c'e' una definizione su cui siamo tutti d'accordo, di
> conseguenza e' complicato dire cosa sia OOP e cosa non lo sia. Ci sono cose
> che si sono proclamate OOP con tale vigore che ora nessuno lo mette in
> discussione, ma la cosa finisce li.
>
> Kay diceva: "OOP to me means only messaging, local retention and
> protection and hiding of state-process, and extreme late-binding of all
> things".
>
> Ora... Go queste cose le ha. Ci sono i messaggi (ah, per Kay "messaggio"
> vuole dire "chiamata di metodo", in essenza), ci sono "(local retention,
> protection, and hiding) of state-process", c'e' il late binding.
>
> Incidentalmente l'ereditarieta' era proprio una cosa che Kay aveva
> inizialmente lasciato fuori:
>
> 
>   - I didn't like the way Simula I or Simula 67 did inheritance
> (though I thought Nygaard and Dahl were just tremendous thinkers and
> designers). So I decided to leave out inheritance as a built-in
> feature until I understood it better.
> """
>
> Ci sono persone che vedono la chiamata di metodo come "troppo poco",
> ovvero che nei sistemi "veramente OOP" il disaccoppiamento degli oggetti e'
> molto piu' alto che in affari tipo Java o Python, ed essenzialmente trovano
> Attori e Agenti come la "vera" incarnazione dell'OOP. Da cui si deriva che
> secondo questa interpretazione Erlang e' nonostante tutto un linguaggio ben
> piu' ad oggetti dei "classici". E anche qui Go non se la cava male. Certo,
> con il focus su CSP invece che Actor Model bisogna guardare bene per
> trovarlo, ma alla fine dei conti si fa. Sebbene sia potenzialmente piu'
> tirato.
>
> Nota, io sono in sostanziale accordo con Kay, nel senso che anche per me
> quello e' quello che conta nell'OOP. Aggiungo che momenti l'ereditarieta'
> usata con la vanga in stile anni '90 ha quasi ammazzato il tutto;
> fortunatamente poi si e' rinsaviti. Ma non e' che veramente mi interessi un
> dibattito su cosa sia l'OOP. Diciamo che per varie definizioni di OOP, Go
> e' completamente OOP.
>
> Se invece per dire intendiamo con OOP "Java" (ovvero, prendiamo le
> caratteristiche di un object model affine a quello di Java come definizione
> di OOP), allora Go non e' OOP. Da cui appunto capisco che l'unica possibile
> risposta ufficiale e' "si e no".
>
>
>
>> http://golang.org/doc/faq#Is_Go_an_object-oriented_language
>>
>> Non sono tanto d'accordo sull'ultima frase, ma forse è solo una forma
>> mentale dura da scrostare.
>>
>
> Io invece in qualche modo la sento. Non riesco a motivare oggettivamente,
> ma ho l'impressione che in qualche modo gli oggetti in Go siano qualcosa di
> piu' leggero. Non necessariamente come runtime... come overhead cognitivo.
> Pero' sempre per lo stesso motivo, appena uno inizia a vedere le struct di
> Go come collezioni di dati (e vede prima le struct delle interfacce) ecco
> che effettivamente l'OOP se ne va a spasso.
>
> Pero' ancora una volta... il fatto che le interfacce sono sempre
> post-facto, semplifica dannatamente un sacco di cose.
>
> Poi mi aspetto che quando ci sara' una code base di Go comparabile a
> quella di Java, ci si trovera' a dovere introdurre le implementazioni di
> default dei metodi per potere toccare minimamente la libreria standard. A
> meno che i progettisti non si siano fatti pure loro un giro sulla macchina
> del tempo di Guido e non hanno cannato un tubo. Pero' effettivamente
> proprio perche' le interfacce sono postfacto, potrebbe non essere troppo
> dolorosa sta roba... devo meditare.
>
>
> --
> .
> ..: -enrico-
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Questo farà impazzire Carlos

2015-05-06 Thread Luca Bacchi
http://pypyjs.org/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Che ne dite di RUST?

2015-05-25 Thread Luca Bacchi
Mi inserisco per chiedere:

perchè OCaml non ha sfondato, che è una figata totale?

Il giorno 25 maggio 2015 10:50, Carlo Miron  ha scritto:

> 2015-05-25 10:39 GMT+02:00 Giorgio Zoppi :
>
> > Per la parte di linguaggi ad alto livello il mercato e´gia abbastanza
> > saturo, questo e´quello che volevo dire. Pero questo sono opinioni.
>
> Credo di aver sentito ripetere questa frase ad infinitum sin dagli
> anni 80 del millennio scorso. E tuttora non posso essere più in
> disaccordo.
>
> Ciao,
> ©
>
> --
> |:**THE BEER-WARE LICENSE** (Revision 42):
> |  wrote this mail. As long as you retain
> | this notice you can do whatever you want with this stuff.
> | If we meet some day, and you think this stuff is worth it,
> | you can buy me a beer in return.
> |--Carlo Miron :
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Che ne dite di RUST?

2015-05-25 Thread Luca Bacchi
Ci sarebbe F#. Credo sia praticamente un clone di OCaml ma con una
community un po' più ricca. E credo di aver visto anche delle offerte di
lavoro per F#, per dire, ... Non in Italia ovviamente.

Il giorno 25 maggio 2015 16:17, enrico franchi 
ha scritto:

>
>
> 2015-05-25 15:00 GMT+01:00 Nicola Larosa :
>
>> enrico franchi wrote:
>> > passare da ricorsivo ad imperativo o viceversa
>>
>> Qui intendevi iterativo, spero (per me :-) ).
>>
>
> Si.  Non avere dormito per problemi di operations non aiuta la mia
> esposizione.
>
>
>> 
>>
>>
> Vero. Veramente piacevole, per inciso. Io lo presi anche cartaceo e mi
> piacque.
>
>
>>
>> > Non mi da nessun valore aggiunto. Cosa che invece mi da skillarmi
>> > in Erlang, in Haskell o in Go.
>>
>> Erlang no grazie, Go fatto, ne è rimasto soltanto uno. :-)
>>
>
> Posso arrivare ad essere d'accordo che lavorarci ha delle scomodita'. Come
> modello concettuale da imparare secondo me e' valido. Diciamo che per la
> fase di estendere i propri orizzonti il "language to conquer them all" e'
> relativamente poco interessante. Certo, vale la pena di essere studiato
> anche lui, ma non bisogna usare il fatto che piace di piu' per perdere
> l'opportunita' di vedere cose diverse. Specie per qualcuno con una
> seniority diversa dalla tua.
>
> --
> .
> ..: -enrico-
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Consiglio per realizzazione GUI

2015-07-20 Thread Luca Bacchi
Colgo l'occasione per andare OT. Ma nel 2015 un'interfaccia Desktop non
andrebbe fatta con tecnologie web?

Intendo robe tipo Node-webkit, o Electron (di Github). O ancora meglio una
App per Google Chrome.

Intendo seriamente, dovendo fare (dopo decenni) una applicazione desktop
con delle finestre, non dovrei seriamente prendere in considerazione una di
queste tecnologie?

Il giorno 20 luglio 2015 12:56, Carlos Catucci 
ha scritto:

>
> 2015-07-20 12:53 GMT+02:00 Nicola Larosa :
>
>> L'inconsistenza nell'uso non si può guardare in alcuna epoca. ;-)
>
>
> Magari mi sbaglio ma secondo Google ne parlano gia qui. Birra pagata a chi
> si ricorda la mitica rivista.
>
> http://issuu.com/adpware/docs/mc060
>
> Carlos
> --
> EZLN ... Para Todos Todo ... Nada para nosotros
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Js vs QT - was [graphql] interessante alternativa/evoluzione rispetto al REST

2015-10-01 Thread Luca Bacchi
Lavorando molto sul frontend di applicazioni web lavoro in JavaScript ormai
da anni e sinceramente ne apprezzo alcune caratteristiche.

Il suo modello ad oggetti va capito. Prototype-based è molto diverso da
Class-based di Python, questo lo sappiamo tutti. Piuttosto che cercare di
emulare l'ereditarietà classica (nel senso di Class-based, con o senza
librerie di terze parti) l'approccio corretto è capire come si progetta a
oggetti in JavaScript (module pattern, closures, ...). Ma anche questa è
una cosa ovvia che sanno tutti.

Supporta nativamente molti costrutti della programmazione funzionale:
closures, First order functions. E questo lo fa anche Python, ma in
JavaScript si è più portati a utilizzare queste cose, non chiedetemi il
perchè ma a me pare così: non ho forse mai scritto delle closure in Python;
in JavaScript praticamente non faccio altro.

Non che si debba necessariamente usare pattern della programmazione
funzionale, ma in generale mi ci trovo bene. Librerie come Underscore.js
o lodash le trovo meravigliose.

Il modello single-threaded... Non so che dire. Alla fine ci sono le
Promises, non c'è bisogno di impazzire, è un ambiente single-thread,
funziona in quel modo... Non fa poi così schifo.

Con ES6 ci sono un bel po' di novità mettono a disposizione parecchi
strumenti che il programmatore Python conosce bene: Promises, Iterator,
Generators, ...

La community? Non si può ignorare che al momento è la più vasta in
circolazione. E dovrebbe essere uno degli argomenti più forti, direi.

Anche i Big investono molto su JavaScript e anche questo non va ignorato.
Non conosco la storia, ma posso immaginare che se Nodejs è nato è
soprattutto perchè V8 di Google aveva evidentemente raggiunto livelli tali
di performance che potesse essere interessante utilizzarlo anche al di
fuori del browser.

Della possibilità di sviluppare client desktop ne avete già parlato (ne
parlai anche io una volta qui e fui un po' deriso, ma ora ho capito
perchè)... E della possibilità di sviluppare apprivazioni pseudo-native
utilizzando componenti come WebView di Android?

A conti fatti direi che non c'è poi tanto da sputarci sopra.

Il giorno 1 ottobre 2015 17:01, Giovanni Porcari <
giovanni.porc...@softwell.it> ha scritto:

>
> > Il giorno 01 ott 2015, alle ore 16:30, Nicola Larosa 
> ha scritto:
> >
> > Javascript è indubbiamente una mezza ciofeca, ma Brendan Eich non è un
> > incompetente: si è solo trovato a lavorare sotto le solite assurde
> > pressioni di tempo.
>
> Non dubito certo delle sue capacità ma ritenevo (forse a torto)
> che javascript ereditasse le sue peggio cose da nonno PHP.
> Linguaggio che non conosco minimamente (e lo ritengo un punto di onore :D).
>
> Ecco come fa le comparazioni :
> http://us3.php.net/manual/en/language.operators.comparison.php
>
> Detto questo se gli hanno chiesto di fare qualcosa che si accordasse
> a queste logiche è evidente che i risultati non potevano essere
> troppo diversi.
>
> Le menti bacate sono di quelli che pongono gli obiettivi, non certo
> di chi deve realizzarli…
>
>
> G
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [graphql] interessante alternativa/evoluzione rispetto al REST

2015-10-01 Thread Luca Bacchi
Scusatemi, ho sbagliato Thread... Incollo qui la mail che ho scritto anche
dall'altra parte.


Lavorando molto sul frontend di applicazioni web lavoro in JavaScript ormai
da anni e sinceramente ne apprezzo alcune caratteristiche.

Il suo modello ad oggetti va capito. Prototype-based è molto diverso da
Class-based di Python, questo lo sappiamo tutti. Piuttosto che cercare di
emulare l'ereditarietà classica (nel senso di Class-based, con o senza
librerie di terze parti) l'approccio corretto è capire come si progetta a
oggetti in JavaScript (module pattern, closures, ...). Ma anche questa è
una cosa ovvia che sanno tutti.

Supporta nativamente molti costrutti della programmazione funzionale:
closures, First order functions. E questo lo fa anche Python, ma in
JavaScript si è più portati a utilizzare queste cose, non chiedetemi il
perchè ma a me pare così: non ho forse mai scritto delle closure in Python;
in JavaScript praticamente non faccio altro.

Non che si debba necessariamente usare pattern della programmazione
funzionale, ma in generale mi ci trovo bene. Librerie come Underscore.js
o lodash le trovo meravigliose.

Il modello single-threaded... Non so che dire. Alla fine ci sono le
Promises, non c'è bisogno di impazzire, è un ambiente single-thread,
funziona in quel modo... Non fa poi così schifo.

Con ES6 ci sono un bel po' di novità mettono a disposizione parecchi
strumenti che il programmatore Python conosce bene: Promises, Iterator,
Generators, ...

La community? Non si può ignorare che al momento è la più vasta in
circolazione. E dovrebbe essere uno degli argomenti più forti, direi.

Anche i Big investono molto su JavaScript e anche questo non va ignorato.
Non conosco la storia, ma posso immaginare che se Nodejs è nato è
soprattutto perchè V8 di Google aveva evidentemente raggiunto livelli tali
di performance che potesse essere interessante utilizzarlo anche al di
fuori del browser.

Della possibilità di sviluppare client desktop ne avete già parlato (ne
parlai anche io una volta qui e fui un po' deriso, ma ora ho capito
perchè)... E della possibilità di sviluppare apprivazioni pseudo-native
utilizzando componenti come WebView di Android?

A conti fatti direi che non c'è poi tanto da sputarci sopra.

Il giorno 1 ottobre 2015 17:14, enrico franchi 
ha scritto:

>
> 2015-10-01 15:21 GMT+01:00 Manlio Perillo :
>
>> Io non avevo mai scritto di usare node.
>> Perchè mai dovrei usarlo?
>> Forse (e dico forse) l'unico campo per cui *potrei* usarlo è per i test
>> di codice Javascript.
>>
>
> Marco Paolini>  Questo tema sposta l'ago della bilancia a favore di
> javascript/nodejs come tecnologia per scrivere applicativi web.
>
> Enrico Franchi> Io tutt'ora fatico a trovare qualcosa che bilanci
> l'enorme svantaggio di dovere usare javascript. Il mondo di node.js mi
> sembra veramente rotto su piu' livelli.
>
> Manlio Perillo> La portabilità?
>
>
>
> Il misunderstanding e' dovuto al fatto che si stava parlando di fatto di
> node.js (e la mia menzione a Javascript e' relativa ad uno dei tanti
> problemi che vedo in Node.Js -- ovvero, per me uno dei difetti piu' grossi
> di node.js e' proprio dover scrivere Javascript), mentre tu non stavi
> minimamente parlando di Node.js ma avevi solo estrapolato la parola
> Javascript e hai calato tutto in contesto desktop vs. web che non era fra i
> punti toccati.
>
>
> --
> .
> ..: -enrico-
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Js vs QT - was [graphql] interessante alternativa/evoluzione rispetto al REST

2015-10-01 Thread Luca Bacchi
https://github.com/getify/You-Dont-Know-JS/blob/master/up%20&%20going/ch2.md#equality

In generale però trovo ragionevole usare '===' e non usare mai '=='.

L

Il giorno 1 ottobre 2015 19:36, Giovanni Porcari <
giovanni.porc...@softwell.it> ha scritto:

>
> > Il giorno 01 ott 2015, alle ore 19:07, Riccardo Magliocchetti <
> riccardo.magliocche...@gmail.com> ha scritto:
> >
> > Il 01/10/2015 18:31, Giovanni Porcari ha scritto:
> >>
> >>> Il giorno 01 ott 2015, alle ore 18:02, Riccardo Magliocchetti <
> riccardo.magliocche...@gmail.com> ha scritto:
> >>>
> >>> Il 01/10/2015 17:58, Giovanni Porcari ha scritto:
> >>>>
> >>>>> Il giorno 01 ott 2015, alle ore 17:22, Luca Bacchi <
> bacch...@gmail.com> ha scritto:
> >>>>>
> >>>>> Anche i Big investono molto su JavaScript e anche questo non va
> ignorato. Non conosco la storia, ma posso immaginare che se Nodejs è nato è
> soprattutto perchè V8 di Google aveva evidentemente raggiunto livelli tali
> di performance che potesse essere interessante utilizzarlo anche al di
> fuori del browser.
> >>>>
> >>>> Quello che vedo io è che javascript nasce per essere l'amicone sul
> client di PHP.
> >>>> Cioè un pessimo linguaggio lato server detta le specifiche per il
> linguaggio lato client.
> >>>>
> >>>> E non è che sia grave, tanto all'inizio è usato justo per fare
> qualche piccolo compito.
> >>>> Poi comincia ad essere usato più estesamente e viene via via
> integrato con nuove funzonalità
> >>>> di tutto rispetto ma nessuno si sente di rompere la
> retrocompatibilità e quindi
> >>>> certi peccati originali (come il confronto tra numeri e stringhe)
> deve obtorto collo restare.
> >>>>
> >>>> Poi Javascript arriva trionfante sul server con node.js e se ci fate
> caso infila di nuovo nel server
> >>>> quelle caratteristiche di PHP che si erano intrufolate in javascript.
> >>>>
> >>>> Dire che PHP è stato virale per certe sue scelte non è poi così
> lontano dal vero..
> >>>
> >>> E delle scie chimiche non ne parliamo? :) sembri un pò complottista
> con sto PHP.
> >>
> >> Normalmente non mi reputo un complottista ma mi pare innegabile che
> certe decisioni che sono anche giustificabili quando ti scrivi un Personal
> Home Page nel 1994 e che si infilano per compatibilità logica in javascript
> nel 1995 diventano una rottura di cazzo nel 2015 per scrivere complesse
> procedure lato client e diventano una rottura di cazzo al cubo se scrivi
> javascript sul server per node.js.
> >> Del resto cambiare queste decisioni e rendere il linguaggio più
> coerente andrebbe a creare problemi di retrocompatibilitá mica da ridere.
> >
> > Io francamente non vedo il legame tra i due. A quanto pare php è stato
> reso pubblico nel 1995 e non nel 1994 [1]: secondo me uno a cui piace
> scheme, che scrive un linguaggio in 3 settimane non credo se lo sia
> calcolato manco di striscio.
> >
>
> Puó darsi. Comunque amerei allora capire la ragione di certe scelte come
> "123" == 123.  Non sembra il genere di scelte fatte per caso.
>
> Ammetto che il fatto che php abbia fatto lo stesso tipo di scelta possa
> essere un caso.
>
> In ogni caso non è che una scelta che amo.
>
> G
>
> >> Detto questo parliamo  di scie chimiche visto che l'argomento ti
> interessa :P. Io non ci credo e tu?
> >
> > Nemmeno io
> >
> > [1]
> https://groups.google.com/forum/#!msg/comp.infosystems.www.authoring.cgi/PyJ25gZ6z7A/M9FkTUVDfcwJ
> >
> > --
> > Riccardo Magliocchetti
> > @rmistaken
> >
> > http://menodizero.it
> > ___
> > Python mailing list
> > Python@lists.python.it
> > http://lists.python.it/mailman/listinfo/python
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [graphql] interessante alternativa/evoluzione rispetto al REST

2015-10-03 Thread Luca Bacchi
Le SPA tipicamente ricevono dal server degli oggetti JSON che devono
renderizzare lato client con un motore di templating JavaScript tipo quelli
che avete citato sopra.

Tipicamente la SPA non riceve dal server pagine HTML, tranne nella prima
chiamata, ovviamente.

Proprio nella prima chiamata può avere senso inviare la pagina completa, e
non solo un container vuoto da dover poi riempire con successive chiamate
Ajax. Può avere senso proprio per ridurre la minimo la latenza, il
caricamento dell'applicazione.

È in questo passaggio che probabilmente si può riutilizzare lo stesso
codice di rendering, lato server e lato client.

Non credo che sia una cazzata o una moda. Credo che grossomodo le SPA
vadano più o meno fatte in questo modo.

Il giorno 3 ottobre 2015 15:24, Carlos Catucci 
ha scritto:

>
> 2015-10-03 14:53 GMT+02:00 Giovanni Porcari 
> :
>
>> Se avessi chiuso con 'Bazinga' sarebbe stato perfetto ;)
>
>
> +1
>
> Carlos
> --
> EZLN ... Para Todos Todo ... Nada para nosotros
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] [graphql] interessante alternativa/evoluzione rispetto al REST

2015-10-03 Thread Luca Bacchi
Ciao Carlos. È più o meno quello che intendevo.

Questi concetti, che mi pare siano alla base del moderno web design sono
spiegati molto meglio di quanto io sia in grado di fare in questo articolo
che vi condivido:

http://rauchg.com/2014/7-principles-of-rich-web-applications/

Ciao
Il 03/ott/2015 04:28 PM, "Carlos Catucci"  ha
scritto:

>
> 2015-10-03 16:22 GMT+02:00 Luca Bacchi :
>
>> Proprio nella prima chiamata può avere senso inviare la pagina completa,
>> e non solo un container vuoto da dover poi riempire con successive chiamate
>> Ajax. Può avere senso proprio per ridurre la minimo la latenza, il
>> caricamento dell'applicazione.
>
>
> E allungando i tempi di caricamento. Io da come le vedo caricherei la
> parte visibile all'avvio completa, e a document ready inizierei a prendere
> via ajax i contenuti delle "scatole" sottostanti. Questo almeno se per SPA
> si intende quelle a scrolling verticael. In caso ocntrario ovvio che carico
> tutto, le ajax calls dovrebbero esserci in risposta a eventi particolari
> (es, pressione di un tasto oppure apertura di un menu).
>
> Carlos
> --
> EZLN ... Para Todos Todo ... Nada para nosotros
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Dimmi tre libri informatici che non si può non aver letto

2015-11-30 Thread Luca Bacchi
http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read

Il giorno 30 novembre 2015 00:30, Giorgio Zoppi 
ha scritto:

> Be caro marco,
> io ci aggiungerei un quarto, il famoso dragon book..Compilers, Principles
> and Pratices.
> Poi un paio di libri per esercizi e la mente:
> Programming Pearls, di Jon Bentley
> Pragmatic Programmer di Andy Hunt,
> Design Patterns: Elements od Reusable Software ( noto como el libro de la
> gang of four).
> The Pratice of Programming di Kernighan and Pike.
> E un libro meno famoso ma ...muy bueno:
>
> *Programming Language Pragmatics*
>
> *Detto questo i libri che tu proponi sono el mejo del mejo.*
>
> 2015-11-29 17:50 GMT+01:00 Marco Beri :
>
>> Mi hanno fatto questa bella domanda e io ho risposto così:
>>
>> 1) Peopleware
>> 2) Clean Code: A Handbook of Agile Software Craftsmanship
>> 3) The Mythical Man-Month
>>
>> E voi? Cosa rispondereste?
>>
>> Ciao.
>> Marco.
>>
>> --
>> http://beri.it/ - Un blog
>> http://beri.it/i-miei-libri/ - Qualche libro
>> http://beri.it/articoli/ - Qualche articolo
>>
>> ___
>> Python mailing list
>> Python@lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>>
>>
>
>
> --
> Quiero ser el rayo de sol que cada día te despierta
> para hacerte respirar y vivir en me.
> "Favola -Moda".
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] __debug__ e EAFP

2016-05-10 Thread Luca Bacchi
In passato la cosa sconvolse pure me. Mi dissero che "assert" va usato solo
come forma di programmazione difensiva, non ci devi implementare della
logica, catturando e gestendo le eccezioni.

Il giorno 10 maggio 2016 12:03, Pietro Battiston  ha
scritto:

> Salve a tutti,
>
> ho appena scoperto __debug__ e l'opzione "-O":
>
> https://docs.python.org/2/reference/simple_stmts.html#assert
>
> e non so neanche esattamente come formulare la mia domanda, è più una
> vaga inquietudine... in un linguaggio in cui è "normale" che una
> exception venga catturata, come si fa a convivere con l'idea che
> "ottimizzazione" significhi "tutti gli AssertionError in tutte le
> possibili librerie che sto usando scompaiono"?!
>
> È considerata una flag criminale e sostanzialmente inutilizzabile?
> O dovrei invece pensare che il principio EAFP¹ tendenzialmente non si
> applica agli AssertionError, che invece vengono usati solo veramente
> per statement che devono essere sempre vere (e non "false ma catched")?
> (O mi sfugge semplicemente qualcosa?)
>
> Grazie delle illuminazioni,
>
> Pietro
>
> P.S: di ritorno da PyDataLondon - vi suggerisco caldamente, quando lo
> metteranno online, il video di http://pydata.org/london2016/schedule/pr
> esentation/76/
>
> ¹ https://docs.python.org/3/glossary.html#term-eafp
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] __debug__ e EAFP

2016-05-11 Thread Luca Bacchi
Io, prima di scoprire sta storia, scrivevo cose del tipo:

try:
assert len(l) != 0
# using l list
except AssertionError:
raise ValidationError()

Quasi come pattern per implementare semplici validazioni.

Ora so che non va fatto.

Il giorno 11 maggio 2016 13:39, Carlos Catucci 
ha scritto:

> 2016-05-11 12:48 GMT+02:00 enrico franchi :
> > E detto fra noi... ma veramente vogliamo usare assert come *controllo di
> > flusso*?
>
> A me era sembrato di capire che sia un oggetto da usare in svliluppo
> per avere dei conrolli. E non va abustao, a mio parere, neppure in
> devel e test.
> In production non dovebbe arrivare roba che non sia stata testata il
> piu' possibile, e se devo mettere delle assert in produzione ho idea
> che non ho fatto tutti i compiti a casa a modino. O mi sbaglio?
>
> Carlos
> --
> EZLN ... Para Todos Todo ... Nada para nosotros
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] python 3.6 & The Case Against Python 3

2016-11-23 Thread Luca Bacchi
Zed Shaw è famoso anche per "Rails is a Ghetto".

Il giorno 23 novembre 2016 09:47, Pietro  ha scritto:

> Ciao Lista,
>
> vedo che non è ancora passata in lista la notizia che è uscita la beta di
> Python 3.6.
>
> http://blog.python.org/2016/11/python-360-beta-4-is-now-available.html
> https://docs.python.org/3.6/whatsnew/changelog.html#python-3-6-0-beta-4
>
>
> Ad aprile terrò un corso interno su python per i miei colleghi, ed ero
> intenzionato a presentare python3 (3.6 possibilmente), sono incappato nel
> seguente post:
>
> https://learnpythonthehardway.org/book/nopython3.html
>
> che ha una posizione piuttosto critica sull'insegnamento di python3... :-)
> Giusto per darvi un'idea dice:
>
> *"I cannot teach Python 3 to total beginners because I don't want them to
> think they "suck at programming" when really it's Python 3's fault. That's
> simply not fair to them, so I have to teach Python 2 so they have the best
> chance at learning to code.*
> *[...]*
> *If you learn Python 2, then you can still work with all the legacy Python
> 2 code in existence until Python dies or you (hopefully) move on. But if
> you learn Python 3 then your future is very uncertain. You could really be
> learning a dead language and end up having to learn Python 2 anyway."*
>
> Voi come la vedete?
>
> Personalmente non condivido molte delle sue argomentazioni, però condivido
> la perplessità che con python 3.6 avremo ben tre modi diversi di fare lo
> string formatting. In genere tendo ad usare il vecchio %s etc, perchè più
> veloce... certo le f-string sembrano comode... però questi tre differenti
> modi per fare la stessa cosa sicuramente confondono chi inizia il
> linguaggio.
>
> Buona giornata
>
> Pietro
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python