Archivio della categoria ‘Programmazione’

Tutorial Python : 20 guide e tutorials Python per beginners ed esperti

python-logo

Altro articoletto dedicato a Python dopo averlo introdotto parlando di Django, framework potente per realizzare applicazioni web scritto proprio in Pyhton che é un linguaggio non molto sfruttato in ambito applicazioni web nonostante le enormi potenzialità a disposizione.

Python é un linguaggio di alto livello, facile da apprendere, orientato agli oggetti, portabile ed interpretato, cioé non occorre nessun compilatore per eseguirlo. Anche se non presenta particolari difficoltà di apprendimento per una sintassi sostanzialmente snella (Java, ad esempio, ha decisamente altro genere di sintassi) sono necessari dei tutorials o guide che vi aiutino ad apprendere i concetti base di Python (iteratori, classi, funzioni, moduli) e, soprattutto, vi spieghino passo passo alcuni esempi.

In questo articolo ho deciso di elencarvi alcuni interessanti e utili Tutorial Python suddivisi tra beginners ed esperti in modo che possiate scegliere anche in base al vostro livello di partenza. Con l’asterisco * ho contrassegnato i tutorial python in italiano.

Beginners

  1. Tutorial Python (a cura del fondatore Guido Van Rossum)    *
  2. Python Baby Course with exercises and answers
  3. Tutorial per principianti (Josh Cogliati)                              *
  4. Learn Python in 10 Minutes
  5. Python Beginner’s Guide
  6. A Byte of Python
  7. Python Babysteps Tutorial
  8. Python for Newbies
  9. Python 101 — Beginning Python by Dave Kuhlman
  10. Tutorial Python (Le Basi di Michele Sciabarrà)                    *

Esperti

  1. New: Python Tutorial Wiki
  2. Python 201 — (Slightly) Advanced Python Topics by Dave Kuhlman
  3. Discover Python: an 8 part Series from IBM
  4. Learn to Program Using Python
  5. Dive Into Python
  6. Python for Lisp Programmers
  7. Databases and Python Tutorial by Steve Holden
  8. Writing MySQL Scripts with Python DB-API
  9. Writing a Search Engine in Python
  10. Python for Mobile Devices

Basi di jQuery : DOM e html

Vorrei, di tanto in tanto, entrare meglio e più in dettaglio sul discorso jQuery. Le potenzialità di questo framework JS son tante e tali da doverle evidenziarle con un pò di teoria e molti esempi.

DOM

Se mi seguite, avrete visto come ogni tanto vi segnalo qualche plugin jQuery utile per il vostro blog, ma ora intendo approfondire l’argomento anche e soprattutto con qualche articolo step by step che segua un discorso logico e meglio articolato un pò come fatto per i fogli di stile css a suo tempo.

Prima di partire, però, credo sia necessario parlare di DOM ovvero di Document Object Model. Senza troppi giri di parole, citando Wikipedia :

DOM è lo standard ufficiale del W3C per la rappresentazione di documenti strutturati in maniera da essere neutrali sia per la lingua che per la piattaforma. DOM è inoltre la base per una vasta gamma delle interfacce di programmazione delle applicazioni; alcune di esse sono standardizzate dal W3C.

Il concetto é chiaro e cioè il DOM descrive in tutto e per tutto un modello gerarchico ad oggetti (tipo ad “albero”, tanto per semplificare la cosa) di quello che appare in una pagina HTML. Lo scopo é rendere facilmente accessibile ogni elemento della pagina e fornire metodi e attributi per operare su gli oggetti stessi.

Vediamo un esempio. Prendiamo il seguente semplice codice html :

<html>
<head>
<title>Il Mio primo Documento</title>
</head>
<body>
<h1>Header</h1>
<p>
Paragrafo
</p>
</body>
</html>

Quale sarebbe l’albero DOM del codice suddetto. Molto semplice :

DOM-html

Come vedete, si tratta di una rappresentazione gerarchica a tutti gli effetti che, logicamente, si complica con il crescere degli oggetto nella pagina html.

In sostanza, le possibilità messe a disposizione dal DOM son tante e tali che non solo si riesce a gestire ogni nodo, ma é possibile anche aggiungerne di nuovi oppure eliminarne alcuni già presenti.

È, inoltre, importante sottolineare un fatto : il DOM è indipendente dalla piattaforma e dal tipo di browser trattandosi di un’interfaccia definita direttamente dal W3C ed é lo strumento universale per tutti gli sviluppatori di pagine Web.

Document, element, node

