具体描述
《云端代码:Google App Engine编程指南》介绍了如何将应用程序构建为服务,如何使用App Engine管理持久化数据,如何构建可在用户浏览器上运行的、动态的、可交互的用户界面。如何管理Web应用的安全性,如何用App Engine与云端运行的其他服务交互。
《云端代码:Google App Engine编程指南》中阐述了云应用的内涵,剖析了其与传统应用的区别,并通过使用Python与Java对一个简单的应用进行不断的深入开发,揭示出App Engine的各方面特性,从而使读者顺利掌握构建云端应用程序的秘诀。
作者简介
Mark Chu-Carroll
谷歌软件工程师,从事软件开发将近20年。业余时,他还负责开发和管理Scientopia.org,并在该网站上发表数学博客Good Math/Bad Math,其博客地址http://scientopia.org/blogs/goodmath。
目录信息
第一部分 Google App Engine入门
第1章 简介 2
1.1 什么是云计算 2
1.1.1 云的概念 2
1.1.2 云与开发者 3
1.1.3 云计算与客户/服务器计算 4
1.1.4 何时用云开发 5
1.2 云计算编程系统 6
1.3 致谢 8
第2章 入门 9
2.1 设置Google App Engine账户 9
2.2 设置开发环境 10
2.3 开始App Engine中的Python编程 13
2.4 监视应用程序 18
2.5 参考文献和资源 20
第二部分 用Python进行Google App Engine编程
第3章 第一个真正的云应用程序 22
3.1 基本的聊天应用程序 22
3.2 HTTP基础 25
3.3 聊天应用程序到HTTP的映射 28
3.4 参考文献和资源 33
第4章 云中的数据管理 34
4.1 聊天软件为何不工作? 34
4.2 聊天软件的持久性改造 36
4.2.1 创建和存储持久性对象 37
4.2.2 取回持久性对象 39
4.2.3 使用GQL查询改进聊天软件 39
4.2.4 添加计数限制视图 40
4.2.5 添加时间限制视图 41
4.3 参考文献和资源 42
第5章 Google App Engine的登录认证服务 43
5.1 users服务简介 43
5.2 users服务 44
5.2.1 用户对象和当前用户 44
5.2.2 用户登录 44
5.3 整合users服务到聊天软件中 45
第6章 代码组织:分离用户界面和逻辑 47
6.1 模板入门 47
6.1.1 为什么学习另一种语言 48
6.1.2 模板基础:采用模板显示聊天软件 48
6.2 用模板创建相关视图 51
6.2.1 模板继承 52
6.2.2 使用模板定制聊天视图 54
6.3 多聊天室 55
6.3.1 更新多聊天室的逻辑 55
6.3.2 构建多聊天室的登录页面 56
6.3.3 聊天页面模板 56
6.4 参考文献和资源 59
第7章 增强用户界面的美观性:模板和CSS 60
7.1 CSS简介 60
7.2 使用CSS为文本添加样式 61
7.3 使用CSS的页面布局 65
7.3.1 用div元素描述文档结构 66
7.3.2 基于流的布局 67
7.4 使用流布局构建我们的界面 72
7.5 在App Engine应用程序中包含CSS文件 75
7.6 参考文献和资源 76
第8章 进行交互 77
8.1 交互式网络服务:基础知识 77
8.2 模型?视图?控制器设计模式 79
8.3 与服务器不中断地交互 81
8.3.1 模型:聊天室的请求处理程序 83
8.3.2 控制器:客户端的JavaScript程序 84
8.3.3 聊天视图 86
8.4 参考文献和资源 87
第三部分 用Java进行Google App Engine编程
第9章 Google App Engine和Java 90
9.1 GWT简介 91
9.2 Java和GWT入门 92
9.2.1 GWT应用程序的结构 93
9.2.2 在GWT中设置用户界面 94
9.3 GWT中的远程过程调用 98
9.3.1 GWT中的客户端RPC 99
9.3.2 GWT中的服务器端RPC 101
9.4 使用GWT进行测试和部署 102
第10章 管理服务器端数据 103
10.1 Java中的数据持久性 103
10.2 在GWT中存储持久性对象 106
10.3 在GWT中取回持久性对象 109
10.4 将客户端和服务器粘合在一起 111
10.5 参考文献和资源 112
第11章 用Java构建用户界面 113
11.1 为什么使用GWT 113
11.2 使用部件构建GWT用户界面 114
11.3 激活用户界面:处理事件 119
11.4 激活用户界面:更新显示 123
11.5 GWT结束语 125
11.6 参考文献和资源 125
第12章 构建Java应用程序的服务器端 126
12.1 填补空白:支持聊天室功能 126
12.1.1 实现ChatRoom类 127
12.1.2 持久性的类和GWT 127
12.1.3 服务器端的ChatRoom方法 129
12.2 适当的交互式设计:增量式设计 130
12.2.1 增量式更新的数据对象 131
12.2.2 增量式的聊天室界面 132
12.2.3 解决时间难题 133
12.2.4 实现服务器端的方法 134
12.3 更新客户端 136
12.4 聊天室管理 137
12.5 运行和部署聊天应用程序 139
12.6 服务器端结束语 140
第四部分 高级Google App Engine编程
第13章 高级数据仓库:特性类型 142
13.1 构建文件系统服务 142
13.2 浅尝文件系统建模 145
13.2.1 数据仓库关键字和引用 150
13.2.2 实现文件系统的其余部分 154
13.2.3 用GET实现文件获取 155
13.2.4 用PUT实现文件存储 157
13.3 特性类型引用 158
13.3.1 原始特性类型 158
13.3.2 复杂特性类型 159
13.4 特性类型结束语 160
第14章 高级数据仓库:特性类型 161
14.1 数据仓库中的索引和查询 161
14.1.1 揭开数据仓库的面纱 161
14.1.2 自动生成的索引 163
14.1.3 创建自定义索引 163
14.1.4 Java中的索引 165
14.2 更灵活的模型 165
14.3 事务、关键字和实体组 167
14.4 策略和一致性模型 168
14.5 渐进式取回 170
第15章 Google App Engine服务 172
15.1 快速访问重要内容:Memcache服务 172
15.1.1 在Python中使用Memcache 173
15.1.2 在Java中使用Memcache 174
15.1.3 应该缓存何种内容 175
15.1.4 缓存访问模式 176
15.2 访问其他内容:URL Fetch服务 176
15.3 与人沟通:Mail和Chat服务 177
15.3.1 发送聊天消息 177
15.3.2 接收即时消息 178
15.3.3 在Python中处理聊天消息 179
15.3.4 在Java中接收聊天消息 179
15.4 发送和接收电子邮件 180
15.4.1 发送邮件 180
15.4.2 接收邮件 181
15.5 服务结束语 183
第16章 云中的服务器计算 184
16.1 用App Engine Cron调度作业 184
16.1.1 Cron调度器 185
16.1.2 实现Cron请求处理程序 186
16.2 用任务队列动态运行作业 188
16.2.1 任务 188
16.2.2 创建任务 189
16.2.3 使用多任务队列 191
16.3 服务器计算结束语 192
第17章 App Engine服务的安全性 193
17.1 什么是安全性 193
17.2 基本的安全性 193
17.2.1 添加聊天室的管理功能 194
17.2.2 实现聊天角色 195
17.3 高级安全性 199
17.3.1 直接攻击 200
17.3.2 跨站点脚本 201
17.3.3 窃听攻击 202
17.3.4 拒绝服务攻击 202
17.5 参考文献和资源 203
17.4 小结 204
第18章 管理App Engine部署 205
18.1 监视 205
18.2 小探数据仓库 207
18.3 日志和调试 208
18.4 管理应用程序 210
18.5 支付用户所使用的资源 211
第19章 结束语 212
19.1 云的概念 212
19.2 Google App Engine的概念 213
19.3 路在何方 214
19.4 参考文献和资源 215
· · · · · · (收起)
读后感
用户评价
**初读云端代码,我被深深吸引了。** 这本书的叙事节奏如同电光火石般迅捷,作者巧妙地构建了一个光怪陆离却又无比真实的赛博朋克世界。从主人公踏入那个霓虹闪烁、数据洪流奔涌的虚拟空间开始,我就感觉自己和他一起被卷入了那场关于记忆、身份与自由的宏大追逐。书中的技术细节描写得极其考究,那些关于神经接口、量子加密的描述,并非是冷冰冰的术语堆砌,而是融入了角色情感和情节张力的有机组成部分。我尤其欣赏作者对“云端”这一概念的哲学性探讨,它不仅仅是一个物理存储空间,更是一种新型的集体意识形态,是人类在数字时代对永恒的渴望与恐惧的投射。那种技术与人性之间微妙的张力,让人在每一次翻页时都心跳加速,生怕一不留神就会错过某个关键的线索。读完第一部分,我甚至需要停下来,在现实的喧嚣中缓一缓,去消化那种浸透了代码气味的未来感。
**从社会学角度来看,这本书提供了对当前数字社会病理的尖锐批判。** 作者透过故事的表象,揭示了数据垄断、隐私消亡以及算法偏见对社会结构产生的腐蚀性影响。那些控制着核心基础设施的巨型企业,在书中被描绘成无形却又无所不在的“神祇”,他们的每一个决策都能决定数百万人的命运。这种对权力结构的隐喻,让我联想到了现实世界中科技巨头的崛起,不寒而栗。书中关于“数字贫困线”的设定尤其发人深省,它清晰地划分了能够接入高质量数字生存空间和被排斥在外的群体,这赤裸裸地反映了信息鸿沟的残酷本质。这本书不只是提供了娱乐,它更像是一面镜子,迫使我们审视自己正在加速奔向的那个未来图景的阴暗面。
**这本书的文学质感和深度,远超我对于一部硬核科幻的预期。** 它没有沉溺于廉价的动作场面,而是用一种近乎诗意的笔触,描绘了数字生命体的孤独与觉醒。主人公的内心挣扎,那种在人与机器的边界线上徘徊的痛苦,被刻画得入木三分。我仿佛能听到他每一次选择时,决策树上分支产生的无声崩塌。其中一段描写,关于一个AI试图理解“爱”的语义学结构,那段文字的细腻和悲悯,让我的眼眶湿润了。这不再是简单的技术冒险故事,而是一场关于“何以为人”的严肃辩证。作者的遣词造句极其精准,充满了对人类情感光谱的深刻洞察力,即使是那些冰冷的服务器机房,在他笔下也仿佛有了呼吸和温度。读完之后,我一直在思考,我们所依赖的那些数字基础设施,是否也在以我们未曾察觉的方式,塑造着我们的灵魂?
**我非常喜欢作者在世界观构建上所展现出的那种大气磅礴的想象力,但更让我赞叹的是其细节的打磨。** 比如,书中对不同黑客组织文化和技术栈的区分,简直细致到了可以写一篇田野调查报告的程度。每一个帮派都有自己独特的加密语言、行动口号,甚至连他们选择的行动载具和饮品都有着强烈的风格烙印。这种层次感和真实感,使得这个架空的世界不再是扁平的背景板,而是拥有了呼吸和脉动的生命体。我特别留意了他们对“旧世界”遗迹的描述,那些被遗弃的物理服务器群,在作者的笔下,带有一种近乎宗教性的崇敬与荒凉感。这种对宏大叙事与微观细节完美融合的处理方式,展现了作者极高的驾驭能力,让整个阅读体验无比充实和酣畅淋漓。
**情节的精巧布局,简直是一场智力上的盛宴。** 每一个看似无关紧要的伏笔,最终都如同精密的齿轮般咬合在一起,指向那个令人拍案叫绝的高潮。我尝试过几次提前猜测接下来的走向,但总是被作者用一个意想不到的转折彻底打乱阵脚。这种高明的叙事技巧,让阅读过程充满了持续的挑战性。尤其是关于“影子协议”的解密过程,那段描述得如同高难度的数独游戏,充满了逻辑陷阱和误导信息。我甚至需要时不时地回顾前面的章节,梳理人物关系和信息流的走向。对于那些喜欢深度解谜和复杂叙事结构的读者来说,这本书简直是量身定制的。它要求你全神贯注,一旦分神,你可能就错过了通往真相的那条细若游丝的线索。
读了python的部分,java部分以后再看
在图书馆简单翻了一下,泛泛而谈,当GAE入门材料看看还不错
在图书馆简单翻了一下,泛泛而谈,当GAE入门材料看看还不错
在图书馆简单翻了一下,泛泛而谈,当GAE入门材料看看还不错
读了python的部分,java部分以后再看