SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Mi Primera Aplicacion usando
     Google App Engine
        Adrian Catalan
Y que es eso del GAE?
   Google App Engine es una plataforma de desarrollo
           Python & Java
   Cloud Computing
           Todo como un servicio




I have not heard two people say the same thing about it [cloud]. There 
   are multiple definitions out there of “the cloud”
                                  Andy Isherwood, HP’s Vice President of European Software Sales
Google App Engine
   Tenemos por seguro que hace una cosa bien: correr 
     aplicaciones web
   Y ademas...
          Simple
          Escalable
          Seguro
          Balanceo de carga
Google App Engine
   Datastore
          Big Table y GQL
   Frameworks
          Django (hell yeah...!)
          CherryPy
          Webapp
          WSGI
   Servicios (google accounts, mail, url fetch & mas)
App Engine Architecture
                             req/resp
 stateless APIs                         R/O FS



     urlfech                 Python     stdlib
                               VM
      mail                   process
                                         app
    images




   stateful                                      datastore
    APIs          memcache




                                                             5
Por que voy a dejar de usar
          LAMP?
   Pareciera ser EL estandar
   ...pero
           Configuracion
           Tuning
           Problemas con el Hardware
           Updates
           Y mas
Datastore
   Las Entidades tienen Kind, Key, y Propiedades
          Entity ~~ Record ~~ Python dict ~~ Python class 
            instance
          Key ~~ structured foreign key; includes Kind
          Kind ~~ Table ~~ Python class
          Property ~~ Column or Field; has a type
Desventajas
   Ambiente muy controlado
          Solo Python y Java por el momento
   Facil de usar
          ...pero limitado (gratis)
   Si los frameworks estan atados a bd relacionales, de 
      que forma pasaran a ser parte de GAE?
Cuando usar GAE
   Queremos tenerlo funcionando ASAP
   Empezando un proyecto nuevo
   Conocemos Python
   Las limitaciones no son un problema para nosotros
   No estamos en un proyecto muy grande con cosas 
     dificiles de implementar
Google App Engine
   Hacia donde vamos?
Google App Engine
   Y ahora...vamos al demo
Como empezamos?
   Descargamos el SDK (duh!)
           dev_appserver.py
           appcfg.py
   Hola, mundo...desde la nube!
    print 'Content­Type: text/plain'
    print ' '
    print 'Hello, world!'
Y la configuracion?
            (app.yaml)
application: helloworld
version: 1
runtime: python
api_version: 1


handlers:
­ url: /.*
  script: helloworld.py
Empezando a usar webapp
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import 
  run_wsgi_app


class MainPage(webapp.RequestHandler):
  def get(self):
    self.response.headers['Content­Type'] = 
   'text/plain'
    self.response.out.write('Hello, webapp World!')
Empezando a usar webapp
application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)
def main():
  run_wsgi_app(application)


if __name__ == "__main__":
  main()
Usando el servicio de
            usuarios
   users.get_current_user()
   create_login_url(dest_url)
   get_current_user()
ElModelo
class BlogEntry(db.Model):
  author = db.UserProperty()
  title = db.StringProperty()
  content = db.StringProperty(multiline=True)
  date=db.DateTimeProperty(auto_now_add=True)
El resto de ElModelo
class BlogComment (db.Model):
  author = db.UserProperty()
  content = db.StringProperty(multiline=True)
  date=db.DateTimeProperty(auto_now_add=True)
  entry = 
   db.ReferenceProperty(BlogEntry,collection_name
   ='cm')
Agregando al Datastore
class Entry (webapp.RequestHandler):
  def post(self):
    en = BlogEntry()
    en.author = users.get_current_user()
    en.content = self.request.get('content')
    en.title = self.request.get('title')
    en.put()
    self.redirect('/')
Templates de Django
class MainPage(webapp.RequestHandler):
  def get(self):
    query = BlogEntry.all().order('­date')
    entries = query.fetch(3)
    template_values = {
      'entries': entries,
     }
    path = os.path.join(os.path.dirname(__file__), 'index.html')
    self.response.out.write(template.render(path, 
    template_values))
