Re: [Python] Un paio di domande (Era: Consiglio su web framework)
Il mar 13 giu 2023, 12:42 Davide Muzzarelli ha scritto: Ciao Davide, grazie On 13/06/23 09:18, Giuliano Curti wrote: > > 1) . > > . > > Qui puoi approfondire per le connessioni concorrenti: > > https://www.sqlite.org/cgi/src/doc/begin-concurrent/doc/begin_concurrent.md Vado subito a vedere :-) E' meglio usare le connessioni in modalità Context Manager: ci pensa il > context manager ad effettuare il commit . > Del commit penso di non aver bisogno, all'utente consento solo il SELECT (l'utente in realtà compila dei campi e l'istruzione Ca compilo io). > > Gentili saluti, > Davide Muzzarelli > Grazie, ciao, Giuliano ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Un paio di domande (Era: Consiglio su web framework)
On 13/06/23 09:18, Giuliano Curti wrote: 1) Connessione db. Nel mio sistema devo interrogare il DB (eseguo solo interrogazioni SELECT) in due punti, due pagine diverse; mi chiedo se sia meglio un'apertura iniziale o se al contrario sia meglio aprire e chiudere il db quando richiesto? Scusami, mi sono accorto ora che usi SQLite. Con SQLite le connessioni in scrittura aprono il database bloccando altre connessioni, per cui se hai più processi o thread è necessario aprirle e chiuderle ad ogni uso. Qui puoi approfondire per le connessioni concorrenti: https://www.sqlite.org/cgi/src/doc/begin-concurrent/doc/begin_concurrent.md E' meglio usare le connessioni in modalità Context Manager: ci pensa il context manager ad effettuare il commit appena finito. Fintanto che il commit non è fatto i dati non vengono salvati effettivamente su disco. Qui hai un esempio: https://docs.python.org/3/library/sqlite3.html#sqlite3-connection-context-manager Gentili saluti, Davide Muzzarelli ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
Re: [Python] Un paio di domande (Era: Consiglio su web framework)
On 13/06/23 09:18, Giuliano Curti wrote: 1) Connessione db. Nel mio sistema devo interrogare il DB (eseguo solo interrogazioni SELECT) in due punti, due pagine diverse; mi chiedo se sia meglio un'apertura iniziale o se al contrario sia meglio aprire e chiudere il db quando richiesto? Sarebbe meglio avere un pool di connessioni, così si occupa esso ad aprirle solo quando necessario. Una mia sensazione da niubbo mi fa pensare che meno aperto sta il db, meno possibilità di corruzione dei dati, quindi opterei per la seconda (apertura e chiusura ogni volta) però è magari una mia sindrome da ignoranza. Non c'è mai corruzione dei dati, ci pensa il DB ad evitarle. Aprire una connessione è più costoso che usarne una già aperta. La migliore ottimizzazione è appunto un pool di connessioni, piccolo o grande che sia. 2) Cookies. Conosco poco l'argomento, ma penso di non doverne far uso e quindi non dovrei avere bisogno di segnalazioni all'utente e di richiedere / ottenere autorizzazioni. Se apri il cookie per il solo login allora non hai bisogno del banner, inserirai la conferma per la privacy in fase di registrazione dell'utente. Se apri però un qualsiasi cookie senza che l'utente abbia fatto espressamente login allora hai bisogno del banner. Hai bisogno del banner anche se carichi risorse da altre sorgenti, come ad esempio: Google Fonts, CDN di terzi, Google Analytics. Gentili saluti, Davide Muzzarelli ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python
[Python] Un paio di domande (Era: Consiglio su web framework)
Ciao a tutti, rispolvero questi vecchio thread per un paio di informazioni che vi devo chiedere. Seguendo i vostri consigli sono andato avanti nel mio progetto e sotto, così vanno a vederlo solo gli interessati, metto qualche notizia sul lavoro fatto. Le domande (non specifiche python, ma python è la marmellata che coinvolge tutto, quindi spero qui tollerate :-) che volevo fare sono: 1) Connessione db. Nel mio sistema devo interrogare il DB (eseguo solo interrogazioni SELECT) in due punti, due pagine diverse; mi chiedo se sia meglio un'apertura iniziale o se al contrario sia meglio aprire e chiudere il db quando richiesto? Non essendoci una fine della procedura non c'è in effetti una chiusura del db, penso venga chiuso in automatico all'interruzione della procedura (bottle ha solo la funzione run() interrotta con un ctl-C). Una mia sensazione da niubbo mi fa pensare che meno aperto sta il db, meno possibilità di corruzione dei dati, quindi opterei per la seconda (apertura e chiusura ogni volta) però è magari una mia sindrome da ignoranza. 2) Cookies. Conosco poco l'argomento, ma penso di non doverne far uso e quindi non dovrei avere bisogno di segnalazioni all'utente e di richiedere / ottenere autorizzazioni. Ci sono eventualmente considerazioni normative e/o funzionali che consigliano una strada diversa? Grazie della pazienza, un saluto, Giuliano -- Lavoro fatto (cerco di essere breve, però disponibile ad ogni domanda). Ricordo che il mio obiettivo era trasformare elenchi di documenti (atti comunali) da un formato PDF ad un formato sqlite, quindi interrogabile, e successivamente offrire liberamente la consultazione online. La prima parte è essenzialmente conclusa; ho messo a punto 4+ script per 1) lettura degli elenchi PDF (PyPDF2) 2) estrazione delle informazioni significative (re) 3) validazione dei dati 4) importazione nel DB (sqlite3). Il passo 2 è costituito a sua volta da più script perché gli elenchi cambiano nel tempo; anziché scrivere un'unica procedura per coprire tutti i casi ho preferito scrivere piccole procedure ad hoc, dettaglio cmq marginale. Sto affrontando la seconda parte e qui ho scelto, come indicato da molti di voi, bottle.py. A questo punto arrivano le domande fatte sopra. ___ Python mailing list Python@lists.python.it https://lists.python.it/mailman/listinfo/python