用 Python 开发可规模化的应用

借助 Google 应用引擎

高级

大约 6 个星期

6小时每周 (自主学习)

由以下企业参与制作:
加入成千上万的全球学员

开始免费课程

加入课程
免费
可享受
课程视频
实战练习与参考项目指导
高级

大约 6 个星期

6小时每周 (自主学习)

由以下企业参与制作:
加入成千上万的全球学员

课程概述

你将了解构建可以为数十万用户提供服务的应用所面临的挑战,以及作为一名开发人员应该做好哪些准备。更重要的是,你将学习如何利用应用引擎的功能——由 Google 运行的平台即服务,以让自己专注于开发应用的功能,而不是将时间花费在管理运行应用的基础架构上。让 Google 运行和扩展基础架构,而你做好自己最擅长的事情——编写代码!

但是,要有效地使用应用引擎,你必须了解它的工作原理,而这正是本课程所教授的!你还将学习使用云终端的最佳做法,利用这些终端,你可以轻松创建 API 服务,并使这些服务可以从 iOS、Android 和 Javascript 客户端访问。它们允许你自动生成客户端库,使前端布线变得容易。此外,我们还将介绍一些极好的内置功能,如拒绝服务保护和 OAuth 2.0 支持。

喜欢这门课程?加入“全栈网站开发工程师”纳米学位,点此免费体验

为什么学习这门课程?

云计算是当今发展最快的领域之一。毫无疑问,它提供了一种简单且经济实惠的应用运行方法。但是,在云端的虚拟机上托管和扩展应用程序的传统方式成本高昂——即使基础架构是虚拟的,你仍然需要进行管理——执行负载平衡、上下运行实例、修补软件等通常会让你在基础设施上花费大量时间和资源。

Google 是扩展业务的先行者之一,现在你可以使用他们的基础架构,让他们执行所有的扩展工作,而你专注于构造你的应用程序提供的独特功能。

你是 Java 开发者吗?如果是,你可以查看我们的用 Java 开发可规模化的应用课程

项目

从第 2 课开始,将有一个贯穿整个课程的总体项目。你将开发一个用于组织会议的应用,类似于 meetup.com 或 eventbrite.com 等网站。我们提供了应用的前端,而你要做的所有工作就是构建后端。

由于你将使用云终端,很容易便能用本机移动应用连接你的后端。我们创建了一个与 Web 前端使用相同后端的 Android 应用。如果你愿意,可以针对你的后端对它进行重新编译!

在课程结束时,你要完成一个最终项目,到时你需要扩展同一个应用的功能。

先修要求

你要能较为熟练地使用 Python 进行编程,最好有至少一年的 Web 应用开发和数据库使用经验。你将开发同一个应用的后端,因此不必担心 HTML 或 JavaScript。

你要有在你的计算机上安装新软件的足够权限,并能够熟练地配置它,包括设置系统变量。

我们将使用 Maven 和 Eclipse 来完成本课程,并强烈建议你也使用它们。

查看使用优达学城的技术要求

你将学习什么内容?

项目

设计游戏 API

在此项目中,你将使用这些技能来开发你自己的游戏!你将编写一个 API,其终端允许任何人为你的游戏开发前端。由于不要求你编写前端,你可以使用 API Explorer 测试你的 API。

学习计划

概述

本课程包括 6 节课。第一节是对云计算和平台即服务的好处概述。第 2 至 5 节课将介绍 Google 应用引擎的重要理论概念,你还会有大量实践机会来实现你所学到的方法。第 6 课简短介绍了创建可以与你的后端通信的本地移动应用的一种简单方法。

第 1 课:可扩展性基础

你知道几年前人们如何和为何发明了服务器机架吗?你是否意识到了如果你要自己动手扩展应用,需要解决哪些问题吗?本节课会为你揭晓答案。

第 2 课:启动

设置你的第一个应用引擎项目,并了解如何定义云终端。

启动课程项目应用程序——会议中心,并添加身份验证和用户配置文件。

第 3 课:存储和检索数据

你要在应用中做的最重要的事情之一就是存储数据。在这节课中,你将了解什么是 Google 应用引擎数据库,它与关系型数据库管理系统(RDBMS)有何不同,以及如何在你的应用中使用它。

向课程项目应用添加存储和检索用户配置文件和会议的功能。

第 4 课:高级数据库概念

了解数据库的运作原理,包括查询、筛选器、索引和事务。

添加多种查询会议方式。

第 5 课:高级应用引擎话题

有很多工作你可能希望你的应用在后台执行,而无需让用户等待,或甚至是启动过程。你将在这节课了解任务队列和定时任务(cron jobs),以及如何使用它们向应用添加高级功能。你还将学习 Memcache,并大体了解边界缓存(Edge Caching)、AppStats 及优化应用性能的其他方法。

向你的应用添加推送队列、定时任务和定制的 Memcache 条目。

讲师与合作伙伴

Karl Krueger

Karl Krueger

Karl 是优达学城的一名课程开发人员。在加入优达学城之前,Karl 曾在 Google 担任网站可靠性工程师(SRE)长达八年,主要负责构建自动化和监控系统,帮助全球最繁忙的网络服务保持在线状态。工作之余,他喜欢园艺、烹饪、棋类游戏,并研究一些新兴编程语言。他总喜欢在各种白板上写写画画。

Gundega Dekena

Gundega Dekena

Gundega 曾是优达学城的学员。如今,从某种意义上来说,她依然是个学生,因为她每天都会从一起共事的讲师和优达学城的同事身上学到新的东西。

如果你想阅读一些关于机器人、科技和游戏方面的趣味新闻,不妨在 G+ 上关注她 - https://plus.google.com/+GundegaDekena

Magnus Hyttsten

Magnus Hyttsten

Magnus Hyttsten 在 Google 担任开发技术推广工程师。他是一个坚定不移的软件技术专家,也是一个产品营销狂热者,喜欢在快节奏的环境中工作。加入 Google 之前,他在电信产业的一家公司工作。这家公司是他与别人共同创立的,自2000年便担任其CTO。他酷爱数据中心、静态类型编程语言、科技传播、以及其他还未有人尝试过的事情。目前,他非常热衷于移动设备连接至云端相关问题。

官方微信公众号二维码

优达学城(Udacity)微信