SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Google App Engine




   2011        8   31   BP Study #48


2011   9   1
✤                      setomits
   ✤                        :
           ✤   2001   :         CAC
           ✤   2007   :
           ✤   2008   :
           ✤   2010   :
           ✤   2011   :               ←


2011   9   1
Python

   ✤       CAC /

           ✤   Python

           ✤



               ✤



               ✤



               ✤                 UI



2011   9   1
Python

   ✤



           ✤



               ✤



               ✤



   ✤



           ✤



           ✤   Web

2011   9   1
Python

   ✤



   ✤       Python

   ✤       Apache + mod_python

   ↓
   ✤



   ✤



   ✤




2011   9   1
Python

   ✤




           ✤




               ✤




           ✤




               ✤   Online to Offline    -

               ✤   Google App Engine


2011   9   1
✤                   →

   ✤               →

   ✤           →

   ✤               →       ...




2011   9   1
✤


           ✤


           ✤


           ✤




   ✤



           → Weak Ties
   ✤       Facebook / LinkedIn
           → Online to Offline

2011   9   1
TIPS                                     1/6

   ✤       GoogleAppEngineLauncher

           Preferences... : “Python Path”




2011   9   1
TIPS                                                  2/6

   ✤



           ✤                             “Extra Flags”

               “--address=0.0.0.0”
           ✤



               dev_appserver.py --help




2011   9   1
TIPS                                                       3/6

   ✤       App Engine

           ✤       app name

           ✤   app.yaml                                UI
                                     memcached

           application: myapp            application: myapp
           version: dev                  version: rel
           ...
           → dev.myapp.appspot.com       → rel.myapp.appspot.com



2011   9   1
TIPS                                                 4/6

   ✤




           ✤   myapp.apspot.com
                      appengine.google.com   Versions

           ✤              10




2011   9   1
TIPS                                                                    5/6

   ✤




           ✤


               appengine_config.py

               ref: http://d.hatena.ne.jp/nullpobug/20110528/1306516902

           ✤   Task Queue     Cron                                   ...

               ✤   basicauth.py


2011   9   1
class AuthMiddleware(object):
    def __init__(self, application, realm, authdic):
        self.application = application
        self.realm = realm
        self.authdic = authdic

       def _allowed(self):
           return ['Basic %s' % base64.b64encode('%s:%s' % (k, self.authdic[k]))
                   for k in self.authdic]

       def _management_access(self, p):
           if p.startswith('/task/') or p.startswith('/cron/'):
               return True
           else:
               return False

       def _authorized(self, a):
           if a in self._allowed():
               return True
           else:
               return False

       def __call__(self, environ, start_response):
           auth_header = environ.get('HTTP_AUTHORIZATION')
           path_info = environ.get('PATH_INFO')

               if self._management_access(path_info) or self._authorized(auth_header):
                   return self.application(environ, start_response)
               return auth_required_app(environ, start_response, self.realm)




2011   9   1
TIPS                                             6/6

   ✤




           ✤               DateTimeProperty
               UTC

           ✤   cron.yaml        UTC

           ✤                                  UTC




2011   9   1
GAE

   ✤




           OS



   ✤



   ✤



   ✤



2011   9   1
GAE

   ✤




           ✤




   ✤




           ✤   × http://hirukai.jp → ○ http://www.hirukai.jp
   ✤       Twitter    OAuth

           ✤                        IP

               http://stackoverflow.com/questions/3284205/twitter-rate-limit-
               exceeded-google-app-engine/3285127
2011   9   1

Más contenido relacionado

Similar a Bpstudy48

Django Article V0
Django Article V0Django Article V0
Django Article V0
Udi Bauman
 
20110903 candycane
20110903 candycane20110903 candycane
20110903 candycane
Yusuke Ando
 

Similar a Bpstudy48 (20)

Open Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersOpen Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, Managers
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
MenloHacks Workshop 2019
MenloHacks Workshop 2019MenloHacks Workshop 2019
MenloHacks Workshop 2019
 
Movable Type 5 Smartphone Option
Movable Type 5 Smartphone OptionMovable Type 5 Smartphone Option
Movable Type 5 Smartphone Option
 
Reusable Apps
Reusable AppsReusable Apps
Reusable Apps
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
 
Django Article V0
Django Article V0Django Article V0
Django Article V0
 
Working Software Over Comprehensive Documentation
Working Software Over Comprehensive DocumentationWorking Software Over Comprehensive Documentation
Working Software Over Comprehensive Documentation
 
