(Go: >> BACK << -|- >> HOME <<)

SlideShare a Scribd company logo
App Engine Take Off
Maggio 2015
Python
Il framework: webapp2
GDG Milano - Paolo Dadda - 2DWeb
Milano, 20 maggio 2015
@TalentGarden, Via Merano, 16
#gae #gdgmilano
Maggio 2015
Google App Engine
Python
Il framework: webapp2
#gae #gdgmilano
Paolo Dadda
Membro IWA ITALY nr. 0307429
Professionista Web ai sensi della Legge 4/2013
Contatti:

Tel.: 393.4298004
Ufficio: Via 4 Novembre, 94 Cislago (VA)
WebSite: www.2dweb.it
Mail: info@2dweb.it
Cosa vedremo oggi?
- Model

- Memcache

- Upload

- CodeLab !

Verrà inoltre rilasciato il codice per
“essere sempre tutti allo stesso punto”
Piano delle lezioni
Lezione 1 (Febbraio 2015)
Introduzione
Lezione 2 (Marzo 2015)
WebApp2 & Basi per uso di Model, Template, Handler
Lezione 3 (Aprile 2015)
Handler, Mail, Get, Post
Lezione 4 (Maggio 2015)
Model, Upload, Memcache
Lezione 5 (3 Giugno 2015)
Template, Jinja2, Exception
Lezione 6 (Giugno 2015)
Blobstore & Google Cloud Storage
Come possiamo salvare dei dati 

nella nostra applicazione o sito web?
il Datastore
il Model
i dati e la loro

rappresentazione
Il Model
Il Model è il responsabile della
gestione dei dati dell’applicazione o
del sito; permette di mappare un
oggetto sul Datastore (il database di
Google App Engine), senza scrivere
righe SQL, ma scrivendone soltanto
una descrizione nel codice.
Model: qualche esempio
Fonte: https://cloud.google.com/appengine/docs/python/ndb/modelclass
Model: qualche esempio
Fonte: https://cloud.google.com/appengine/docs/python/ndb/modelclass
Model
Fonte: https://cloud.google.com/appengine/docs/python/ndb/modelclass
Model
Fonte: https://cloud.google.com/appengine/docs/python/ndb/modelclass
La Memcache
https://cloud.google.com/appengine/docs/python/memcache/
La Memcache
(dalla documentazione GAE)
CHIAVE VALORE
E’ UNA COPPIA DI CHIAVI E VALORI SALVATA IN MEMORIA
“stato” = “attivo”
E’ FONDAMENTALE PERCHE’:
Ci permette di:

- Migliorare le performance del sito / applicazione

- Risparmiare sui costi e sulle operazioni
La Memcache
La Memcache
(dalla documentazione GAE)
NON METTETE TUTTO IN CACHE
La Memecache è limitata, 

e può scadere in ogni momento
QUALCHE NOTA:
- Potete sempre acquistare (pagandola) della memcache dedicata

- La vostra applicazione deve poter funzionare senza memcache
Upload
https://cloud.google.com/appengine/docs/python/blobstore/
Upload su GAE
(dalla documentazione GAE)
Upload su GAE
(dalla documentazione GAE)
Upload su GAE
(dalla documentazione GAE)
Upload su GAE
(dalla documentazione GAE)
Risorse e codice:
Documentazione GAE Python:

https://cloud.google.com/appengine/docs/python/ 

Il Model - ndb:

https://cloud.google.com/appengine/docs/python/ndb/modelclass

La Memcache:

https://cloud.google.com/appengine/docs/python/memcache/

Upload - il Blobstore:

https://cloud.google.com/appengine/docs/python/blobstore/

File “allineamento” fine giornata nella cartella dedicata all’evento

http://bit.ly/eventi-gdg-milano (Aprire poi la cartella App Engine Take Off)

Indirizzo per questa slide:

http://www.slideshare.net/ilpaolino/gae-python-gdg-milano-l04
Domande?
?? ?
Pausa Caffè,
poi CodeLab! 5 minuti
CodeLab !
Realizziamo la seconda parte del sito sull’Evento Tal dei Tali
• Realizzare una pagina html con un form per l’invio dei dati
• Recupero dei dati tramite POST
• Salvare i dati su un oggetto nel datastore (es. nome, cognome, mail, foto)
• FACOLTATIVO: mostra anche una lista degli oggetti salvati
• FACOLTATIVO: modifica gli oggetti in lista mediante una nuova form dedicata
• FACOLTATIVO: salva e recupera la lista da Memcache
• Salvare un’immagine nel Blobstore
• FACOLTATIVO: crea un link per eliminare un file salvato sul Blobstore

