bernarpa

bernarpa

(2 commenti, 5 articoli)

I’m an Italian (mad) computer scientist (muahaha) and software engineer with a master degree in computer science.

Pagina Principale: http://paolobernardi.wordpress.com/

Articoli di bernarpa

Introduzione a reStructuredText

0

reStructuredText (reST) è un linguaggio di markup nato per la documentazione di codice Python ed è utilizzato sia nelle docstring sia in documenti separati. La sua semplicità lo ha reso tuttavia simpatico anche a parecchi sviluppatori che usano altri linguaggi; è ormai piuttosto comune imbattersi in un README.rst mentre si guarda qualche progetto su GitHub.

(continua…)

Cambiare l’entry point di un programma con il GCC

0

NOTA: il procedimento descritto di seguito è riportato per fini puramente didattici/smanettonici. Non è una buona pratica nei programmi comuni, non è standard C e non è necessario salvo casi molto particolari.

Com’è noto, i programmi C/C++ vengono eseguiti dal sistema operativo a partire dalla funzione main. In realtà la stessa main viene richiamata da un’altra funzione, _start, che si occupa di inizializzare alcune cose, eseguire la funzione main ed infine di fare un po’ di pulizia con la funzione exit. La funzione _start è il codidetto entry point del programma, ovvero il punto dal quale inizia la sua esecuzione.

Il GCC consente di specificare un entry point personalizzato: in altre parole si possono scrivere programmi dove verrà eseguita una funzione a nostra scelta al posto della _start (e quindi anche della main). Vediamo un semplice esempio.

(continua…)

Python Package Index: facile, con PIP

1

Gli sviluppatori Python possono attingere dal Python Package Index (PyPI) ad una vasta quantità di moduli aggiuntivi non inclusi nella distribuzione standard (al momento in cui scrivo PyPI ne conta 12874). Per gestire tali pacchetti è conveniente usare il programma pip che consente, tra le altre cose, di installare i moduli del PyPI con una semplice linea di comando. (continua…)

virtualenv: gestire ambienti Python multipli senza problemi

3

Avendo a che fare con diversi progetti basati su Python, ciascuno richiedente varie librerie, è auspicabile avere diverse installazioni di Python separate, ciascuna con i moduli necessari ad ogni vostro progetto, piuttosto che una sola nella quale vengono installati tutti i moduli di tutti i progetti. Tuttavia, avere più installazioni separate è piuttosto oneroso, sia in termini di spazio, perché molti file sono ripetuti, sia in termini di gestione, perché bisogna configurare opportunamente le variabili d’ambiente per usare l’installazione di Python desiderata.

Grazie a virtualenv è possibile avere più ambienti Python sulla stessa macchina in modo pressoché immediato, senza sprecare spazio, e senza neanche la necessità di essere l’amministratore della macchina, assumendo che virtualenv sia già stato installato da quest’ultimo: con dei semplici comandi è possibile creare un’installazione virtuale di Python in una directory qualsiasi ed utilizzarla nella shell corrente; possiamo proprio chiamarla installazione virtuale perché la maggior parte dei file necessari sono collegamenti simbolici all’installazione principale di Python già presente sulla macchina (perché ce l’avete già Python, no?). In questo modo non viene sprecato molto spazio su disco, tuttavia i nuovi pacchetti installati con pip (consigliato) o con easy_install verranno installati soltanto nell’ambiente virtuale corrente, lasciando inalterata l’installazione di Python principale. (continua…)

Tieni al sicuro le tue password con KeyPassX

2

Oggi è normale avere diverse decine di account, tra email, siti web, etc…

Generalmente ci si riduce ad avere un’unica password per quasi tutti gli account così da non oberare di lavoro la nostra povera memoria. In questo modo però ci si espone a dei rischi: cosa potrebbe accadere se qualcuno venisse a conoscenza della nostra password? Magari è anche facile da indovinare… Magari è già conosciuta dall’intera B2 (vero Piro?)!

Una possibile soluzione è usare software come KeyPassX.

Screenshot di KeyPassX

(continua…)

bernarpa's RSS Feed
Torna all'inizio