Old Dogs and New Tricks
Old Dogs and New TricksOld Dogs and New Tricks
Old Dogs and New Tricks
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
 
Oracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JATOracle Forms Performance Testing PushToTest TestMaker JAT
Oracle Forms Performance Testing PushToTest TestMaker JAT
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
 
Photoshop Elements 11
Photoshop Elements 11Photoshop Elements 11
Photoshop Elements 11
 
Pycon2011 android programming-using_python
Pycon2011 android programming-using_pythonPycon2011 android programming-using_python
Pycon2011 android programming-using_python
 
Photoshop Elements 11
Photoshop Elements 11Photoshop Elements 11
Photoshop Elements 11
 
20110903 candycane
20110903 candycane20110903 candycane
20110903 candycane
 
Utilizing HTML5 APIs
Utilizing HTML5 APIsUtilizing HTML5 APIs
Utilizing HTML5 APIs
 
Firebase analytics event_201607
Firebase analytics event_201607Firebase analytics event_201607
Firebase analytics event_201607
 
Google Platform Overview (April 2014)
Google Platform Overview (April 2014)Google Platform Overview (April 2014)
Google Platform Overview (April 2014)
 
SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 

Bpstudy48

  • 1. Google App Engine 2011 8 31 BP Study #48 2011 9 1
  • 2. setomits ✤ : ✤ 2001 : CAC ✤ 2007 : ✤ 2008 : ✤ 2010 : ✤ 2011 : ← 2011 9 1
  • 3. Python ✤ CAC / ✤ Python ✤ ✤ ✤ ✤ UI 2011 9 1
  • 4. Python ✤ ✤ ✤ ✤ ✤ ✤ ✤ Web 2011 9 1
  • 5. Python ✤ ✤ Python ✤ Apache + mod_python ↓ ✤ ✤ ✤ 2011 9 1
  • 6. Python ✤ ✤ ✤ ✤ ✤ Online to Offline - ✤ Google App Engine 2011 9 1
  • 7. → ✤ → ✤ → ✤ → ... 2011 9 1
  • 8. ✤ ✤ ✤ ✤ → Weak Ties ✤ Facebook / LinkedIn → Online to Offline 2011 9 1
  • 9. TIPS 1/6 ✤ GoogleAppEngineLauncher Preferences... : “Python Path” 2011 9 1
  • 10. TIPS 2/6 ✤ ✤ “Extra Flags” “--address=0.0.0.0” ✤ dev_appserver.py --help 2011 9 1
  • 11. TIPS 3/6 ✤ App Engine ✤ app name ✤ app.yaml UI memcached application: myapp application: myapp version: dev version: rel ... → dev.myapp.appspot.com → rel.myapp.appspot.com 2011 9 1
  • 12. TIPS 4/6 ✤ ✤ myapp.apspot.com appengine.google.com Versions ✤ 10 2011 9 1
  • 13. TIPS 5/6 ✤ ✤ appengine_config.py ref: http://d.hatena.ne.jp/nullpobug/20110528/1306516902 ✤ Task Queue Cron ... ✤ basicauth.py 2011 9 1
  • 14. class AuthMiddleware(object): def __init__(self, application, realm, authdic): self.application = application self.realm = realm self.authdic = authdic def _allowed(self): return ['Basic %s' % base64.b64encode('%s:%s' % (k, self.authdic[k])) for k in self.authdic] def _management_access(self, p): if p.startswith('/task/') or p.startswith('/cron/'): return True else: return False def _authorized(self, a): if a in self._allowed(): return True else: return False def __call__(self, environ, start_response): auth_header = environ.get('HTTP_AUTHORIZATION') path_info = environ.get('PATH_INFO') if self._management_access(path_info) or self._authorized(auth_header): return self.application(environ, start_response) return auth_required_app(environ, start_response, self.realm) 2011 9 1
  • 15. TIPS 6/6 ✤ ✤ DateTimeProperty UTC ✤ cron.yaml UTC ✤ UTC 2011 9 1
  • 16. GAE ✤ OS ✤ ✤ ✤ 2011 9 1
  • 17. GAE ✤ ✤ ✤ ✤ × http://hirukai.jp → ○ http://www.hirukai.jp ✤ Twitter OAuth ✤ IP http://stackoverflow.com/questions/3284205/twitter-rate-limit- exceeded-google-app-engine/3285127 2011 9 1