SlideShare a Scribd company logo
1 of 18
Download to read offline
Introduzione a Python
e GitHub
Come migliorare il teamworking utilizzando GitHub
Presenter
GDG Campania Co-organizer Vincenzo Santopietro
Python : cos’è?
Introduzione al linguaggio e analisi prestazionale
Cos’è Python ?
Python è un linguaggio di programmazione ad
alto livello
Supporta diversi paradigmi di programmazione
(OOP con ereditarietà multipla e imperativa)
Python è semplice da imparare
Gestione dinamica ( e automatica ) della
memoria e libreria built-in estremamente ricca
Tipizzazione dinamica
Cos’è Python ?
Python è un linguaggio pseudocompilato.
Lo script .py viene trasformato dal bytecode
compiler in un file .pyc contenente istruzioni
comprensibili per la Python virtual machine.
Il modulo bytecode viene
importato dalla Virtual
Machine che, a sua volta,
restituisce l’output del
programma.
Il modulo .pyc viene ricompilato se il timestamp
dello script .py è più recente
Python
VS
C
Un po’ di codice
Semplicità contro efficienza
Python
print 'Hello, World!’
C
include <stdio.h>
int main()
{
printf("hello, worldn");
}
Cpython - Cython - Jython - IronPython
•  Cpython: implementazione più diffusa
( comunemente utilizzata ) di python, scritto
in C
•  Cython: linguaggio di programmazione
molto simile al python che permette chiamate
a funzioni C/C++ in maniera diretta
•  Jython: successore di JPython, è
un'implementazione del linguaggio di
programmazione Python scritto in Java
•  IronPython: implementazione di Python
scritta in C# integrata con .NET
GitHub
Introduzione + demo live
Cos’è GitHub
Git GitHub
Progetto open ideato da Linus
Torvalds. Pensato inizialmente come
sistema di back-end utilizzabile da terzi
per la progettazione di un sistema
front-end.
Il Kernel Linux ( ovviamente ) utilizza
Git per il controllo versione.
Piattaforma Web per il controllo della
versione del software (e non solo).
Permette di aggiornare programmi
aggiungendo o eliminando codice
senza dover sovrascrivere alcun file.
Basato sul progetto open soruce Git.
Cosa permette di fare GitHub
•  Creare repository per hostare il proprio
prodotto software
•  Lavorare su branch per apportare in
maniera parallela modifiche al codice
•  Commit per confermare dei cambiamenti
•  Effettuare Merge per fondere le modifiche
fatte su un branch al repository madre
•  Effettuare Pull Request per notificare al
team che una determinata feature
sviluppata su un branch è stata completata
e deve essere revisionata.
Caricare file tramite GUI
Caricare file tramite GUI
Caricare file tramite GUI
Caricare file tramite GUI
Caricare file tramite GUI
Sviluppo python su GitHub
<Thank You!>
Time to practice!
email:
G+ plus.google.com/+VincenzoSantopietro/
Slideshare http://slideshare.com/vincenzosantopietro
github http://github.com/vincenzosantopietro
vinsantopietro@gmail.com
Introduzione a Python e GitHub

More Related Content

Viewers also liked

Viewers also liked (6)

Introduzione a Python
Introduzione a PythonIntroduzione a Python
Introduzione a Python
 
Crea il tuo primo repository su GitHub
Crea il tuo primo repository su GitHubCrea il tuo primo repository su GitHub
Crea il tuo primo repository su GitHub
 
Git e Git Flow
Git e Git Flow Git e Git Flow
Git e Git Flow
 
Introduzione a GIT - Webinar Zend
Introduzione a GIT - Webinar ZendIntroduzione a GIT - Webinar Zend
Introduzione a GIT - Webinar Zend
 
Perchè Git?
Perchè Git?Perchè Git?
Perchè Git?
 
Introduzione a Git
Introduzione a GitIntroduzione a Git
Introduzione a Git
 

Similar to Introduzione a Python e GitHub

Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazioneDaniele Costarella
 
zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"
zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"
zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"PyCon Italia
 
CruiseControl.net in un progetto reale
CruiseControl.net in un progetto realeCruiseControl.net in un progetto reale
CruiseControl.net in un progetto realeDotNetMarche
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Daniele Falamesca
 
GAE python GDG Milano - L01
GAE python GDG Milano - L01GAE python GDG Milano - L01
GAE python GDG Milano - L01Paolo Dadda
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsIgor Antonacci
 
Introduzione a Git e GitLab
Introduzione a Git e GitLabIntroduzione a Git e GitLab
Introduzione a Git e GitLabYefry Figueroa
 
High Level Synthesis Using Esterel
High Level Synthesis Using EsterelHigh Level Synthesis Using Esterel
High Level Synthesis Using EsterelAlberto Minetti
 
Php Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel BuioPhp Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel Buiopietrobr
 

