Aggiornare tutte le Ruby gems installate
Per aggiornare le gem installate suggerisco di: Aggiornare la versione di RubyGems installata:gem update –system Aggiornare tutte le gemme installate: gem update Rimuovere la versione “obsoleta” delle gemme installate: gem cleanup Può capitare che ci siano dei problemi di dipendenze durante la fase di cleanup: michele@delta:~ % gem cleanup [ 7:00PM] Cleaning up installed gems… [...]
Aggiornare tutti i package Python installati con pip
Per aggiornare tutti i package Python installati, suggerisco di usare pip nel seguente modo: Aggiorno pip all’ultima versione (suppongo di avere easy_install): easy_install -U pip Estraggo la lista dei pkg installati e li aggiorno uno per uno: pip freeze –local | cut -d = -f 1 | xargs pip install -U
Come mandare un segnale SIGINT (Ctrl-C) ad un programma che gira nella console di Eclipse
Quando si sviluppa un programma che deve girare ininterrottamente nella console, non ci sono problemi se si lancia il programma da console e lo si termina tramite la più classica delle combinazioni: Ctrl-C. Ma come si termina lo stesso programma se lo si è lanciato da Eclipse? Si deve lanciare un segnale al processo, e più [...]
Installare più plugin contemporaneamente su Eclipse
Eclipse è il mio IDE preferito per tutti gli sviluppi. Per migliorare le funzionalità di Eclipse, utilizzo alcuni plugin che semplificano il processo di sviluppo (ma dei plugin che utilizzo ve ne parlerò in un altro post). Un piccolo accorgimento che mi è stato utile è quello di installare più plugin contemporaneamente (dopo l’installazione di [...]
FizzBuzz: una sfida per programmatori
Un quesito che viene spesso richiesto ai programmatori è quello di scrivere un programma FizzBuzz: Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five [...]
django: come fare il deploy di un’applicazione su Apache
Una volta che avete terminato lo sviluppo di un’applicazione basata su django, è il momento di installarla in produzione. Nel mio caso, ho utilizzato django 1.3.1 e ho scelto di utilizzare Apache e mod_wsgi. Vediamo come fare il deploy passo-passo: Fortunatamente mod_wsgi richiede Apache mpm-worker (anziché il meno performante prefork) che su Debian/Ubuntu è facilmente installabile tramite sudo apt-get [...]
AJAX per applicazioni web: la mia recensione
Nell’epoca del Web 3.0 ho letto questo libro che tratta (a grandi linee, come vi spiegherò tra poco) di AJAX, la enabling technology del Web 2.0. Ma cos’è AJAX? È un insieme di tecnologie (tra cui Javascript e XML) che permettono lo scambio di dati tra client e server in modo asincrono, permettendo di realizzare [...]
Linguaggio C, seconda edizione (K&R): la mia recensione
In pochi giorni ho letto una pietra miliare dei libri della programmazione, il famoso K&R (dagli autori Kernighan & Ritchie); si tratta del libro più famoso per quanto riguarda la programmazione C. In libro è molto breve (in totale 340 pagine, ma le ultime ~100 pagine di appendice sono una reference manual condensata). Il libro [...]
require_relative in ruby 1.9 e la retrocompatibilità con ruby 1.8
A partire da ruby 1.9 è obbligatorio utilizzare l’istruzione: require_relative ‘pkg’ affinché venga importato il modulo ‘pkg’ presente nella stessa directory in cui è presente il modulo che stiamo scrivendo. Mi spiego meglio: dato un modulo ruby detto ‘pkg’, se vogliamo importarlo in un altro file (chiamiamolo ‘foo’ per semplicità), dobbiamo scrivere: in ruby 1.8: require [...]
gitignore: un filtro per escludere i file da non versionare in un repository git
Prima di fare un push su un repository git è importante avere configurato il gitignore, ovvero specificare quali files non devono essere versionati in un repository git. A titolo di esempio: i file .pyc, o più in generale i prodotti della compilazione di un qualsiasi file di sorgente; versionare questi files, infatti, non ha senso. [...]
Social media