Non volevo scendere troppo in dettaglio per non annoiarvi, ma lasciatemi concludere con i tre pilastri basilari del DOM : document, element e node

Come avrete intuito, il document è molto importante, perché è l’elemento che contiene tutti gli altri elementi del DOM. I metodi principali legati all’oggetto document si preoccupano di recuperare elementi nella pagina (getElementById() o getElementsByTagName()) e di creare nuovi elementi (createElement() o createTextNode())

Un elemento (element) si riferisce ad un elemento contraddistinto da un tag. Con tale definizione si intendono anche elementi che contengono altri elementi (ad esempio il tag TABLE, che può contenere tr e td ecc).

Il nodo (node), invece, include nella sua definizione tutti gli elementi, ma anche un testo o un semplice attributo. Quest’ultimo, quindi, non può avere altri attributi e non può contenere altri nodi.

Conclusioni

Ora che avete preso un minimo di dimestichezza e familiarità con il DOM, avrete meno difficoltà ad approcciare jQuery che, essendo Javascript, si basa fortemente sui conetti appena esposti.

Alla prossima, con i primi esempi jQuery!

Python IDE : ambienti di sviluppo Python

Parlando di Django, qualche giorno fa, ho introdotto l’argomento Python. Qualcuno (in chat, sia mai nei commenti, che ve possino!!) mi chiedeva quale fosse la migliore IDE per Python, ovvero il miglior ambiente di sviluppo in cui iniziare a cimentarsi con questo linguaggio di scripting.

Essendo anche io alle primissime armi, per scrivere questo articolo ho dovuto fare qualche ricerchina, ma, alla fine, sinceramente ho scoperto qualcosa che anche io non conoscevo. Eccovi un breve elenco di ambienti di sviluppo Python molto flessibili, semplici e con opzioni d’aiuto davvero interessanti.

Resta pur sempre il fatto che, spesso, ognuno si trova più a suo agio con un ambiente di sviluppo piuttosto che con un altro a prescindere dalle potenzialità e dalle funzionalità dell’IDE.

Active Python

Active Python thumb Python IDE : ambienti di sviluppo Python

Su Windows, esistono varie alternative per installare Python. ActiveState é consigliato perché offre un’installazione Windows per Python che comprende, oltre alla versione completa di Python, anche un IDE con un code-editor orientato a Python, più alcune estensioni di Windows per Python.

ActivePython è scaricabile gratuitamente ed é, probabilmente, la migliore IDE per chi muove i primi passi su Python. A questo link trovate una miniguida per la sua installazione.

Wing IDE

wing IDE

Wing è un IDE per l’ambiente Python davvero molto ricco di funzionalità e anche molto usabile. Annovera svariate opzioni per migliorare la scrittura del vostro codice come il debug dei programmi, l’autocompleter per evitare errori di battitura, la visualizzazione del codice funzionale e anche semplici strumenti di ricerca. E’ distribuito come versione gratuita oppure a pagamento, ma quella gratuita é decisamente sufficiente anche per applicazioni Python complesse.

Eclipse

pythonEditor thumb Python IDE : ambienti di sviluppo Python

Conoscerete tutti, sviluppatori o meno, questo ambiente di sviluppo. Credo sia il più completo in circolazione per quanto riguarda lo sviluppo Java, ma, forse saprete, mette a disposizione moduli e plugin aggiuntivi che lo rendono compatibile per la gestione di applicazioni in molti altri linguaggi. Python compreso. Eclipse, in generale, dispone di molte funzionalità che semplificano alla grande il lavoro del programmatore: Syntax Highlighting, Refactoring, Code Folding, Code Completion, Ottima Documentazione Integrata, Versioning ecc. Eccovi una guida per la configurazione del Plugin PyDev su Eclipse.

jShowOff: plugin jQuery per ruotare contenuti Html

jShowOff 300x141 jShowOff: plugin jQuery per ruotare contenuti Html

jShowOff è un plugin per jQuery molto flessibile che consente di ruotare qualsiasi tipo di contenuto HTML. In pratica, funziona semplicemente con la creazione di ‘diapositive’ dagli elementi figlio di un wrapper (come <li> , ad esempio).

Accanto a questo, la creazione e la produzione è completamente personalizzabile con le opzioni per l’impostazione automatica on / off, la velocità delle transizioni, vari controlli e molto altro ancora.

Le varie voci dell’oggetto ‘ruotato’ rotore possono essere navigate con l’aiuto di una impaginazione, con i pulsanti prev-next e con le varie thumbnails.

Davvero interessante!

Django : framework scritto in Pyton per creare applicazioni web

Django thumb Django : framework scritto in Pyton per creare applicazioni web