Similar to Introduzione a Python e GitHub (20)

Linux Embedded per l'automazione
Linux Embedded per l'automazioneLinux Embedded per l'automazione
Linux Embedded per l'automazione
 
Buildout
BuildoutBuildout
Buildout
 
zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"
zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"
zc.buildout: "Un modo estremamente civile per sviluppare un'applicazione"
 
App Engine + Python
App Engine + PythonApp Engine + Python
App Engine + Python
 
CruiseControl.net in un progetto reale
CruiseControl.net in un progetto realeCruiseControl.net in un progetto reale
CruiseControl.net in un progetto reale
 
Foss ieri e oggi
Foss ieri e oggiFoss ieri e oggi
Foss ieri e oggi
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
 
GAE python GDG Milano - L01
GAE python GDG Milano - L01GAE python GDG Milano - L01
GAE python GDG Milano - L01
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
Introduzione a Git e GitLab
Introduzione a Git e GitLabIntroduzione a Git e GitLab
Introduzione a Git e GitLab
 
Controllo di versione e Git
Controllo di versione e GitControllo di versione e Git
Controllo di versione e Git
 
Tesi-Todone
Tesi-TodoneTesi-Todone
Tesi-Todone
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Postman&PythonDjango2017Italiano
Postman&PythonDjango2017ItalianoPostman&PythonDjango2017Italiano
Postman&PythonDjango2017Italiano
 
Azure dev ops meetup one
Azure dev ops meetup oneAzure dev ops meetup one
Azure dev ops meetup one
 
Continuos Integration
Continuos IntegrationContinuos Integration
Continuos Integration
 
Django introduction
Django introductionDjango introduction
Django introduction
 
Django introduction
Django introductionDjango introduction
Django introduction
 
High Level Synthesis Using Esterel
High Level Synthesis Using EsterelHigh Level Synthesis Using Esterel
High Level Synthesis Using Esterel
 
Php Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel BuioPhp Day 2009:Un Salto Nel Buio
Php Day 2009:Un Salto Nel Buio
 

Introduzione a Python e GitHub

  • 1.
  • 2. Introduzione a Python e GitHub Come migliorare il teamworking utilizzando GitHub Presenter GDG Campania Co-organizer Vincenzo Santopietro
  • 3. Python : cos’è? Introduzione al linguaggio e analisi prestazionale
  • 4. Cos’è Python ? Python è un linguaggio di programmazione ad alto livello Supporta diversi paradigmi di programmazione (OOP con ereditarietà multipla e imperativa) Python è semplice da imparare Gestione dinamica ( e automatica ) della memoria e libreria built-in estremamente ricca Tipizzazione dinamica
  • 5. Cos’è Python ? Python è un linguaggio pseudocompilato. Lo script .py viene trasformato dal bytecode compiler in un file .pyc contenente istruzioni comprensibili per la Python virtual machine. Il modulo bytecode viene importato dalla Virtual Machine che, a sua volta, restituisce l’output del programma. Il modulo .pyc viene ricompilato se il timestamp dello script .py è più recente
  • 6. Python VS C Un po’ di codice Semplicità contro efficienza Python print 'Hello, World!’ C include <stdio.h> int main() { printf("hello, worldn"); }
  • 7. Cpython - Cython - Jython - IronPython •  Cpython: implementazione più diffusa ( comunemente utilizzata ) di python, scritto in C •  Cython: linguaggio di programmazione molto simile al python che permette chiamate a funzioni C/C++ in maniera diretta •  Jython: successore di JPython, è un'implementazione del linguaggio di programmazione Python scritto in Java •  IronPython: implementazione di Python scritta in C# integrata con .NET
  • 9. Cos’è GitHub Git GitHub Progetto open ideato da Linus Torvalds. Pensato inizialmente come sistema di back-end utilizzabile da terzi per la progettazione di un sistema front-end. Il Kernel Linux ( ovviamente ) utilizza Git per il controllo versione. Piattaforma Web per il controllo della versione del software (e non solo). Permette di aggiornare programmi aggiungendo o eliminando codice senza dover sovrascrivere alcun file. Basato sul progetto open soruce Git.
  • 10. Cosa permette di fare GitHub •  Creare repository per hostare il proprio prodotto software •  Lavorare su branch per apportare in maniera parallela modifiche al codice •  Commit per confermare dei cambiamenti •  Effettuare Merge per fondere le modifiche fatte su un branch al repository madre •  Effettuare Pull Request per notificare al team che una determinata feature sviluppata su un branch è stata completata e deve essere revisionata.
  • 17. <Thank You!> Time to practice! email: G+ plus.google.com/+VincenzoSantopietro/ Slideshare http://slideshare.com/vincenzosantopietro github http://github.com/vincenzosantopietro vinsantopietro@gmail.com