Personal tools

python

Oct 01, 2014

Cookiecutter: uno strumento per sfornare nuovi progetti a raffica

Ecco come hanno creato veramente i cloni

Cookiecutter: uno strumento per sfornare nuovi progetti a raffica

Come un bravo pasticciere, con gli stampini giusti si possono creare nuovi progetti facilmente e con semplici comandi. Io ci ho provato con Flask ed è venuto buonissimo.

Ho già parlato diverse volte di come la vita del programmatore migliora notevolmente con il riuso di codice (gli snippets per Sublime Text) e l'utilizzo di strumenti che velocizzano alcuni processi, come la creazione di un nuovo progetto (se vi ricordate, avevo scritto dell'ottimo mr.bob).

I generatori automatici di template non servono solamente a creare una struttura di base in un solo comando, ma sono anche molto utili per rispettare i vari standard e le best practices imposti dai vari framework e linguaggi.

Per un progetto personale (sì, la solita applicazione di gestione del Fantacalcio che ogni anno rifaccio per sperimentare cose nuove) avevo la necessità di creare un'applicazione Flask da zero.

Avevo bisogno di qualcosa di abbastanza strutturato, quindi ho iniziato a documentarmi sul pattern da utilizzare per suddividere i vari moduli.
Essendo pigro (e abituato ai vari Paste e mr.bob), però, mi sarebbe piaciuto anche trovare qualche strumento che facesse tutto da solo.

Ho trovato diversi modelli già pronti su github, dove bastava semplicemente clonarli e iniziare a lavorare, ma alla fine ho optato per provare un template ad hoc creato per Cookiecutter. Da buona tartaruga rossa non potevo scegliere uno strumento più azzeccato, per mantenere alta la nostra fama di mangioni!

read more

Sep 10, 2014

Play these (Python) strings until my fingers are raw

What Do You Want from Me

Play these (Python) strings until my fingers are raw

Filed Under:

This blog post is about the tricky task of subclassing immutable types in Python. Once you get it right, you will end up with superpowered objects

In one project I had to subclass the Python string type (namely str) in order to get some additional features.

Why I decided to do that?

Because I needed something:

  • supporting almost all the methods of the standard strings
  • with some custom attributes, additional methods
  • that could be compared and mixed with strings.

I had almost no choice. But subclassing str is a task that should be handled with special care because it is a so called immutable type.

read more

Apr 30, 2014

Pyinter: come gestire intervalli di tempo con Python

Peace on Earth

Pyinter: come gestire intervalli di tempo con Python

Filed Under:

Evitare overbooking? Trovare momenti liberi o individuare eventi che ricadono tra due istanti di tempo? Inutile spaccarsi la testa o reinventare la ruota

Perché Pynter

La libreria gestisce oggetti rappresentabili sotto forma di un intervallo matematico: in soldoni e senza essere troppo rigorosi, un intervallo è qualcosa che ha un inizio e una fine. Vien da sé che per descrivere oggetti come appuntamenti, prenotazioni ed eventi è perfetta!

Di librerie simili ce ne sono molte su PyPI, ad esempio:

read more

Apr 24, 2014

Integrare la validazione pyflakes in zest.releaser

Lo Zen Python: raggiungere il codice perfetto!

Integrare la validazione pyflakes in zest.releaser

Filed Under:

Ci sono molti strumenti di validazione del codice Python. Vediamo come integrare uno di questi (pyflakes) all'interno del nostro processo di rilascio

Tempo fa avevo mostrato tutti i modi con cui è possibile gestire i rilasci del vostro codice Plone/Python, terminando l'articolo con un plugin per zest.releaser, uno degli strumenti che più utilizziamo.

Di quanto zest.releaser sia utile, ben pensato ed estendibile, ne ho già parlato a sufficienza nel precedente articolo e non voglio ripetermi.
Oggi andiamo avanti nel processo di rendere il vostro codice migliore, introducendo un altro plugin: rt.zestreleaser.pyflakes.

read more

Jan 17, 2014

Elasticsearch: un motore di ricerca open source, distribuito e RESTful

nuovi tool da explorare

Elasticsearch: un motore di ricerca open source, distribuito e RESTful

Filed Under:

A inizio anno si pianificano le attività per l'anno che sta per iniziare. Nel 2014, tra la lista dei framework da approfondire, c'è sicuramente Elasticsearch

La settimana scorsa, leggendo l'articolo New Year's Python Meme 2014 di Alessandro Pisa, mi sono soffermato a riflettere sulla quinta domanda proposta nel meme:

What are the top three things you want to learn next year?

read more