Anche se l’approccio a questo framework é dovuto ad un corso di aggiornamento in ambito lavorativo,spendo volentieri questo articolo per presentarvelo.

Django é un framework interamente scritto in Pyton e composto da un insieme di librerie. Le potenzialità di questo framework sono notevoli soprattutto per sviluppare applicazioni Web (proprio per questo scopo é stato pensato) ed é possibile realizzarle anche senza conoscere Python, ma basandosi solo sui meccanismi e le funzionalità del framework.

I sorgenti Django, gli esempi e tutta la documentazione ufficiale li trovate sul sito ufficiale.

Pyton : linguaggio di scripting

Premettiamo, per i molti che lo hanno solo sentito nominare, che Python è un linguaggio di scripting multipiattaforma, basato sostanzialmente sull’object oriented e sulla programmazione strutturata. Trovate numerosi tutorials o guide online per studiare o approfondire il Pyton. Ma, come detto, potrete lavorare con Django anche solo conoscendo le basi della programmazione ad oggetti o strutturata e qualcosa sulle basi dello sviluppo Web.

MVC su Django

mvc1 thumb Django : framework scritto in Pyton per creare applicazioni web

Django si basa totalmente sul pattern MVC, ovvero quello che vuole separare la logica dell’applicazione (controller) dal modello dei dati (model) e dall’interfaccia utente (view). Infatti, qualsiasi applicazione realizzata da Django si compone di Model, View, e Template. E, nel caso specifico, il Model é un insieme di classi Python per la rappresentazione delle tabelle del database (file models.py ), il View (corrisponde al Controller del modello MVC) sono funzioni Python che gestiscono i comportamenti delle varie pagine basandosi sull’interazione con l’utente e, infine, Template (corrisponde alla View del modello MCV) sono file di testo che descrivono la presentazione dei dati implementando la componente View del pattern.

Si tratta della classica suddivisione che consente anche un lavoro di gruppo ben specifico in cui sono coinvolti web developers (Model e View) e web designer (Template).

Ottimo ORM (object relational mapper)

Su Django potete scrivere e definire i vostri Models direttamente in python, e sarà poi l’ORM a trasformarli in codice sql. L’ORM di Django supporta PostgreSQL, mySQL, sqlite, Microsoft SQL Server ed Oracle.

Creare Siti e applicazioni con Django

Senza scendere in dettagli poco utili, vorrei solo spiegarvi come Django concepisce la realizzazione di un’applicazione o di un sito web. Ogni applicazione Django é concepita all’interno di un sito Django e, quindi, un sito Web può contenere più applicazioni (un forum,un portale, un blog, etc.)

Requisiti d’installazione

L’installazione di Django necessita :

Dopo aver installato e configurato Python e il Database Server, potete passare all’installazione Django prelevando ciò che vi occorre in base al sistema operativo direttamente da qui.

Documentazione

Ormai, dopo il difficile impatto iniziale, Django è uno dei framework più utilizati a livello web e, per la documentazione ufficiale, eccovi un ottimo libro chiamato DjangoBook (disponibile anche in versione cartacea), che si aggiorna ad ogni release.

Inoltre, se volete vedere e toccare con mano alcuni siti web sviluppati in Django, date un’occhiata a questo sito, in cui ne trovate un elenco parziale ma già abbastanza esaustivo.

Wordpress : effettuare il redirect della homepage al primo post di un blog

Le ragioni alla base di questa scelta potrebbero essere molteplici. Effettuare un redirect della home al primo post del vostro blog potrebbe mascherare lavori che state effettuando sulla Home, oppure potreste avere un blog con un solo articolo ecc Il trucchetto, insomma, risulterebbe utile e risolverebbe piccoli problemi. Come fare? Semplicemente incollando il codice qui [...]

Le API Google e i tools di sviluppo in un unico posto

Come tutti sapete, Google fornisce una marea di strumenti per web designer e sviluppatori e, quasi tutti, hanno le loro API per una più facile integrazione con i servizi di terze parti. Difficilmente chi sviluppa nel web può prescindere da queste API e Google ha pensato di rendere la vita ancora più fcile. Infatti, se [...]

Personalizzare gli elementi di un HTML5 Video con Mooplay

Presentando i nuovi tag video dell’Html5, vi avevo accennato che sarei tornato sicuramente sul tema che, da quel che vedo e sento, sta molto a cuore degli sviluppatori e webmaster in generale. Mooplay (costruito sulla base di MooTools) fornisce un insieme di controlli che ci permettono di creare e personalizzare un player video HTML5 . [...]