Google AppEngine Workshop

43
Google AppEngine Workshop A crash course

description

 

Transcript of Google AppEngine Workshop

Page 1: Google AppEngine Workshop

Google AppEngine Workshop

A crash course

Page 2: Google AppEngine Workshop

Google AppEngine

Not Google Apps

Page 3: Google AppEngine Workshop

Why Google AppEngine?

Page 4: Google AppEngine Workshop

Scalable

Scales very very very easilyautomagically

Page 5: Google AppEngine Workshop
Page 6: Google AppEngine Workshop

Infrastructure as a Service

Rent-a-car

Page 7: Google AppEngine Workshop

Platform as a Service

Taxi

Page 8: Google AppEngine Workshop

Google AppEngine is PaaS

Images demo

Page 9: Google AppEngine Workshop

Who’s on AppEngine

Optimizely.com, BestBuy.com,

Page 10: Google AppEngine Workshop

Languages

Python, Java, Go (Experimental)

Page 11: Google AppEngine Workshop

Objective

Gain a basic knowledge of Google AppEngine

Page 12: Google AppEngine Workshop

Output

Your own app

Page 13: Google AppEngine Workshop

Questions

Page 15: Google AppEngine Workshop

Setup

Create an app on http://appengine.google.comDefault options; High Replication Datastore

Page 16: Google AppEngine Workshop

Hello World!

Page 17: Google AppEngine Workshop

Services

Datastore, URLFetch, Users, Email, Memcache (if we have time)

Page 18: Google AppEngine Workshop

Project URL Shortener

Page 19: Google AppEngine Workshop

Create Page

index.html

Page 20: Google AppEngine Workshop

Datastore

Really really fast storage

Page 21: Google AppEngine Workshop

Storing Data

Page 22: Google AppEngine Workshop

Create a Model

Class Record(db.Model):name = db.StringProperty()data = db.TextProperty()

Page 23: Google AppEngine Workshop

Queries

query = Link.all()query.filter(‘url_hash’,’cKj4d’)results = query.fetch(20)

Page 24: Google AppEngine Workshop

15mins

Shorten some URL’s

Page 25: Google AppEngine Workshop

URLFetch

Interact with other websites

Page 26: Google AppEngine Workshop

URLFetch

response = urlfetch.fetch(url=url)status = response.status_codecontent= response.content

Page 27: Google AppEngine Workshop

Verify those URL’s

Fetch ‘em first!

Page 28: Google AppEngine Workshop

Users API

Google Accounts

Page 29: Google AppEngine Workshop

Users API

app.yamllogin: required

Page 30: Google AppEngine Workshop

Users API

user = users.get_current_user()user.nickname()user.email()user.user_id()

Page 31: Google AppEngine Workshop

Users API

db.UserProperty()

Page 32: Google AppEngine Workshop

Users API

user_id is unique at all times

Page 33: Google AppEngine Workshop

Create History List for Users

Let users see list of their previously shortened url’s

Page 34: Google AppEngine Workshop

Email

Page 35: Google AppEngine Workshop

Email

mail.send_mail([email protected], [email protected],subject=”hi”,body=”hello!”)

Page 36: Google AppEngine Workshop

Shorten a link

And tweet/facebook/plus it

Page 37: Google AppEngine Workshop

Click and flood!

Page 38: Google AppEngine Workshop

Memcache

Need for speed(saves you money too!)

Page 39: Google AppEngine Workshop

Memcache

Need for speed(saves you money too!)

Page 40: Google AppEngine Workshop

Memcache

memcache.set(key,data)result = memcache.get(key)

Page 41: Google AppEngine Workshop

Speed ‘em up!

Page 42: Google AppEngine Workshop

That’s it!

It’s your time to shine now…