SlideShare una empresa de Scribd logo
1 de 9
Go+AngularJS on GCP
+
Go+AngularJS on GCP
GoLang
GoLang è stato rilasciato al pubblico da Google del 2009
"Go is an open source programming language that
makes it easy
to build simple, reliable, and efficient software."
(cit. golang.org)
Go è stato sviluppato per risolvere i problemi di scalabilità di Google
• scalare su un enorme numero di server
• i job giornalieri devono girare su migliaia di
macchine
• i job devono coordinarsi tra loro
• un sacco di cose da fare tutte insieme
Go+AngularJS on GCP
AppEngine
AppEngine è una PaaS fornita da Google che permette alle nostre app di struttare le potenzialità
dell’infrastruttura Google, fa parte dei servizi della Google Cloud Platform
"Google App Engine lets you build and run applications
on Google’s infrastructure."
(cit. google.com)
Linguaggi supportati:
• Java
• PHP
• Python
• Go
Go+AngularJS on GCP
Cloud Datastore
Cloud Datastore è un servizio di storage NoSQL fornito da Google per tutte le applicazioni che girano
su Google Cloud Platform.
"Cloud Datastore is a highly-scalable NoSQL database for
your applications."
(cit. google.com)
Caratteristiche:
• Gestione automatica delle repliche
• Autoscaling
• Transizioni ACID
• Query in SQL-Style
• Fully managed
Go+AngularJS on GCP
AnguarJS
AngularJS è un framework JavaScript sviluppato da Google per poter sviluppare più velocemente
single-page applications.
"AngularJS is a toolset for building the framework most
suited to your application development. It is fully
extensible and works well with other libraries. Every
feature can be modified or replaced to suit your unique
development workflow and feature needs. Read on to
find out how."
(cit. angularjs.org)
Go+AngularJS on GCP
Android
Android è il sistema operativo per dispositivi mobili, sviluppato da Google e giunto recentemente alla sua
sesta reincarnazione con Android 6.0 Marshmallow.
"Android is a mobile operating system (OS) currently
developed by Google, based on the Linux kernel and
designed primarily for touchscreen mobile devices such
as smartphones and tablets."
(cit. wikipedia.org)
Go+AngularJS on GCP
Demo
• Raccolta di post (tipo blog)
• Front-end in AnguarJS
• Backend in Golang
• Dati su Datastore
• Utilizzo di AppEngine
• Autenticazione tramite User API
• Template HTML+AngularJS
+
Applicazione Android che mostra i
Post sul nostro dispositivo mobile
Go+AngularJS on GCP
Guardiamo il codice!
Go+AngularJS on GCP
Grazie per l’attenzione
Email: gabriele.baldoni@gmail.com
Sitoweb: gabrielebaldoni.altervista.org
Tw: @gabry
Gabriele Baldoni
Contatti:
Email: battaglia.andry@gmail.com
Sitoweb: andreabattaglia.altervista.org
Luca Bonaccorsi
Email: l.bonaccorsi@morpheos.eu
Sitoweb: www.morpheos.eu
Andrea Battalia

Más contenido relacionado

Destacado

Presentacion pobreza
Presentacion pobrezaPresentacion pobreza
Presentacion pobrezaIrene1209
 
Auto Retrato Jadir Junior Apª Do Taboado
Auto Retrato Jadir Junior Apª Do TaboadoAuto Retrato Jadir Junior Apª Do Taboado
Auto Retrato Jadir Junior Apª Do TaboadoJadir Junior
 
Se eu fundasse uma religião
Se eu fundasse uma religiãoSe eu fundasse uma religião
Se eu fundasse uma religiãoaugustodefranco .
 
Palestra SPED: A Certificação Digital como avanço na informatização da relaçã...
Palestra SPED: A Certificação Digital como avanço na informatização da relaçã...Palestra SPED: A Certificação Digital como avanço na informatização da relaçã...
Palestra SPED: A Certificação Digital como avanço na informatização da relaçã...Professor Edgar Madruga
 
La asistencia virtual
La asistencia virtualLa asistencia virtual
La asistencia virtualmarina_zarate
 
мой финальный видео отчет
мой финальный видео отчетмой финальный видео отчет
мой финальный видео отчетLuddiv
 