Templates de Django
{% for entry in entries %}
      <a href="/show?
   key={{ entry.key }}"><b>{{ entry.title }}</b></a>
      <blockquote>{{ entry.content|
   escape }}</blockquote>
      <small>Publicado por 
   <b>{{ entry.author.nickname }}</b></small>
      <hr/>
    {% endfor %}
Indicando rutas
application = webapp.WSGIApplication(
                                     [('/', MainPage),
                                      ('/comment', Comment),
                                      ('/entry', Entry),
                                      ('/show', ShowEntry),
                                      ('/publish', PublishEntry)],
                                     debug=True)
   El codigo lo encuentran en
    http://www.megaupload.com/?d=0XUF9QIG



    Preguntas || kthxbye

Más contenido relacionado

La actualidad más candente

DotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en AzureDotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en AzurePlain Concepts
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaJorge Pacheco Mengual
 
01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )Jairo Hoyos
 
Java gabriela miralda
Java gabriela miraldaJava gabriela miralda
Java gabriela miraldaGabrielaM05
 
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...Andrés Iturralde
 
Asincronía en la web: Conociendo las novedades de ASP .NET 4.5
Asincronía en la web: Conociendo las novedades de ASP .NET 4.5Asincronía en la web: Conociendo las novedades de ASP .NET 4.5
Asincronía en la web: Conociendo las novedades de ASP .NET 4.5Andrés Iturralde
 
Los test de integración tambien merecen tener vida: AzureDevOps para dar ALMa...
Los test de integración tambien merecen tener vida:AzureDevOps para dar ALMa...Los test de integración tambien merecen tener vida:AzureDevOps para dar ALMa...
Los test de integración tambien merecen tener vida: AzureDevOps para dar ALMa...Nacho Fanjul Corteguera
 
Conociendo a Laravel, el Framework de PHP para artesanos de la web
Conociendo a Laravel, el Framework de PHP para artesanos de la webConociendo a Laravel, el Framework de PHP para artesanos de la web
Conociendo a Laravel, el Framework de PHP para artesanos de la webSoftware Guru
 

La actualidad más candente (10)

DotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en AzureDotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en Azure
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )01- instalacion de laravel 5+ (dos formas sencillas )
01- instalacion de laravel 5+ (dos formas sencillas )
 
Java gabriela miralda
Java gabriela miraldaJava gabriela miralda
Java gabriela miralda
 
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
Como hacer que tus aplicaciones saquen mejor provecho a los procesadores disp...
 
Asincronía en la web: Conociendo las novedades de ASP .NET 4.5
Asincronía en la web: Conociendo las novedades de ASP .NET 4.5Asincronía en la web: Conociendo las novedades de ASP .NET 4.5
Asincronía en la web: Conociendo las novedades de ASP .NET 4.5
 
Los test de integración tambien merecen tener vida: AzureDevOps para dar ALMa...
Los test de integración tambien merecen tener vida:AzureDevOps para dar ALMa...Los test de integración tambien merecen tener vida:AzureDevOps para dar ALMa...
Los test de integración tambien merecen tener vida: AzureDevOps para dar ALMa...
 
Conociendo a Laravel, el Framework de PHP para artesanos de la web
Conociendo a Laravel, el Framework de PHP para artesanos de la webConociendo a Laravel, el Framework de PHP para artesanos de la web
Conociendo a Laravel, el Framework de PHP para artesanos de la web
 
Programacion PHP
Programacion PHP
Programacion PHP
Programacion PHP
 

Similar a Mi Primera Aplicacion en Google App Engine

App engine
App engineApp engine
App engineThirdWay
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineNigeŗ Arce
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfonycsalazart
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Marco Antonio Ordoñez Valverde
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Sergio Soto
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyJuan Eladio Sánchez Rosas
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWTGDG Lima
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightParadigma Digital
 
Jobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto realJobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto realJobsket
 
Google Cloud Platform y Python
Google Cloud Platform y PythonGoogle Cloud Platform y Python
Google Cloud Platform y PythonCarlos Toxtli
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Edgar Dueñas
 
Framework Laravel
Framework LaravelFramework Laravel
Framework LaravelRafael Lobo
 

Similar a Mi Primera Aplicacion en Google App Engine (20)

App engine
App engineApp engine
App engine
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engine
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
 
Python Gae django
Python Gae djangoPython Gae django
Python Gae django
 
App engine
App engineApp engine
App engine
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014
 
Python
PythonPython
Python
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfony
 
Effective Network Layer: API lovers and Apps
Effective Network Layer: API lovers and AppsEffective Network Layer: API lovers and Apps
Effective Network Layer: API lovers and Apps
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWT
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Spring roo
Spring rooSpring roo
Spring roo
 
Jobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto realJobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto real
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Google Cloud Platform y Python
Google Cloud Platform y PythonGoogle Cloud Platform y Python
Google Cloud Platform y Python
 
Primera sesion
Primera sesionPrimera sesion
Primera sesion
 
Curso Cloud Computing, Parte 2: Google App Engine
Curso Cloud Computing, Parte 2: Google App EngineCurso Cloud Computing, Parte 2: Google App Engine
Curso Cloud Computing, Parte 2: Google App Engine
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
Framework Laravel
Framework LaravelFramework Laravel
Framework Laravel
 

Más de ykro

Clase 2 listas_grids_y_personalizacion
Clase 2 listas_grids_y_personalizacionClase 2 listas_grids_y_personalizacion
Clase 2 listas_grids_y_personalizacionykro
 
Clase 3 intro_almacenamiento_y_mapas
Clase 3 intro_almacenamiento_y_mapasClase 3 intro_almacenamiento_y_mapas
Clase 3 intro_almacenamiento_y_mapasykro
 
Clase 1 introducción
Clase 1 introducciónClase 1 introducción
Clase 1 introducciónykro
 
[Android Tour Perú 2013] APIs JSON con Android
[Android Tour Perú 2013] APIs JSON con Android [Android Tour Perú 2013] APIs JSON con Android
[Android Tour Perú 2013] APIs JSON con Android ykro
 
Challenge assumptions
Challenge assumptionsChallenge assumptions
Challenge assumptionsykro
 
BroomHockey
BroomHockeyBroomHockey
BroomHockeyykro
 
Assignment 3
Assignment 3Assignment 3
Assignment 3ykro
 
Observation journey
Observation journeyObservation journey
Observation journeyykro
 
Devfest Lima2012
Devfest Lima2012Devfest Lima2012
Devfest Lima2012ykro
 
Crowdsourcing a conference
Crowdsourcing a conferenceCrowdsourcing a conference
Crowdsourcing a conferenceykro
 
Mejorando.la - Introducción a jQuery Mobile y PhoneGap
Mejorando.la - Introducción a jQuery Mobile y PhoneGapMejorando.la - Introducción a jQuery Mobile y PhoneGap
Mejorando.la - Introducción a jQuery Mobile y PhoneGapykro
 
Innovador de todos los días
Innovador de todos los díasInnovador de todos los días
Innovador de todos los díasykro
 
Cultura Android - Push notifications con Parse.com
Cultura Android - Push notifications con Parse.comCultura Android - Push notifications con Parse.com
Cultura Android - Push notifications con Parse.comykro
 
Interfaces y Responsive Web Design para todos
Interfaces y Responsive Web Design para todosInterfaces y Responsive Web Design para todos
Interfaces y Responsive Web Design para todosykro
 
Joomla Day 2012 - Chapuzón en el mar móvil
Joomla Day 2012 - Chapuzón en el mar móvilJoomla Day 2012 - Chapuzón en el mar móvil
Joomla Day 2012 - Chapuzón en el mar móvilykro
 
El androide y la telaraña móvil
El androide y la telaraña móvilEl androide y la telaraña móvil
El androide y la telaraña móvilykro
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Androidykro
 
