Google App Engine开发

出版时间:2010 年6月  出版社:东南大学出版社  作者:Charles Severance  页数:241  
Tag标签:无  

前言

The greatest single reason that the World Wide Web has been so widely used andadopted is because individuals are allowed to participate in the Web. People can pro-duce web Content and create a MySpace page or home pages provided by their schoolor organization and contribute their creativity and content to the Web. Free serviceslike Blogger, Flickr, Google Sites, Google Groups, and others have given us all an outletfor our creativity and presence on the Web——at no charge.For most of the life of the Web, if you wanted to have your own rich software-backedwebsite with data storage, your only choice was to purchase hosting services from anInternet Service Provider (ISP) and learn database management and a programminglanguage like PHP to build or run your software. Learning and paying for this muchtechnology was just beyond the reach of most web users, who simply had to accept thelimited features of MySpace, Blogger, or whatever system hosted their web content.In April 2008, Google announced a product called App Engine. When you write aprogram for the Web that runs on App Engine, your software runs on the Google serverssomewhere in the Google "cloud." It is as if you are a Google employee and you haveaccess to the entire scalable Google infrastructure. App Engine captures much of Goo-gle's experience of building fast, reliable, and scalable websites, and through App En-gine, Google is revealing many of the secrets about how its own applications scale to 'millions of users.The most exciting part of the Google App Engine announcement is the fact that it isfree for moderate levels of use. Every person with a Gmail account can have a numberof free applications running on the Google infrastructure. If your application becomesextremely popular and your traffic goes above the allowed levels of the free account,you can pay to use more of Google's resources. As your appli~:ation scales, Googleengineers and operations staff take care of all the hardware, data storage, backup, andnetwork provisioning for you.

内容概要

即便你在编程或者Web开发方面只有很少或者没有任何经验,使用Google APP Engine和这本书就能快速并且充满自信地构建那些激动人心的可扩展Web应用。    App Engine几乎是近年来最引人注目的Web技术,它提供了一个简单易用的应用程序框架以及基本的Web工具。尽管Google自带的教程已经展示了主要的步骤,但是《Google App Engine开发》将会帮助任何人开始上手使用这个平台。读完本书你将学会如何构建完整的交互应用,并且将它们部署到和]Google搜索引擎使用同样服务器的云中。    拥有这本书,你将会:纵览Google App Engine相关必备技术;学习如何使用Python、HTML、层叠样式表(CSS)、HTTP和IDataStore(App Engine的数据库);领会创建高级动态web应用的必备技术要点;掌握部署应用的前提要件。    《Google App Engine开发》同样也是那些想要获得Web开发技能的资深程序员的极佳参考资源。构建Web应用曾是专家们独占的领地,但自从有了Google App Engine和这本书,任何人都能创建一个动态Web网站。

作者简介

Charles Severance是密歇根大学信息学院的兼职助理教授。他也是IMS全球学习联合会的IMS开发者网络协调员。

书籍目录

Preface1. Programming on the Web    The Request/Response Cycle    What Is Google App Engine?    What Is a "Cloud"?    Why Did Google Build App Engine and Give It Away for Free?    What Is the Google Infrastructure Cloud?    Enter the Application Engine    Your Application Must Be a Good Citizen in the Google Cloud    How the Cloud Runs Your Application    Why You Really Want to Run in the Cloud    The Simplest App Engine Application    Summary    Exercises2. HTMLandCSS    A Brief History of HTML and CSS    HyperText Markup Language (HTML)    A Well-Formed HTML Document    Validating Your HTML    HyperText Links (Anchor Tags)    Multiple Files    Lists in HTML    Specifying Styles Using CSS    Styling Tags with CSS    Exerting More Control over Markup    Validating CSS    Tools to Help You Work with css    Building the Navigation Menu    The CSS Box Model    Adding Navigation Hints for Users    Summary    Exercises3. Python    What Is Programming?    About Pyttion    Installing Python    The Essence of Programming    Input, Processing, and Output    Conditional Steps: A Number-Guessing Web Application    Variables and Expressions    Naming Variables    Constants    Handling Text Data Using Strings    Using the String Library    Types and Conversion    Variables with Many Values at the Same Time: Lists    Repeated Code: Loops    Python's Backpack: Dictionaries    Looping Through a Dictionary    Stored and Reused Code: Python Functions    Turning Traceback to Our Advantage Using Try and Except    Object-Oriented Python    Comments in Python    The Tao of Programming    Summary    Exercises4. Sending Data to Your Application    Making an HTTP Request    Hacking the HTTP Protocol    The HTTP Protocol Standards    Watching HTTP in Action    HTML: Building a Form    Sending Form Data to the Server Using POST    Handling Form Data in the App Engine Server    Sending Form Data to the Server Using GET    App Engine Log    Looking at All the Data Available on an HTTP Request    Advanced: Multipart POST Data with File Upload    Summary    Exercises5. TheApp Engine webapp Framework    A Trivial App Engine Application    An Equivalent Trivial webapp Application    The Handler Callback Pattern    Looking at the Handler Code    What Is "self" and Why Is It There?    Number Guessing Using the webapp Framework    Web Server Logs    Summary    Exercises6. Templates    Template Syntax    Using the Templates from Python    The Number-Guessing Game Using Templates    Abstraction and Separation of Concerns: "Model View Controller"    Building a Multiscreen Application    Static Files in App Engine    Referencing Static Files    Generalizing Template Lookup with Multiple Templates    Extending Base Templates    Conditional Processing Templates    Replacing More Than One Block in the Base Template    Extending Our Application    Syntax Errors    More on Templates    Summary    Exercises7. Cookies and Sessions    HTTP Cookies    Logging In and Logging Out Using Sessions    Installing the Simple Session Utility    Using the Session to Mark Login and Logout    Changing the User Interface for a Logged-In User    Summary    Exercises8. AppEngineDatastore    The Model-View-Controller Pattern    Defining Models    Adding a New Account Form    Adding a User Account    Looking Through the Datastore    Logging In and Checking Accounts and Passwords    Retrieving and Displaying Many Objects    Terminology: Different Types of Keys    References Between Data Models    Interactions Between Models    Pt/tting the Primary Key into Session    Adding the Chat Feature    Summary    Exercises9. lavaScript, jQuery, and AJAX    jquery    Create a View of the Chat Messages in HTML    Asynchronously Updating a