The Big Book of RR_Innovators by Marie Martin
The Big Book of RR_Innovators by Marie MartinThe Big Book of RR_Innovators by Marie Martin
The Big Book of RR_Innovators by Marie MartinMarie Martin
 
O custo econômico dos feriados
O custo econômico dos feriadosO custo econômico dos feriados
O custo econômico dos feriadosAngelo Rigon
 
FINAL REPORT_B.tech
FINAL REPORT_B.techFINAL REPORT_B.tech
FINAL REPORT_B.techafzal usmani
 
Consumer Behvior project
Consumer Behvior projectConsumer Behvior project
Consumer Behvior projectafzal usmani
 
Dimitris sgouros
Dimitris sgourosDimitris sgouros
Dimitris sgourosmariabouz
 

Destacado (13)

Presentacion pobreza
Presentacion pobrezaPresentacion pobreza
Presentacion pobreza
 
Auto Retrato Jadir Junior Apª Do Taboado
Auto Retrato Jadir Junior Apª Do TaboadoAuto Retrato Jadir Junior Apª Do Taboado
Auto Retrato Jadir Junior Apª Do Taboado
 
RevoluçãO Francesa
RevoluçãO FrancesaRevoluçãO Francesa
RevoluçãO Francesa
 
Se eu fundasse uma religião
Se eu fundasse uma religiãoSe eu fundasse uma religião
Se eu fundasse uma religião
 
Palestra SPED: A Certificação Digital como avanço na informatização da relaçã...
Palestra SPED: A Certificação Digital como avanço na informatização da relaçã...Palestra SPED: A Certificação Digital como avanço na informatização da relaçã...
Palestra SPED: A Certificação Digital como avanço na informatização da relaçã...
 
Fluzz pilulas 33
Fluzz pilulas 33Fluzz pilulas 33
Fluzz pilulas 33
 
La asistencia virtual
La asistencia virtualLa asistencia virtual
La asistencia virtual
 
мой финальный видео отчет
мой финальный видео отчетмой финальный видео отчет
мой финальный видео отчет
 
The Big Book of RR_Innovators by Marie Martin
The Big Book of RR_Innovators by Marie MartinThe Big Book of RR_Innovators by Marie Martin
The Big Book of RR_Innovators by Marie Martin
 
O custo econômico dos feriados
O custo econômico dos feriadosO custo econômico dos feriados
O custo econômico dos feriados
 
FINAL REPORT_B.tech
FINAL REPORT_B.techFINAL REPORT_B.tech
FINAL REPORT_B.tech
 
Consumer Behvior project
Consumer Behvior projectConsumer Behvior project
Consumer Behvior project
 
Dimitris sgouros
Dimitris sgourosDimitris sgouros
Dimitris sgouros
 

Similar a Golang + AngulaJS on GCP

Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013Massimo Caliman
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
 
Dal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie GoogleDal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie GoogleDiego Giorgini
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
 
Il PaaS di Google
Il PaaS di GoogleIl PaaS di Google
Il PaaS di GoogleMssiStf
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
Angular framework
Angular frameworkAngular framework
Angular frameworkLuca Modica
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Antonio Gallo
 
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo BugianiIntroduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugianifirenze-gtug
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni Buffa
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudDavide Benvegnù
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatoreSMAU
 
Engine Yourself with Google App Engine
Engine Yourself with Google App EngineEngine Yourself with Google App Engine
Engine Yourself with Google App EngineCodemotion
 
GAE python GDG Milano - L01
GAE python GDG Milano - L01GAE python GDG Milano - L01
GAE python GDG Milano - L01Paolo Dadda
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Gabriele Gaggi
 
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...DrupalDay
 

Similar a Golang + AngulaJS on GCP (20)

Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
 
Presentazione tirocinio
Presentazione tirocinio Presentazione tirocinio
Presentazione tirocinio
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
 
Dal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie GoogleDal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie Google
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
 
Il PaaS di Google
Il PaaS di GoogleIl PaaS di Google
Il PaaS di Google
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Angular framework
Angular frameworkAngular framework
Angular framework
 
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
Le novità di Ionic 4- Il framework basato su Angular per sviluppare applicazi...
 
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo BugianiIntroduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
Introduzione a GAE - Alessandro Aglietti e Lorenzo Bugiani
 
