Introduction To Google App Engine
Upcoming SlideShare
Loading in...5
×
 

Introduction To Google App Engine

on

  • 2,915 views

Google App Engine の概要についてまとめたものです. 私的勉強会で使用.

Google App Engine の概要についてまとめたものです. 私的勉強会で使用.

Statistics

Views

Total Views
2,915
Views on SlideShare
2,900
Embed Views
15

Actions

Likes
0
Downloads
76
Comments
0

3 Embeds 15

http://www.slideshare.net 10
http://www.linkedin.com 4
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Introduction To Google App Engine Introduction To Google App Engine Presentation Transcript

    • Google App Engine Kosei Moriyama (cou929) Nov, 23, 2009 Wednesday, May 5, 2010
    • Agenda • Google App Engine • Getting Started • Wednesday, May 5, 2010
    • Google App Engine Wednesday, May 5, 2010
    • Web Wednesday, May 5, 2010
    • • • • • • • • • … Wednesday, May 5, 2010
    • App Engine • • • • • • • • … Wednesday, May 5, 2010
    • • Python • Java • JVM • e.g., JRuby • • • App Engine • Google , URL Fetch, Mail, memcache, • Cron Wednesday, May 5, 2010
    • • App Engine SDK • web • app engine • Python SDK / Java SDK • google Wednesday, May 5, 2010
    • Getting Started Wednesday, May 5, 2010
    • • • http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/ Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • • Python • http://www.python.org/download/ • 2.5 • 3.x • Python SDK • http://code.google.com/intl/ja/appengine/ downloads.html • Path Wednesday, May 5, 2010
    • • dev_appserver.py • • appcfg.py • app engine Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • Hello World! • • app.yaml • python main.py Wednesday, May 5, 2010
    • app.yaml • • id, version, runtime ... • • url Wednesday, May 5, 2010
    • main.py • print Wednesday, May 5, 2010
    • App Engine web • Wednesday, May 5, 2010
    • App Engine web • app engine web CGI request CGI app.yaml app engine routing client web server response CGI foo.py bar.py baz.py Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • Webapp • CGI ‣ , • Python CGI • Django, Cherry.py, Pylons, web.py Wednesday, May 5, 2010
    • Webapp • • • app engine Wednesday, May 5, 2010
    • 3 • RequestHandler ( ) • , • WSGIApplication • URL • main • CGI WSGIApplication Wednesday, May 5, 2010
    • main.py • webapp, run_wsgi_app • MainPage • webapp.RequestHandler • def get(self) • GET • response.headers() • response.out.write() • webapp.WSGIApplication() • run_wsgi_app() Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • Google • users import • user.get_current_user() • user • none • self.redirect(dest_uri) • dest_uri • users.create_login_url(dest_uri) • • , dest_uri Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • • def post(self) • POST • request.get(‘name’) • “name” Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • • • • • not RDBMS Wednesday, May 5, 2010
    • Entity put() application Data Store List of Entity GQL Wednesday, May 5, 2010
    • Entity • Entity • db.Model • Property key • Property • db.fooProperty() • Key • entity • Data store Wednesday, May 5, 2010
    • class Pet(db.Model): name = db.StringProperty(required=True) type = db.StringProperty(required=True, choices=set(["cat", "dog", "bird"])) birthdate = db.DateProperty() weight_in_pounds = db.IntegerProperty() spayed_or_neutered = db.BooleanProperty() owner = db.UserProperty(required=True) Wednesday, May 5, 2010
    • • , put() • greeting = Greeting(author = users.get_current_user(), content = self.request.get('content')) greeting.put() Wednesday, May 5, 2010
    • GQL • db.GqlQuery("SELECT * FROM Greeting ORDER BY date DESC LIMIT 10") • greetings Greeting • for greeting in greetings: • • db.GqlQuery("SELECT * FROM Greeting ORDER BY date DESC LIMIT 10") • Greeting.gql("ORDER BY date DESC LIMIT 10") • "SELECT * FROM Greeting" ( ) Wednesday, May 5, 2010
    • • Greeting.all() greetings.filter("author =", users.get_current_user()) greetings.order("-date") • • Greeting.all().filter("author =", users.get_current_user()).order("-date") Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • • EZT, Cheetah, ClearSilver, Quixote, Django • Django Wednesday, May 5, 2010
    • • template html • template import • template Dictionary • template.render(path, values) Wednesday, May 5, 2010
    • Django template • {{ variable }} • {% foo %} • {% for * %} • {% if * %} • {% include * %} Wednesday, May 5, 2010
    • template • Django template • class template • {% extends foo.html %} • {% block bar %} Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • • index.html , • ok • • , css, JavaScript, , Flash Wednesday, May 5, 2010
    • app.yaml - url: /stylesheets static_dir: stylesheets • /stylesheets/* , stylesheets Wednesday, May 5, 2010
    • • • Hello World! • Webapp • Google • • • • • Wednesday, May 5, 2010
    • • • http://appengine.google.com/ • app.yaml • application: ID • • appcfg.py update helloworld/ • • http://application-id.appspot.com Wednesday, May 5, 2010
    • Wednesday, May 5, 2010
    • • memcache • URL Fetch • Mail • • Cron ( ) • Wednesday, May 5, 2010
    • • memcache • URL Fetch • Mail • • Cron ( ) • Wednesday, May 5, 2010
    • memcach • • memchached • key-value store Wednesday, May 5, 2010
    • • memcache • URL Fetch • Mail • • Cron ( ) • Wednesday, May 5, 2010
    • URL Fetch • HTTP/HTTPS , / • Google , Wednesday, May 5, 2010
    • • urllib, urllib2, httplib • google • app engine api Wednesday, May 5, 2010
    • • memcache • URL Fetch • Mail • • Cron ( ) • Wednesday, May 5, 2010
    • Mail • Wednesday, May 5, 2010
    • • memcache • URL Fetch • Mail • • Cron ( ) • Wednesday, May 5, 2010
    • • • • 1 • • • ( ) Wednesday, May 5, 2010
    • • memcache • URL Fetch • Mail • • Cron ( ) • Wednesday, May 5, 2010
    • Cron • • cron.yaml Wednesday, May 5, 2010
    • cron.yaml cron: - description: daily summary job url: /tasks/summary schedule: every 24 hours - description: monday morning mailout url: /mail/weekly schedule: every monday of month 09:00 timezone: Australia/NSW Wednesday, May 5, 2010
    • • every 5 minutes • every 12 hours • 2nd,third mon,wed,thu of march 17:00 • every monday of month 09:00 • 1st monday of sep,oct,nov 17:00 Wednesday, May 5, 2010
    • app.yaml handlers: - url: /report/weekly script: reports.py login: admin Wednesday, May 5, 2010
    • • memcache • URL Fetch • Mail • • Cron ( ) • Wednesday, May 5, 2010
    • • pure python ok • • • Antlr 3 • Django 0.9.6 • PyCrypto • WebOb • YAML • zipimport Wednesday, May 5, 2010
    • Wednesday, May 5, 2010