出版时间: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
无
评论、评分、阅读与下载