Angular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un frameworkAngular js o React? Spunti e idee per la scelta di un framework
Angular js o React? Spunti e idee per la scelta di un framework
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloud
 
Link. javascript ajax
  Link. javascript ajax  Link. javascript ajax
Link. javascript ajax
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatore
 
Azure dev ops meetup one
Azure dev ops meetup oneAzure dev ops meetup one
Azure dev ops meetup one
 
Engine Yourself with Google App Engine
Engine Yourself with Google App EngineEngine Yourself with Google App Engine
Engine Yourself with Google App Engine
 
GAE python GDG Milano - L01
GAE python GDG Milano - L01GAE python GDG Milano - L01
GAE python GDG Milano - L01
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5
 
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
 
Introduzione ad Android
Introduzione ad AndroidIntroduzione ad Android
Introduzione ad Android
 

Más de Gabriele Baldoni

Fog computing with Eclipse fog05
Fog computing with Eclipse fog05Fog computing with Eclipse fog05
Fog computing with Eclipse fog05Gabriele Baldoni
 
Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018Gabriele Baldoni
 
Microservices power by unikernels
Microservices power by unikernelsMicroservices power by unikernels
Microservices power by unikernelsGabriele Baldoni
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloudGabriele Baldoni
 
Presentazione Google Cloud Messanging
Presentazione Google Cloud MessangingPresentazione Google Cloud Messanging
Presentazione Google Cloud MessangingGabriele Baldoni
 

Más de Gabriele Baldoni (6)

Fog computing with Eclipse fog05
Fog computing with Eclipse fog05Fog computing with Eclipse fog05
Fog computing with Eclipse fog05
 
Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018Eclipse fog05 Paper presenation at CIoT 2018
Eclipse fog05 Paper presenation at CIoT 2018
 
Microservices power by unikernels
Microservices power by unikernelsMicroservices power by unikernels
Microservices power by unikernels
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloud
 
SDN Cosa è?
SDN Cosa è?SDN Cosa è?
SDN Cosa è?
 
Presentazione Google Cloud Messanging
Presentazione Google Cloud MessangingPresentazione Google Cloud Messanging
Presentazione Google Cloud Messanging
 

Golang + AngulaJS on GCP

  • 2. Go+AngularJS on GCP GoLang GoLang è stato rilasciato al pubblico da Google del 2009 "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software." (cit. golang.org) Go è stato sviluppato per risolvere i problemi di scalabilità di Google • scalare su un enorme numero di server • i job giornalieri devono girare su migliaia di macchine • i job devono coordinarsi tra loro • un sacco di cose da fare tutte insieme
  • 3. Go+AngularJS on GCP AppEngine AppEngine è una PaaS fornita da Google che permette alle nostre app di struttare le potenzialità dell’infrastruttura Google, fa parte dei servizi della Google Cloud Platform "Google App Engine lets you build and run applications on Google’s infrastructure." (cit. google.com) Linguaggi supportati: • Java • PHP • Python • Go
  • 4. Go+AngularJS on GCP Cloud Datastore Cloud Datastore è un servizio di storage NoSQL fornito da Google per tutte le applicazioni che girano su Google Cloud Platform. "Cloud Datastore is a highly-scalable NoSQL database for your applications." (cit. google.com) Caratteristiche: • Gestione automatica delle repliche • Autoscaling • Transizioni ACID • Query in SQL-Style • Fully managed
  • 5. Go+AngularJS on GCP AnguarJS AngularJS è un framework JavaScript sviluppato da Google per poter sviluppare più velocemente single-page applications. "AngularJS is a toolset for building the framework most suited to your application development. It is fully extensible and works well with other libraries. Every feature can be modified or replaced to suit your unique development workflow and feature needs. Read on to find out how." (cit. angularjs.org)
  • 6. Go+AngularJS on GCP Android Android è il sistema operativo per dispositivi mobili, sviluppato da Google e giunto recentemente alla sua sesta reincarnazione con Android 6.0 Marshmallow. "Android is a mobile operating system (OS) currently developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets." (cit. wikipedia.org)
  • 7. Go+AngularJS on GCP Demo • Raccolta di post (tipo blog) • Front-end in AnguarJS • Backend in Golang • Dati su Datastore • Utilizzo di AppEngine • Autenticazione tramite User API • Template HTML+AngularJS + Applicazione Android che mostra i Post sul nostro dispositivo mobile
  • 9. Go+AngularJS on GCP Grazie per l’attenzione Email: gabriele.baldoni@gmail.com Sitoweb: gabrielebaldoni.altervista.org Tw: @gabry Gabriele Baldoni Contatti: Email: battaglia.andry@gmail.com Sitoweb: andreabattaglia.altervista.org Luca Bonaccorsi Email: l.bonaccorsi@morpheos.eu Sitoweb: www.morpheos.eu Andrea Battalia