章节摘录

插图:Running an application in the cloud is kind of like flying business class across the PacificOcean between Australia and the United States. You are vaguely aware that you aregoing really fast inside of a highly complex device that you barely understand. Thepilots, crew, maintenance people, chefs, logistics staff, traffic controllers, and gateagents all are making sure that your trip happens efficiently and comfortably——and thatit is uneventful. All you know is that you sit in a recliner, watch a movie, eat a nice filetmignon, have a glass of red wine, lay the seat fiat, sleep for a few hours, and wake uprefreshed on a different continent.Why You Really Want to Run in the CloudYou might initially think that you don't want to run in the Google cloud because youwant to make your own decisions and control your own destiny. You might want torun your own servers in your own facility and make all the decisions about your ap-plication. Perhaps you just like walking into a server room and seeing the hardwarethat is running the application. Although this sense of control might sound appealingat first, it is really just a lot of trouble and energy that does not advance the cause ofyourapplication. Here are a few of the things that you have to worry about when yourun on your own servers: what operating system should I run? What version of theoperating system is the most reliable? When do I apply vendor patches (especially thosepesky security patches)? How do I protect my system from intruders? Do I need afirewall to protect my servers? How do I monitor my servers to detect when an intrusionhappens and then how do I get notified? How far do I have to drive to the server roomto reformat and reinstall the software at 4:00 a.m. so that it is back up by 10:00 a.m.?What database do I run? What version? What patches? Should I upgrade the memoryof my database server, or should I add an additional disk to the RAID controller? CanI use a single database server, or do I need to cluster several database servers? How doesthe clustered database server get backed up? How long does it take to restore mydatabase when there is a hardware problem with the database server's disk drives? Howmany application web servers do I need? I know that my application's peak usage isfrom 7:00 p.m. to 9:00 p.m. each day. Do I buy enough hardware to handle that peakload, or do I buy a little less hardware and just let the servers slow down a bit duringthe 7:00 p.m. to 9:00 p.m. period? If my application is so popular that it is used bothin the United States and Europe, do I need to find a data center in Europe and put somehardware in Europe so that all the European users see a quick response time? Whenshould I upgrade my hardware? Should I add more hardware and keep the old hardwareor simply pitch the old hardware and install all new hardware? How much energy doesmy hardware take? Is there a way to reduce the energy footprint of my hardware?

媒体关注与评论

“《Google App EngiRe开发》使几乎不可能的事成为可能,帮助我这个老家伙学习一些难以置信的相关技术诀窍。我在过去整个职业生涯中一直想要更好地掌握Web开发,自从有了这本书,梦想终于成真。”  ——Robert Glushko.学生,密歇根大学

图书封面

图书标签Tags

评论、评分、阅读与下载


    Google App Engine开发 PDF格式下载


用户评论 (总计2条)

 
 

  •   本来以为这本书能讲一些google app engine 官方文档中没有讲的内容。到手后才发现这本书定位是初学者。花了大量篇幅讲PYTHON,****协议,CSS等。而GAE方面则只讲了少量与构建网站有关的部分,很多高级特性在本书中都没有提。最后这本书还花了大量篇幅将怎么安装GOOGLE APP ENGINE,这些完全可以在google的文档中找到。
    个人觉得,如果对网站开发一窍不通,可以考虑看看这本书。如果想深入学习GAE,那最好还是看GOOGLE提供的文档和样例代码。
  •   书还可以,有点损伤,还没看
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7