Google App Engine编程指南


请输入要查询的词条内容:

Google App Engine编程指南




基本信息


原书名:Programming Google App Engine: Build and Run Scalable Web Apps on Google''s Infrastructure

原出版社: O''Reilly Media

作者:(美)Dan Sanderson

丛书名: 东南大学出版社O''Reilly系列

出版社:东南大学出版社

ISBN:9787564124939

出版日期:2011 年1月

开本:16开

页码:367

版次:1-1

编辑推荐


发现传统web开发和App Engine开发之间的差异

学习App Engine Python和Java运行时环境的细节

理解App Engine如何处理web请求并执行应用代码

学习如何使用App Engine的可扩展数据存储,包括查询和索引、事务以及数据建模

使用任务队列在基础设施中并行化和分布工作

轻松部署和管理应用

内容简介


google app engine是一种与众不同的云计算服务:它为构建自动扩展的百万用户级应用提供了简单的模型。在《google app engine编程》中,你将获得来自专家的实用指南,帮助你用奸这个强大的平台。google工程师dan sanderson将向你展示如何设计可扩展的应用,以及如何使用app engine的api和可扩展服务完成一般的开发任务。

你将学习appengine的应用服务器架构、运行时环境和可扩展的数据存储,还有优化应用的相关技巧。app engine可以提供几乎无限的计算能力,《google app engine编程:英文版》给出了简明扼要的指导,以便最大化利用其资源——信息来自app engine开发团队。

发现传统web开发和app engine开发之间的差异

学习app engine python和java运行时环境的细节

理解app engine如何处理web请求并执行应用代码

学习如何使用app engine的可扩展数据存储,包括查询和索引、事务以及数据建模

使用任务队列在基础设施中并行化和分布工作

轻松部署和管理应用

作译者


Dan Sanderson是一位技术作家、Google公司的软件工程师。他作为Google、Amazon和Walt Disney互联网集团的软件工程师和技术作家在Web行业工作超过十年。

目录


第1章 什么是cocoa 1

1 1 历史简介 1

1 2 开发工具 3

1 3 语言 4

1 4 对象、类、方法和消息 4

1 5 框架 6

1 6 怎样阅读这本书 6

1 7 常见错误 7

1 8 怎样学习 8

第2章 起步 9

2 1 xcode 9

新建一个项目 10

main函数 12

2 2 interface builder 13

library窗口 14

空白窗口 14

布局界面 15

指示窗口 17

创建一个类 17

创建一个对象 19

建立连接 20

2 3 回到xcode 23

objective-c中的类型和常量 23

查看头文件 24

编辑定义文件 25

编译运行 27

awakefromnib 28

2 4 文档 29

2 5 你做了什么 30

第3章 objective-c语言 33

3 1 创建、使用对象 33

3 2 使用已有的类 35

给nil发送消息 40

nsobject、nsarray、nsmutablearray和nsstring 41

继承和组合 45

3 3 建自己的类 46

创建lotteryentry类 46

修改lottery m 49

实现description方法 50

编写initializers(初始化器) 55

带参数的initializer 56

3 4 调试器 58

3 5 补充知识:消息机制工作原理是什么 62

3 6 挑战 63

第4章 内存管理 65

4 1 开关垃圾收集器 66

4 2 使用garbage collection 68

4 3 使用retain 计数 68

实现dealloc 71

创建自动释放对象 72

accessor方法 74

4 4 你完成了什么 77

第5章 target/action 79

5 1 一些常用的nscontrol子类 81

nsbutton 81

nsslider 82

nstextfield 83

5 2 开始speakline例子 85

5 3 nib文件的布局 86

使用interface builder建立连接 87

nswindow的initialfirstresponder outlet 88

5 4 实现appcontroller类 88

5 5 补充知识:通过代码来设置target 90

5 6 挑战 90

5 7 调试建议 92

第6章 helper对象 95

6 1 委托(delegate) 96

6 2 nstableview和它的datasource 99

6 3 布局用户界面 102

6 4 创建连接 103

6 5 修改appcontroller m 105

实现委托时的常见错误 107

对象委托 107

6 6 补充知识:委托是如何工作的 108

6 7 挑战:创建一个委托 109

6 8 挑战:创建一个数据源 110

第7章 key-value coding;key-value observing 111

7 1 key-value coding 111

7 2 绑定 113

7 3 key-value observing 115

7 4 让keys可被观察 116

7 5 properties和它们的attributes 118

@property和@synthesize 118

一个property的attributes 119

7 6 补充知识:key paths 120

7 7 补充知识:key-value observing 121

第8章 nsarraycontroller 123

8 1 开始写raiseman应用 124

在xcode中 125

在interface builder中 128

8 2 key-value coding和nil 132

8 3 添加排序 133

8 4 补充知识:不使用nsarraycontroller排序 134

8 5 挑战一 135

8 6 挑战二 135

第9章 nsundomanager 139

9 1 nsinvocation 139

9 2 nsundomanager如何工作 140

9 3 给raiseman添加撤销 142

9 4 key-value observing 145

9 5 撤销修改 146

9 6 插入操作后立刻开始编辑 149

