|
|
|
|
LEADER |
00000cam a2200000Ia 4500 |
001 |
OR_ocn816351290 |
003 |
OCoLC |
005 |
20231017213018.0 |
006 |
m o d |
007 |
cr cnu---unuuu |
008 |
121107s2012 caua ob 001 0 eng d |
040 |
|
|
|a UMI
|b eng
|e pn
|c UMI
|d N$T
|d YDXCP
|d COO
|d DEBSZ
|d TEFOD
|d OCLCO
|d FMG
|d IDEBK
|d REB
|d NLE
|d TEFOD
|d EBLCP
|d OCLCQ
|d OCLCO
|d OCLCF
|d OCLCO
|d OCLCQ
|d OCLCO
|d NRC
|d OCLCQ
|d BRL
|d CEF
|d UAB
|d UKAHL
|d CNCEN
|d OCLCQ
|d AAA
|d OCLCO
|d OCLCQ
|
019 |
|
|
|a 856993203
|a 859894603
|a 1105764888
|
020 |
|
|
|a 9781449359249
|q (electronic bk.)
|
020 |
|
|
|a 1449359248
|q (electronic bk.)
|
020 |
|
|
|a 9781449359232
|q (electronic bk.)
|
020 |
|
|
|a 144935923X
|q (electronic bk.)
|
020 |
|
|
|a 9781449398262
|
020 |
|
|
|a 144939826X
|
020 |
|
|
|z 144939826X
|
024 |
8 |
|
|a 9781449314095
|
029 |
1 |
|
|a AU@
|b 000050240049
|
029 |
1 |
|
|a DEBSZ
|b 378289799
|
029 |
1 |
|
|a NZ1
|b 14872037
|
029 |
1 |
|
|a AU@
|b 000066233387
|
029 |
1 |
|
|a AU@
|b 000073551307
|
035 |
|
|
|a (OCoLC)816351290
|z (OCoLC)856993203
|z (OCoLC)859894603
|z (OCoLC)1105764888
|
037 |
|
|
|a CL0500000173
|b Safari Books Online
|
037 |
|
|
|a BD724C53-F757-44BE-92DE-85D538DF511F
|b OverDrive, Inc.
|n http://www.overdrive.com
|
050 |
|
4 |
|a QA76.76.A65
|
072 |
|
7 |
|a COM
|x 060160
|2 bisacsh
|
082 |
0 |
4 |
|a 006.76
|2 23
|
049 |
|
|
|a UAMI
|
100 |
1 |
|
|a Sanderson, Dan.
|
245 |
1 |
0 |
|a Programming Google App Engine /
|c Dan Sanderson.
|
250 |
|
|
|a 2nd ed.
|
260 |
|
|
|a Sebastopol, CA :
|b O'Reilly,
|c 2012.
|
300 |
|
|
|a 1 online resource :
|b illustrations
|
336 |
|
|
|a text
|b txt
|2 rdacontent
|
337 |
|
|
|a computer
|b c
|2 rdamedia
|
338 |
|
|
|a online resource
|b cr
|2 rdacarrier
|
347 |
|
|
|a text file
|
588 |
0 |
|
|a Print version record.
|
504 |
|
|
|a Includes bibliographical references and index.
|
520 |
|
|
|a Google App Engine makes it easy to create a web application that can serve millions of people as easily as serving hundreds, with minimal up-front investment. With Programming Google App Engine , Google engineer Dan Sanderson provides practical guidance for designing and developing your application on Google's vast infrastructure, using App Engine's scalable services and simple development model. Through clear and concise instructions, you'll learn how to get the most out of App Engine's nearly unlimited computing power. This second edition is fully updated and expanded to cover Python 2.7 and Java 6 support, multithreading, asynchronous service APIs, and the use of frameworks such as Django 1.3 and webapp2. Understand how App Engine handles web requests and executes application code Learn about new datastore features for queries and indexes, transactions, and data modeling Create, manipulate, and serve large data files with the Blobstore Use task queues to parallelize and distribute computation across the infrastructure Employ scalable services for email, instant messaging, and communicating with web services Track resource consumption, and optimize your application for speed and cost effectiveness.
|
542 |
|
|
|f Copyright © 2012 Dan Sanderson
|g 2012
|
505 |
0 |
|
|a 1.Introducing Google App Engine -- The Runtime Environment -- The Static File Servers -- The Datastore -- Entities and Properties -- Queries and Indexes -- Transactions -- The Services -- Namespaces -- Google Accounts, OpenID, and OAuth -- Task Queues and Cron Jobs -- Developer Tools -- The Administration Console -- Things App Engine Doesn't Do... Yet -- Getting Started -- 2.Creating an Application -- Setting Up the SDK -- Installing the Python SDK -- Installing the Java SDK -- Developing the Application -- The User Preferences Pattern -- Developing a Python App -- Developing a Java App -- The Development Console -- Registering the Application -- The Application ID and Title -- Setting Up a Domain Name -- Google Apps and Authentication -- Uploading the Application -- Using Two-Step Verification -- Introducing the Administration Console -- 3.Configuring an Application -- The App Engine Architecture -- Configuring a Python App -- Runtime Versions -- Configuring a Java App -- Domain Names -- App IDs and Versions -- App IDs and Versions in Python -- App IDs and Versions in Java -- Multithreading -- Request Handlers -- Request Handlers in Python -- Request Handlers in Java -- Static Files and Resource Files -- Static Files in Python -- Static Files in Java -- Secure Connections -- Secure Connections in Python -- Secure Connections in Java -- Authorization with Google Accounts -- Authorization in Python -- Authorization in Java -- Environment Variables -- Inbound Services -- Custom Error Responses -- Administration Console Custom Pages -- More Python Features -- Python Libraries -- Built-in Handlers -- Includes -- Java Servlet Sessions -- 4.Request Handlers and Instances -- The Runtime Environment -- The Sandbox -- Quotas and Limits -- The Python Runtime Environment -- The Java Runtime Environment -- The Request Handler Abstraction -- Introducing Instances -- Request Scheduling and Pending Latency -- Warm-up Requests -- Resident Instances -- The Instances Console -- Instance Hours and Billing -- Instance Classes -- 5.Datastore Entities -- Entities, Keys, and Properties -- Introducing the Python Datastore API -- Introducing the Java Datastore API -- Property Values -- Strings, Text, and Blobs -- Unset Versus the Null Value -- Multivalued Properties -- Keys and Key Objects -- Using Entities -- Getting Entities Using Keys -- Inspecting Entity Objects -- Saving Entities -- Deleting Entities -- Allocating System IDs -- The Development Server and the Datastore -- 6.Datastore Queries -- Queries and Kinds -- Query Results and Keys -- GQL -- The Python Query API -- The Query Class -- GQL in Python -- Retrieving Results -- Keys-Only Queries -- The Java Query API -- Building the Query -- Fetching Results with PreparedQuery -- Keys-Only Queries in Java -- Introducing Indexes -- Automatic Indexes and Simple Queries -- All Entities of a Kind -- One Equality Filter -- Greater-Than and Less-Than Filters -- One Sort Order -- Queries on Keys -- Kindless Queries -- Custom Indexes and Complex Queries -- Multiple Sort Orders -- Filters on Multiple Properties -- Multiple Equality Filters -- Not-Equal and IN Filters -- Unset and Nonindexed Properties -- Sort Orders and Value Types -- Queries and Multivalued Properties -- A Simple Example -- MVPs in Python -- MVPs in Java -- MVPs and Equality Filters -- MVPs and Inequality Filters -- MVPs and Sort Orders -- Exploding Indexes -- Query Cursors -- Cursors in Python -- Cursors in Java -- Projection Queries -- Projection Queries in Python -- Projection Queries in Java -- Configuring Indexes -- Index Configuration for Python -- Index Configuration for Java -- 7.Datastore Transactions -- Entities and Entity Groups -- Keys, Paths, and Ancestors -- Ancestor Queries -- What Can Happen in a Transaction -- Transactional Reads -- Eventually Consistent Reads -- Transactions in Python -- Transactions in Java -- How Entities Are Updated -- How Entities Are Read -- Batch Updates -- How Indexes Are Updated -- Cross-Group Transactions -- 8.Datastore Administration -- Inspecting the Datastore -- Managing Indexes -- The Datastore Admin Panel -- Accessing Metadata from the App -- Querying Statistics -- Querying Metadata -- Index Status and Queries -- Entity Group Versions -- Remote Controls -- Setting Up the Remote API for Python -- Setting Up the Remote API for Java -- Using the Remote Shell Tool -- Using the Remote API from a Script -- 9.Data Modeling with Python -- Models and Properties -- Property Declarations -- Property Value Types -- Property Validation -- Nonindexed Properties -- Automatic Values -- List Properties -- Models and Schema Migration -- Modeling Relationships -- One-to-Many Relationships -- One-to-One Relationships -- Many-to-Many Relationships -- Model Inheritance -- Queries and PolyModels -- Creating Your Own Property Classes -- Validating Property Values -- Marshaling Value Types -- Customizing Default Values -- Accepting Arguments -- 10.The Java Persistence API -- Setting Up JPA -- Entities and Keys -- Entity Properties -- Embedded Objects -- Saving, Fetching, and Deleting Objects -- Transactions in JPA -- Queries and JPQL -- Relationships -- For More Information -- 11.The Memory Cache -- Calling Memcache from Python -- Calling Memcache from Java -- Keys and Values -- Setting Values -- Setting Values that Expire -- Adding and Replacing Values -- Getting Values -- Deleting Values -- Locking a Deleted Key -- Atomic Increment and Decrement -- Compare and Set -- Batching Calls to Memcache -- Memcache Batch Calls in Python -- Memcache Batch Calls in Java -- Memcache and the Datastore -- Handling Memcache Errors -- Memcache Administration -- Cache Statistics -- Flushing the Memcache -- 12.Large Data and the Blobstore -- Accepting User Uploads -- Web Forms and MIME Multipart Data -- Blobstore Upload Requests -- Handling Uploads in Python -- Handling Uploads in Java -- Using BlobInfo Entities -- Using BlobInfo Entities in Python -- Using BlobInfo Entities in Java -- Serving Blobstore Values -- Serving Blobstore Values in Python -- Serving Blobstore Values in Java -- Deleting Blobstore Values -- Reading Blobstore Values -- Fetching Byte Ranges -- Reading Values with Streams -- A Complete Example -- A Blobstore Example in Python -- A Blobstore Example in Java -- 13.Fetching URLs and Web Resources -- Fetching URLs in Python -- Fetching URLs in Java -- Outgoing HTTP Requests -- The URL -- The HTTP Method and Payload -- Request Headers -- HTTP Over SSL (HTTPS) -- Request and Response Sizes -- Request Deadlines -- Handling Redirects -- Response Objects -- 14.Sending and Receiving Email Messages -- Sending Email Messages -- Sending Email from the Development Server -- Sender Addresses -- Recipients -- Attachments -- Sending Email in Python -- Sending Email in Java -- Receiving Email Messages -- Receiving Email in Python -- Receiving Email in Java -- 15.Sending and Receiving Instant Messages with XMPP -- Inviting a User to Chat -- Sending Invitations in Python -- Sending Invitations in Java -- Sending Chat Messages -- Sending Chat Messages in Python -- Sending Chat Messages in Java -- Receiving Chat Messages -- Receiving Chat Messages in Python -- Receiving Chat Messages in Java -- Handling Error Messages -- Managing Presence -- Managing Subscriptions -- Managing Presence Updates -- Probing for Presence -- Checking a Google Talk User's Status -- 16.Task Queues and Scheduled Tasks -- Configuring Task Queues -- Enqueuing a Task -- Enqueuing a Task in Python -- Enqueuing a Task in Java -- Task Parameters -- Payloads -- Task Names -- Countdowns and ETAs -- Push Queues -- Task Requests -- Processing Rates and Token Buckets -- Retrying Push Tasks -- Pull Queues -- Enqueuing Tasks to Pull Queues -- Leasing and Deleting Tasks -- Retrying Pull Queue Tasks -- Transactional Task Enqueueing -- Transactional Tasks in Python -- Transactional Tasks in Java -- Task Chaining -- Task Queue Administration -- Deferring Work -- Deferring Work in Python -- Deferring Work in Java -- Scheduled Tasks -- Configuring Scheduled Tasks -- Specifying Schedules -- 17.Optimizing Service Calls -- Calling Services Asynchronously -- Asynchronous Calls in Python -- Asynchronous Calls in Java -- Visualizing Calls with AppStats -- Installing AppStats for Python -- Installing AppStats for Java -- Using the AppStats Console -- 18.The Django Web Application Framework -- Using the Bundled Django Library -- Creating a Django Project -- Hooking It Up to App Engine
|
505 |
0 |
|
|a -- Creating a Django App -- Using Django Templates -- Using Django Forms -- The django-nonrel Project -- 19.Managing Request Logs -- Writing to the Log -- Logging in Python -- Logging in Java -- Viewing Recent Logs -- Downloading Logs -- Logs Retention -- Querying Logs from the App -- Querying Logs in Python -- Querying Logs in Java -- Flushing the Log Buffer -- 20.Deploying and Managing Applications -- Uploading an Application -- Using Versions -- Managing Service Configuration -- Application Settings -- Managing Developers -- Quotas and Billing -- Getting Help.
|
590 |
|
|
|a O'Reilly
|b O'Reilly Online Learning: Academic/Public Library Edition
|
630 |
0 |
0 |
|a Google Apps.
|
630 |
0 |
7 |
|a Google Apps.
|2 fast
|0 (OCoLC)fst01783175
|
650 |
|
0 |
|a Application software
|x Development.
|
650 |
|
0 |
|a Web site development
|x Computer programs.
|
650 |
|
6 |
|a Logiciels d'application
|x Développement.
|
650 |
|
6 |
|a Sites Web
|x Développement
|x Logiciels.
|
650 |
|
7 |
|a COMPUTERS
|x Web
|x Web Programming.
|2 bisacsh
|
650 |
|
7 |
|a Application software
|x Development.
|2 fast
|0 (OCoLC)fst00811707
|
650 |
|
7 |
|a Web site development
|x Computer programs.
|2 fast
|0 (OCoLC)fst01173244
|
776 |
0 |
8 |
|i Print version:
|a Sanderson, Dan.
|t Programming Google App Engine.
|d Sebastopol, CA : O'Reilly, 2012
|z 9781449398262
|w (OCoLC)757148493
|
856 |
4 |
0 |
|u https://learning.oreilly.com/library/view/~/9781449314095/?ar
|z Texto completo (Requiere registro previo con correo institucional)
|
938 |
|
|
|a Askews and Holts Library Services
|b ASKH
|n AH24420147
|
938 |
|
|
|a Askews and Holts Library Services
|b ASKH
|n AH24420148
|
938 |
|
|
|a ProQuest Ebook Central
|b EBLB
|n EBL1042922
|
938 |
|
|
|a EBSCOhost
|b EBSC
|n 495832
|
938 |
|
|
|a ProQuest MyiLibrary Digital eBook Collection
|b IDEB
|n cis28409221
|
938 |
|
|
|a YBP Library Services
|b YANK
|n 9891988
|
994 |
|
|
|a 92
|b IZTAP
|