You are reading the articles stored in Tutorial
May 24, 2013
WebHelpers, tanti piccoli aiuti per un web migliore
A volte si devono utilizzare finezze per avere un prodotto più gradevole o facilitarne lo sviluppo. Gli strumenti giusti per fare velocemente il lavoro sono fondamentali
Lavorando a un progetto Pyramid mi sono imbattuto in un pacchetto decisamente interessante: webhelpers.
Document Actions
Apr 12, 2013
How to automatically refresh your database in "silent mode"
Break away from dependence on the Lotus Notes client to update your database: an easy tutorial to get applications with the latest update every morning
Scenario: a development server, a release server and many production customers' servers: nothing more classic.
Every time a change is deployed on the release server, the best thing would be to "push" it automatically on production server, or as soon as possible (at least).
Document Actions
Apr 03, 2013
PuDB, ovvero: come ho imparato a velocizzare il mio debug
Quando si fa debug di codice poco "docile" è importante avere gli strumenti giusti per non impazzire sprecando tempo prezioso nel trovare il problema

Nella vita di ogni sviluppatore arriva il giorno in cui si incrocia la propria tastiera con codice incomprensibile, dai risultati inspiegabili e che, ovviamente, bisogna correggere. Avere gli strumenti adatti per il debugging è fondamentale.
Come programmatore python ho avuto modo di utilizzare diversi tipi di debugger, dal semplice pdb a una versione più completa: pdb++. Esistono debugger integrati nei vari IDE di sviluppo, di cui però non ho mai approfondito troppo l'uso dal momento che li ho sempre trovato ambienti un po' pesanti. Da amante della shell, divido il mio tempo di sviluppo fra vim e un editor di testo molto semplice come sublime.
Document Actions
Mar 12, 2013
Quando la sicurezza in Plone è importante: reindexObjectSecurity
Quando gli indici introdotti da prodotti aggiuntivi hanno a che fare con la sicurezza del sito, è meglio prendere alcune precauzioni per evitare problemi
Per chiunque sviluppi con Plone, diventa presto chiara l'importanza del catalogo e, contemporaneamente, la necessità di mantenere il catalogo del sito aggiornato.
L'API principale a cui si fa riferimento per aggiornare lo stato di un contenuto nel catalogo Plone è la chiamata a reindexObject:
>>> context.setTitle('Nuovo titolo')
>>> context.reindexObject()
>>> context.title()
'Nuovo titolo'
Fin qui, nulla di nuovo.
Document Actions
Mar 11, 2013
E' uscito il Buildout 2.0! Posso rilanciare il mio buildout?
Viene rilasciata una nuova versione di un pacchetto, e per molti Plonisiti è il caos. Vediamo come usare (o non usare) il Buildout 2.0
Non è molto che è uscita la versione 2.0 di zc.buildout e, come spesso accade, i buildout, soprattutto quelli un po’ più vecchi, non prendono di buon grado l’aggiornamento.
Nel caso di questo pacchetto, le cause sono alcuni import che sono cambiati o sono stati spostati.
Il Buildout 2.0 fa un taglio netto con il passato che, con le versioni 1.6 e 1.7, aveva come obiettivo principale quello di isolare il più possibile il buildout dalla componente Python. Ma il compito si è rivelato troppo difficile da implementare, e quindi si è scelto di abbandonare questa strada e lasciare all’utilizzatore di decidere tramite l'utilizzo di virtualenv.
Non è però in questo articolo che voglio analizzare le modifiche apportate a questo componente (che potete comunque trovare qui). Oggi vediamo cosa fare per far funzionare i nostri bulidout.