9 7 补充知识:窗口和撤销管理器 151

第10章 archiving 153

10 1 nscoder和nscoding 154

编码 154

解码 156

10 2 文档架构 157

info plist和nsdocumentcontroller 157

nsdocument 158

nswindowcontroller 161

10 3 保存和nskeyedarchiver 161

10 4 载入和nskeyedunarchiver 162

10 5 为文件类型设置文件扩展名和图标 163

10 6 补充知识:防止死循环 166

10 7 补充知识:创建一个protocol 167

10 8 补充知识:不带撤销的document-based application 167

10 9 统一类型标识符(universal type identifiers) 168

第11章 core data基本原理 171

11 1 nsmanagedobjectmodel 171

11 2 interface 173

创建并配置view 175

连接和绑定 177

11 3 core data是怎么工作的 180

第12章 nib文件和nswindowcontroller 183

12 1 nspanel 183

12 2 给程序添加一个panel 184

设置菜单项 186

appcontroller m 187

preferences nib 188

preferencecontroller m 192

12 3 补充知识:nsbundle 194

12 4 挑战 195

第13章 user default 197

13 1 nsdictionary和nsmutabledictionary 198

nsdictionary 198

nsmutabledictionary 199

13 2 nsuserdefaults 200

不同类型的defaults的优先级 201

13 3 设置程序的标识符 202

13 4 命名defaults中的键 202

13 5 注册defaults 203

13 6 让用户编辑defaults 203

13 7 使用defaults 205

禁止生成untitled documents 205

设置表格视图的背景颜色 206

13 8 补充知识:nsuserdefaultscontroller 207

13 9 补充知识:使用command line来读写defaults 207

13 10 挑战 208

第14章 使用notifications 209

14 1 什么是notification 209

14 2 notifications不是什么 210

14 3 nsnotification和nsnotificationcenter 210

14 4 发送一个notification 212

14 5 注册成为observer 213

14 6 处理接受到的notification 214

14 7 userinfo字典 214

14 8 补充知识:delegates和notifications 215

14 9 挑战 216

第15章 使用alert panels 217

15 1 让用户确认删除 218

15 2 挑战 221

第16章 本地化 223

16 1 nib文件的本地化 224

16 2 字符串表 226

创建字符串表 227

使用字符串表 229

16 3 补充知识:ibtool 230

16 4 补充知识:格式化字符串中符号的顺序 231

第17章 自定义视图 233

17 1 view的层次 233

17 2 让view绘制自己 235

创建一个view 子类的对象 236

大小检查 237

drawrect 238

17 3 使用nsbezierpath绘制 240

17 4 nsscrollview 242

17 5 通过程序创建view 245

17 6 补充知识:单元格 245

17 7 补充知识:isflipped 247

17 8 挑战 248

第18章 image和鼠标事件 249

18 1 nsresponder 249

18 2 nsevent 249

18 3 获取鼠标事件 251

18 4 使用nsopenpanel 251

修改nib文件 252

编辑代码 255

18 5 在view中合成一个图像 256

18 6 view的坐标系统 258

18 7 autoscrolling 261

18 8 补充知识:nsimage 261

18 9 挑战 262

第19章 键盘事件 263

19 1 nsresponder 265

19 2 nsevent 265

19 3 创建一个带有自定义view的项目 266

界面布局 266

建立连接 267

编写代码 270

19 4 补充知识:rollovers 274

19 5 毛边的蓝色框 275

第20章 绘制带属性的文本 277

20 1 nsfont 277

20 2 nsattributedstring 278

20 3 绘制字符串和属性字符串 280

20 4 显示字母 281

20 5 让你的view生成pdf数据 283

20 6 补充知识:nsfontmanager 286

20 7 挑战1 286

20 8 挑战2 286

第21章 粘贴板和nil-targeted actions 287

21 1 粘贴板 288

21 2 给bigletterview添加剪切、复制和粘贴 289

21 3 nil-targeted actions 290

如何搜索响应链 291

查看nib文件 292

21 4 补充知识:哪个对象发送了action消息 293

21 5 补充知识:延迟复制 293

21 6 挑战1 294

21 7 挑战2 294

第22章 categories 295

22 1 给nsstring添加一个方法 295

22 2 补充知识:声明私有方法 297

22 3 补充知识:protocol的非正式写法 297

第23章 拖放 299

23 1 让bigletterview成为一个拖动源 300

23 2 让bigletterview成为拖动目的地 303

registerfordraggedtypes 304

添加高亮 304

实现dragging-destination方法 305

测试 306

23 3 补充知识:operation mask 307

第24章 nstimer 309

24 1 界面布局 311

24 2 创建连接 312

24 3 添加代码到appcontroller 314

24 4 补充知识:nsrunloop 316

24 5 挑战 316

第25章 工作表(sheet) 317

25 1 添加一个工作表 318

添加outlet和action 319

界面布局 319

添加代码 323

25 2 补充知识:contextinfo 324

25 3 补充知识:模式窗口(modal windows) 325

第26章 创建nsformatter 327

26 1 一个基本格式化器 328