More Related Content

Viewers also liked

Laré Word Resume
Laré Word ResumeLaré Word Resume
Laré Word Resume
Lar Word
 
Mapa conceptual karla
Mapa conceptual karlaMapa conceptual karla
Mapa conceptual karla
Karla Parra
 
12 MILLAS OTTO MEDEM ARQUITECTO PRESENTACIÓN
12 MILLAS OTTO MEDEM ARQUITECTO PRESENTACIÓN12 MILLAS OTTO MEDEM ARQUITECTO PRESENTACIÓN
12 MILLAS OTTO MEDEM ARQUITECTO PRESENTACIÓN
Pablo Camps
 
RedCanoeCU.com UX Review by BloomCU
RedCanoeCU.com UX Review by BloomCURedCanoeCU.com UX Review by BloomCU
RedCanoeCU.com UX Review by BloomCU
BloomCU
 
Gerencia de proyectos educativos udes
Gerencia de proyectos educativos udesGerencia de proyectos educativos udes
Gerencia de proyectos educativos udes
Caro Quigua
 
HISTÓRIAS DE PROFESSORAS: CONCEPÇÕES SOBRE A ESCOLHA DA PROFISSÃO DOCENTE
HISTÓRIAS DE PROFESSORAS: CONCEPÇÕES SOBRE A ESCOLHA DA PROFISSÃO DOCENTEHISTÓRIAS DE PROFESSORAS: CONCEPÇÕES SOBRE A ESCOLHA DA PROFISSÃO DOCENTE
HISTÓRIAS DE PROFESSORAS: CONCEPÇÕES SOBRE A ESCOLHA DA PROFISSÃO DOCENTE
ProfessorPrincipiante
 

Viewers also liked (6)

Laré Word Resume
Laré Word ResumeLaré Word Resume
Laré Word Resume
 
Mapa conceptual karla
Mapa conceptual karlaMapa conceptual karla
Mapa conceptual karla
 
12 MILLAS OTTO MEDEM ARQUITECTO PRESENTACIÓN
12 MILLAS OTTO MEDEM ARQUITECTO PRESENTACIÓN12 MILLAS OTTO MEDEM ARQUITECTO PRESENTACIÓN
12 MILLAS OTTO MEDEM ARQUITECTO PRESENTACIÓN
 
RedCanoeCU.com UX Review by BloomCU
RedCanoeCU.com UX Review by BloomCURedCanoeCU.com UX Review by BloomCU
RedCanoeCU.com UX Review by BloomCU
 
Gerencia de proyectos educativos udes
Gerencia de proyectos educativos udesGerencia de proyectos educativos udes
Gerencia de proyectos educativos udes
 
HISTÓRIAS DE PROFESSORAS: CONCEPÇÕES SOBRE A ESCOLHA DA PROFISSÃO DOCENTE
HISTÓRIAS DE PROFESSORAS: CONCEPÇÕES SOBRE A ESCOLHA DA PROFISSÃO DOCENTEHISTÓRIAS DE PROFESSORAS: CONCEPÇÕES SOBRE A ESCOLHA DA PROFISSÃO DOCENTE
HISTÓRIAS DE PROFESSORAS: CONCEPÇÕES SOBRE A ESCOLHA DA PROFISSÃO DOCENTE
 

Similar to GAE python GDG Milano L04

GAE python GDG Milano L06
GAE python GDG Milano L06GAE python GDG Milano L06
GAE python GDG Milano L06
Paolo Dadda
 
Gae python GDG Milano L05
Gae python GDG Milano L05Gae python GDG Milano L05
Gae python GDG Milano L05
Paolo Dadda
 
Wp app studio_new
Wp app studio_newWp app studio_new
Wp app studio_new
Piero Sbressa
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
Francesco Sciuti
 
Working between the clouds
Working between the cloudsWorking between the clouds
Working between the clouds
Davide Cerbo
 
Google app engine_gae_intro
Google app engine_gae_introGoogle app engine_gae_intro
Google app engine_gae_intro
firenze-gtug
 