3 simples pasos para convertirme en un Androide
3 simples pasos para convertirme en un Androide3 simples pasos para convertirme en un Androide
3 simples pasos para convertirme en un Androideykro
 
Colaboracion con herramientas en la nube
Colaboracion con herramientas en la nubeColaboracion con herramientas en la nube
Colaboracion con herramientas en la nubeykro
 
Desarrollando aplicaciones para Facebook con PHP
Desarrollando aplicaciones para Facebook con PHPDesarrollando aplicaciones para Facebook con PHP
Desarrollando aplicaciones para Facebook con PHPykro
 

Más de ykro (20)

Clase 2 listas_grids_y_personalizacion
Clase 2 listas_grids_y_personalizacionClase 2 listas_grids_y_personalizacion
Clase 2 listas_grids_y_personalizacion
 
Clase 3 intro_almacenamiento_y_mapas
Clase 3 intro_almacenamiento_y_mapasClase 3 intro_almacenamiento_y_mapas
Clase 3 intro_almacenamiento_y_mapas
 
Clase 1 introducción
Clase 1 introducciónClase 1 introducción
Clase 1 introducción
 
[Android Tour Perú 2013] APIs JSON con Android
[Android Tour Perú 2013] APIs JSON con Android [Android Tour Perú 2013] APIs JSON con Android
[Android Tour Perú 2013] APIs JSON con Android
 
Challenge assumptions
Challenge assumptionsChallenge assumptions
Challenge assumptions
 
BroomHockey
BroomHockeyBroomHockey
BroomHockey
 
Assignment 3
Assignment 3Assignment 3
Assignment 3
 
Observation journey
Observation journeyObservation journey
Observation journey
 
Devfest Lima2012
Devfest Lima2012Devfest Lima2012
Devfest Lima2012
 
Crowdsourcing a conference
Crowdsourcing a conferenceCrowdsourcing a conference
Crowdsourcing a conference
 
Mejorando.la - Introducción a jQuery Mobile y PhoneGap
Mejorando.la - Introducción a jQuery Mobile y PhoneGapMejorando.la - Introducción a jQuery Mobile y PhoneGap
Mejorando.la - Introducción a jQuery Mobile y PhoneGap
 
Innovador de todos los días
Innovador de todos los díasInnovador de todos los días
Innovador de todos los días
 
Cultura Android - Push notifications con Parse.com
Cultura Android - Push notifications con Parse.comCultura Android - Push notifications con Parse.com
Cultura Android - Push notifications con Parse.com
 
Interfaces y Responsive Web Design para todos
Interfaces y Responsive Web Design para todosInterfaces y Responsive Web Design para todos
Interfaces y Responsive Web Design para todos
 
Joomla Day 2012 - Chapuzón en el mar móvil
Joomla Day 2012 - Chapuzón en el mar móvilJoomla Day 2012 - Chapuzón en el mar móvil
Joomla Day 2012 - Chapuzón en el mar móvil
 
El androide y la telaraña móvil
El androide y la telaraña móvilEl androide y la telaraña móvil
El androide y la telaraña móvil
 
Trabajando con acelerómetros en Android
Trabajando con acelerómetros en AndroidTrabajando con acelerómetros en Android
Trabajando con acelerómetros en Android
 
3 simples pasos para convertirme en un Androide
3 simples pasos para convertirme en un Androide3 simples pasos para convertirme en un Androide
3 simples pasos para convertirme en un Androide
 
Colaboracion con herramientas en la nube
Colaboracion con herramientas en la nubeColaboracion con herramientas en la nube
Colaboracion con herramientas en la nube
 
Desarrollando aplicaciones para Facebook con PHP
Desarrollando aplicaciones para Facebook con PHPDesarrollando aplicaciones para Facebook con PHP
Desarrollando aplicaciones para Facebook con PHP
 

Último

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 

Último (11)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 

Mi Primera Aplicacion en Google App Engine