新建colorformatter h 329

修改nib文件 329

nscolorlist 331

在字符串里搜索子字符串 332

实现基本格式化器的方法 332

26 2 nscontrol的委托 334

26 3 检查部分字符串 335

26 4 让格式化器返回attributed字符串 337

第27章 打印 339

27 1 处理分页 339

27 2 补充知识:现在是输出到屏幕上么 344

27 3 挑战 344

第28章 web service 345

28 1 amazone 346

28 2 界面布局 347

28 3 写代码 349

28 4 挑战:添加一个webview 353

第29章 视图切换 355

29 1 设计 356

开始 356

创建managedviewcontroller类 357

创建viewcontrollers和它们的nib文件 358

添加视图切换到mydocument 360

29 2 调整窗口大小 362

第30章 core data relationships 365

30 1 编辑模型 365

30 2 创建自定义nsmanagedobject类 366

employee 367

department 368

30 3 界面布局 369

departmentview nib 369

employeeview nib 371

30 4 事件和nextresponder 372

第31章 垃圾收集 375

31 1 非对象的数据类型 376

c的原始类型 376

core foundation 377

31 2 多项式示例 377

31 3 instruments 383

31 4 补充知识:弱引用 385

31 5 挑战:试错 385

第32章 core animation 387

32 1 创建calayer 388

32 2 使用calayer和caanimation 390

移除polynomials 392

同时移动多个层 393

调整层大小并重绘 393

calayer 394

第33章 一个简单的cocoa/opengl应用程序 397

33 1 使用nsopenglview 397

33 2 写程序 398

界面布局 399

写代码 402

第34章 nstask 405

34 1 多线程对多进程 405

34 2 zipspector 406

34 3 异步读取 410

34 4 iping 411

34 5 挑战: tar和 tgz文件 415

第35章 结束 417

35 1 挑战 418

索引 419

译者序


作为个人PC时代开创者的苹果,在过去的33年里,历经大起大落。而最近几年,我们看到那个锐意创新的苹果正踏着梦幻的脚步重新回到舞台的中心,再次站在潮流的顶点。对于用户而言,苹果总是能设计制造出非凡的产品勾起用户的欲望,一次次用完美的细节打动用户的心;对于程序员而言,Darwin的UNIX/BSD血统有着天然的亲和力, 而Objective-C和Cocoa框架,则让程序员认识了苹果一流产品背后的技术实力。正是这些从硬件到系统、从语言到框架的多层次的长期积淀,让苹果能够创造出如iPhone这样的明星产品。

虽然苹果电脑在美国一直有着不错的市场占有率,但因为价格的关系,对于国内的用户而言,它最多只能是多数人眼中的梦中情人而已。而这几年汇率的变化,让苹果产品的性价比变得极为出色,OS X系统的占有率在稳步提升,如果算上iPhone的系统,国内OS X系统的拥有量已经相当可观。因此放在国内来讲,这个平台对程序员而言是一个全新的机会。但目前而言,这个平台上中文参考书确实匮乏,因此才有了这本书的翻译。希望本书的翻译出版能够促进苹果中文开发社区的进一步的发展,帮助更多的程序员了解苹果的开发平台。

本书的作者Aaron Hillegass是Big Nerd Ranch(一家专业的培训机构)的专职培训Cocoa的老师。这样一个有着多年的实际教学经验的作者写出的书,再经过前两版对内容的推敲,此书自然是一本久经考验的入门必备好书。这本书剖析了很多关键内容的来龙去脉,既交代了原因,也分析了解决问题的思路,包括如何获取资料、查看文档,甚至于如何在社区提问等等,真正做到了授之以渔。

本书的第1至5章,第11至20章由陈勇翻译,第28至35章由王健翻译,剩下的由钱友才翻译。

感谢许其峰和苗涛在本书翻译过程中提供的帮助,另外还要感谢博文视点的徐定翔和白爱萍两位编辑的细致和耐心的工作,正是在他们的帮助下,初次接触翻译的我们才能顺利完成任务,最后还要感谢本书原作者Aaron Hillegass伸出的援助之手,让这本书得以尽快面世。

尽管翻译过程中诚惶诚恐,生怕有辞不达意之失,更怕糟蹋了这本经典的Cocoa编程书籍,但囿于经验和能力,书中的问题和疏漏在所难免,还请读者能够给予反馈,我们将维护一份勘误表,并为您在学习本书过程中遇到的问题提供力所能及的帮助。

媒体评论


“Aaron的书是Mac OSX编程图书的标杆——措辞优雅、精雕细琢,是Leopard开发的优秀图书。”

———Scott Stevenson

“从零开始学习Cocoa的首选图书。Aaron是少数(很可能是唯一)全职的专业Cocoa讲师之一,他多年的教学经验都浓缩在本书中。”

——Tim Burks,软件工程师,Nu编程语言创始人

“如果你是UNIX或Windows的程序员,希望为Mac OS X开发一些新应用,或者想将应用移植到Mac上,那么这本书是必备的参考和培训书。” ——Kevin H Spencer,Apple认证技术协调员

相关分词: Google App Engine 编程 指南