Go on AppEngine
Go on AppEngineGo on AppEngine
Go on AppEngine
Gabriele Baldoni
 
Routing (2/3) | Train to Symfony
Routing (2/3) | Train to SymfonyRouting (2/3) | Train to Symfony
Routing (2/3) | Train to Symfony
inmarelibero
 
Gae cloud computing_bar_camp_bologna
Gae cloud computing_bar_camp_bolognaGae cloud computing_bar_camp_bologna
Gae cloud computing_bar_camp_bologna
firenze-gtug
 
MageDay 2013 - Magento e TYPO3: una soluzione integrata
MageDay 2013 - Magento e TYPO3: una soluzione integrataMageDay 2013 - Magento e TYPO3: una soluzione integrata
MageDay 2013 - Magento e TYPO3: una soluzione integrata
Mauro Lorenzutti
 
Matteo baccan raspberry pi - linox 2015 - corso parte 2
Matteo baccan   raspberry pi - linox 2015 - corso parte 2Matteo baccan   raspberry pi - linox 2015 - corso parte 2
Matteo baccan raspberry pi - linox 2015 - corso parte 2
Matteo Baccan
 
Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Diego La Monica
 
Launchpad e code review
Launchpad e code reviewLaunchpad e code review
Launchpad e code review
Associazione Odoo Italia
 
7. Applicazioni Web e CMS
7. Applicazioni Web e CMS7. Applicazioni Web e CMS
7. Applicazioni Web e CMS
Roberto Polillo
 
worpress as a framework
worpress as a frameworkworpress as a framework
worpress as a framework
extrategy
 
WordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWAWordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWA
FrancescoGiammanco1
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5
Andrea Dottor
 
Slide Lavoro di Tesi
Slide Lavoro di TesiSlide Lavoro di Tesi
Slide Lavoro di Tesi
mauriziogargiulo
 
Lavoro di Tesi
Lavoro di TesiLavoro di Tesi
Lavoro di Tesi
mauriziogargiulo
 

Similar to GAE python GDG Milano L04 (20)

GAE python GDG Milano L06
GAE python GDG Milano L06GAE python GDG Milano L06
GAE python GDG Milano L06
 
Gae python GDG Milano L05
Gae python GDG Milano L05Gae python GDG Milano L05
Gae python GDG Milano L05
 
Wp app studio_new
Wp app studio_newWp app studio_new
Wp app studio_new
 
Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
App Engine + Python
App Engine + PythonApp Engine + Python
App Engine + Python
 
Working between the clouds
Working between the cloudsWorking between the clouds
Working between the clouds
 
Google app engine_gae_intro
Google app engine_gae_introGoogle app engine_gae_intro
Google app engine_gae_intro
 
Go on AppEngine
Go on AppEngineGo on AppEngine
Go on AppEngine
 
Routing (2/3) | Train to Symfony
Routing (2/3) | Train to SymfonyRouting (2/3) | Train to Symfony
Routing (2/3) | Train to Symfony
 
Gae cloud computing_bar_camp_bologna
Gae cloud computing_bar_camp_bolognaGae cloud computing_bar_camp_bologna
Gae cloud computing_bar_camp_bologna
 
MageDay 2013 - Magento e TYPO3: una soluzione integrata
MageDay 2013 - Magento e TYPO3: una soluzione integrataMageDay 2013 - Magento e TYPO3: una soluzione integrata
MageDay 2013 - Magento e TYPO3: una soluzione integrata
 
Matteo baccan raspberry pi - linox 2015 - corso parte 2
Matteo baccan   raspberry pi - linox 2015 - corso parte 2Matteo baccan   raspberry pi - linox 2015 - corso parte 2
Matteo baccan raspberry pi - linox 2015 - corso parte 2
 
Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?
 
Launchpad e code review
Launchpad e code reviewLaunchpad e code review
Launchpad e code review
 
7. Applicazioni Web e CMS
7. Applicazioni Web e CMS7. Applicazioni Web e CMS
7. Applicazioni Web e CMS
 
worpress as a framework
worpress as a frameworkworpress as a framework
worpress as a framework
 
WordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWAWordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWA
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5
 
Slide Lavoro di Tesi
Slide Lavoro di TesiSlide Lavoro di Tesi
Slide Lavoro di Tesi
 