Notas del editor

  1. atomicità: la transazione è indivisibile nella sua esecuzione e la sua esecuzione deve essere o totale o nulla, non sono ammesse esecuzioni parziali; coerenza: quando inizia una transazione il database si trova in uno stato coerente e quando la transazione termina il database deve essere in un altro stato coerente, ovvero non deve violare eventuali vincoli di integrità, quindi non devono verificarsi contraddizioni (inconsistenza) tra i dati archiviati nel DB; isolamento: ogni transazione deve essere eseguita in modo isolato e indipendente dalle altre transazioni, l'eventuale fallimento di una transazione non deve interferire con le altre transazioni in esecuzione; durabilità: detta anche persistenza, si riferisce al fatto che una volta che una transazione abbia richiesto un commit work, i cambiamenti apportati non dovranno essere più persi. Per evitare che nel lasso di tempo fra il momento in cui la base di dati si impegna a scrivere le modifiche e quello in cui li scrive effettivamente si verifichino perdite di dati dovuti a malfunzionamenti, vengono tenuti dei registri di log dove sono annotate tutte le operazioni sul DB.
  2. atomicità: la transazione è indivisibile nella sua esecuzione e la sua esecuzione deve essere o totale o nulla, non sono ammesse esecuzioni parziali; coerenza: quando inizia una transazione il database si trova in uno stato coerente e quando la transazione termina il database deve essere in un altro stato coerente, ovvero non deve violare eventuali vincoli di integrità, quindi non devono verificarsi contraddizioni (inconsistenza) tra i dati archiviati nel DB; isolamento: ogni transazione deve essere eseguita in modo isolato e indipendente dalle altre transazioni, l'eventuale fallimento di una transazione non deve interferire con le altre transazioni in esecuzione; durabilità: detta anche persistenza, si riferisce al fatto che una volta che una transazione abbia richiesto un commit work, i cambiamenti apportati non dovranno essere più persi. Per evitare che nel lasso di tempo fra il momento in cui la base di dati si impegna a scrivere le modifiche e quello in cui li scrive effettivamente si verifichino perdite di dati dovuti a malfunzionamenti, vengono tenuti dei registri di log dove sono annotate tutte le operazioni sul DB.
  3. atomicità: la transazione è indivisibile nella sua esecuzione e la sua esecuzione deve essere o totale o nulla, non sono ammesse esecuzioni parziali; coerenza: quando inizia una transazione il database si trova in uno stato coerente e quando la transazione termina il database deve essere in un altro stato coerente, ovvero non deve violare eventuali vincoli di integrità, quindi non devono verificarsi contraddizioni (inconsistenza) tra i dati archiviati nel DB; isolamento: ogni transazione deve essere eseguita in modo isolato e indipendente dalle altre transazioni, l'eventuale fallimento di una transazione non deve interferire con le altre transazioni in esecuzione; durabilità: detta anche persistenza, si riferisce al fatto che una volta che una transazione abbia richiesto un commit work, i cambiamenti apportati non dovranno essere più persi. Per evitare che nel lasso di tempo fra il momento in cui la base di dati si impegna a scrivere le modifiche e quello in cui li scrive effettivamente si verifichino perdite di dati dovuti a malfunzionamenti, vengono tenuti dei registri di log dove sono annotate tutte le operazioni sul DB.