Lavoro di Tesi
Lavoro di TesiLavoro di Tesi
Lavoro di Tesi
 

GAE python GDG Milano L04

  • 1. App Engine Take Off Maggio 2015 Python Il framework: webapp2 GDG Milano - Paolo Dadda - 2DWeb Milano, 20 maggio 2015 @TalentGarden, Via Merano, 16 #gae #gdgmilano
  • 2. Maggio 2015 Google App Engine Python Il framework: webapp2 #gae #gdgmilano Paolo Dadda Membro IWA ITALY nr. 0307429 Professionista Web ai sensi della Legge 4/2013 Contatti:
 Tel.: 393.4298004 Ufficio: Via 4 Novembre, 94 Cislago (VA) WebSite: www.2dweb.it Mail: info@2dweb.it
  • 3. Cosa vedremo oggi? - Model - Memcache - Upload - CodeLab ! Verrà inoltre rilasciato il codice per “essere sempre tutti allo stesso punto” Piano delle lezioni Lezione 1 (Febbraio 2015) Introduzione Lezione 2 (Marzo 2015) WebApp2 & Basi per uso di Model, Template, Handler Lezione 3 (Aprile 2015) Handler, Mail, Get, Post Lezione 4 (Maggio 2015) Model, Upload, Memcache Lezione 5 (3 Giugno 2015) Template, Jinja2, Exception Lezione 6 (Giugno 2015) Blobstore & Google Cloud Storage
  • 4. Come possiamo salvare dei dati 
 nella nostra applicazione o sito web?
  • 5. il Datastore il Model i dati e la loro rappresentazione
  • 6. Il Model Il Model è il responsabile della gestione dei dati dell’applicazione o del sito; permette di mappare un oggetto sul Datastore (il database di Google App Engine), senza scrivere righe SQL, ma scrivendone soltanto una descrizione nel codice.
  • 7. Model: qualche esempio Fonte: https://cloud.google.com/appengine/docs/python/ndb/modelclass
  • 8. Model: qualche esempio Fonte: https://cloud.google.com/appengine/docs/python/ndb/modelclass
  • 12. La Memcache (dalla documentazione GAE) CHIAVE VALORE E’ UNA COPPIA DI CHIAVI E VALORI SALVATA IN MEMORIA “stato” = “attivo” E’ FONDAMENTALE PERCHE’: Ci permette di: - Migliorare le performance del sito / applicazione - Risparmiare sui costi e sulle operazioni
  • 14. La Memcache (dalla documentazione GAE) NON METTETE TUTTO IN CACHE La Memecache è limitata, 
 e può scadere in ogni momento QUALCHE NOTA: - Potete sempre acquistare (pagandola) della memcache dedicata - La vostra applicazione deve poter funzionare senza memcache
  • 16. Upload su GAE (dalla documentazione GAE)
  • 17. Upload su GAE (dalla documentazione GAE)
  • 18. Upload su GAE (dalla documentazione GAE)
  • 19. Upload su GAE (dalla documentazione GAE)
  • 20. Risorse e codice: Documentazione GAE Python: https://cloud.google.com/appengine/docs/python/ Il Model - ndb:
 https://cloud.google.com/appengine/docs/python/ndb/modelclass La Memcache:
 https://cloud.google.com/appengine/docs/python/memcache/
 Upload - il Blobstore:
 https://cloud.google.com/appengine/docs/python/blobstore/ File “allineamento” fine giornata nella cartella dedicata all’evento http://bit.ly/eventi-gdg-milano (Aprire poi la cartella App Engine Take Off) Indirizzo per questa slide:
 http://www.slideshare.net/ilpaolino/gae-python-gdg-milano-l04 Domande? ?? ?
  • 22. CodeLab ! Realizziamo la seconda parte del sito sull’Evento Tal dei Tali • Realizzare una pagina html con un form per l’invio dei dati • Recupero dei dati tramite POST • Salvare i dati su un oggetto nel datastore (es. nome, cognome, mail, foto) • FACOLTATIVO: mostra anche una lista degli oggetti salvati • FACOLTATIVO: modifica gli oggetti in lista mediante una nuova form dedicata • FACOLTATIVO: salva e recupera la lista da Memcache • Salvare un’immagine nel Blobstore • FACOLTATIVO: crea un link per eliminare un file salvato sul Blobstore