社交应用编程PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)勒布兰克著
- 出 版 社:北京:清华大学出版社
- 出版年份:2013
- ISBN:9787302317579
- 页数:471 页
第1章 社交应用容器的核心概念 1
1.1什么是社交应用容器 2
1.1.1用户个人资料页 3
1.1.2用户的亲朋好友 3
1.1.3用户的活动流 4
1.2实现专有标准与开放标准 5
1.2.1专有实现 5
1.2.2开源实现 6
1.2.3本书为什么介绍开放标准 7
1.3嵌入式应用程序:构建一个黑盒 7
1.4嵌入式应用程序的安全性 9
1.4.1跨站点脚本攻击 9
1.4.2同源策略与较早的浏览器 10
1.4.3偷渡式下载 10
1.4.4保护应用程序 10
1.5外部应用程序:集成容器之外的社交数据 11
1.6应用程序视图 12
1.6.1主视图(小视图) 12
1.6.2个人资料页视图(小视图) 13
1.6.3画布视图(大视图) 14
1.6.4默认视图(任意视图) 15
1.7应用程序许可概念 16
1.8客户端与服务器端应用程序 17
1.8.1为标记层使用模板系统 17
1.8.2使用混合式服务器与客户端环境 18
1.8.3延缓非关键内容的载入 18
1.9 阻碍应用程序成功的因素 19
1.9.1可移植的Flash应用 19
1.9.2不成熟视图 20
1.9.3 Copycat视图应用 21
1.9.4共享过度的应用 22
1.9.5不赢利的应用 22
1.9.6信息源应用 23
1.10应用程序模型案例研究 24
1.10.1案例研究:基于交友关系的社交游戏 24
1.10.2案例研究:产品销售应用 28
1.10.3案例研究:基于位置的应用程序 30
1.11快速提示 34
1.11.1了解受众 34
1.11.2尽早构建社交整合点 34
1.11.3开发时要记得赢利这件事 34
1.11.4生成多种互为补充的视图 35
第2章 将用户关系与社交图谱相对应 37
2.1网上社交图谱 37
2.2在网络中应用现实生活中的社交图谱 39
2.2.1自动划分用户群集 39
2.2.2隐私与安全性 40
2.2.3建立信任 40
2.3共享隐私用户数据:选择参与和选择退出 41
2.3.1选择参与共享模型 41
2.3.2选择退出共享模型 42
2.4理解关系模型 42
2.4.1关注者模型 42
2.4.2联系人模型 43
2.4.3群模型 45
2.5关系与实体 47
2.6构建社交相关性:探索Facebook社交图谱 48
2.6.1以真实身份为基础 49
2.6.2理解传播渠道 50
2.6.3构建用户群 50
2.6.4避免生成不相关的社交图谱 50
2.7通过OpenLink协议定义实体的好恶 51
2.7.1集成OpenLike小组件 52
2.7.2如何显示共享的“赞”的内容 52
2.8小结 53
第3章 构建社交应用平台的基础 55
3.1学习内容 55
3.2 Apache Shindig 55
3.3安装Shindig 56
3.3.1在Mac OS X (Leopard)上安装Shindig 57
3.3.2在Windows上安装Shindig 60
3.3.3 测1试Shindig安装实例 63
3.4 Partuza 64
3.4.1要求 64
3.4.2在Mac OS X (Leopard)上安装Partuza 65
3.4.3在Windows上安装Partuza 67
3.4.4测试安装的Partuza 72
3.5 OpenSocial小工具XML规范 72
3.6用ModulePrefs配置应用程序 73
3.6.1 Require/Optional 74
3.6.2 Preload 74
3.6.3 Icon 75
3.6.4 Locale 75
3.6.5 Link 76
3.7定义用户首选项 78
Enum数据类型 78
3.8应用程序内容 79
3.8.1定义内容视图 79
3.8.2内置内容与代理内容 86
3.9融会贯通 87
第4章 以OpenSocial JavaScript引用定义功能 91
4.1学习内容 91
4.2包含OpenSocial功能JavaScript库 92
4.3动态设置小工具视图的高度 92
4.4在小工具中插入Flash电影 94
4.5向用户显示消息 95
4.5.1生成消息 96
4.5.2设定消息窗口的位置 98
4.5.3设定消息和窗口的类型 100
4.6以用户首选项保存状态 103
4.7以编程方式设置小工具标题 104
4.8集成选项卡式的小工具用户界面 105
4.8.1基本小工具 106
4.8.2根据标记创建选项卡 107
4.8.3利用JavaScript创建选项卡 108
4.8.4获取与设置TabSet的信息 109
4.9向Shindig添加自己的JavaScript库 112
4.10融会贯通 115
4.10.1生成小工具XML文件 116
4.10.2使用Shindig显示小工具 119
第5章 迁移应用程序、个人资料和朋友关系 121
5.1学习内容 121
5.2评估OpenSocial容器的支持 122
5.3 OpenSocial规范的核心组件 123
5.3.1核心API服务器规范 124
5.3.2核心小工具容器规范 124
5.3.3社交API服务器规范 125
5.3.4社交小工具容器规范 125
5.3.5 OpenSocial容器规范 126
5.4跨容器开发与迁移 126
5.4.1使用混合式客户端-服务器环境 127
5.4.2将社交功能与主体应用程序代码拆开 127
5.4.3避免使用容器特有的标签 127
5.5从Facebook向OpenSocial迁移应用程序 128
5.5.1为非社交应用构造采用iframe 128
5.5.2抽象Facebook功能逻辑 128
5.5.3将可视标记与编程逻辑区分开来 129
5.5.4使用REST端点,而不是FQL 129
5.5.5在服务器端实现大部分代码 129
5.6用个人资料数据实现应用程序的个性化 129
5.6.1 Person对象 130
5.6.2 Person数据抽取方法 130
5.6.3 Person对象中的可用字段 135
5.6.4扩展Person对象 156
5.6.5收集用户个人资料 162
5.7利用朋友关系增加受众数 164
请求收集用户朋友关系 165
5.8融会贯通 165
5.8.1小工具规范 166
5.8.2 Content标记 166
5.8.3 JavaScript 168
5.8.4运行小工具 169
第6章 OpenSocial活动、共享和数据请求 171
6.1学习内容 171
6.2用OpenSocial活动来推广应用程序 172
6.2.1利用活动更新实现应用程序体验的个性化 173
6.2.2通过活动更新增加应用程序的用户数 174
6.3直接共享与被动共享 177
6.3.1直接共享 177
6.3.2被动共享 179
6.3.3平衡共享 180
6.4发出AJAX和外部数据请求 181
6.4.1发出标准数据请求 182
6.4.2用数据请求推送内容 183
6.4.3使用签名请求保护数据连接的安全 184
6.5融会贯通 192
第7章 高级OpenSocial和未来OpenSocial 197
7.1学习内容 197
7.2数据管道 198
7.2.1数据请求类型 200
7.2.2使数据可供代理数据请求使用 205
7.2.3在客户端处理管道化数据 206
7.2.4处理由数据管道生成的错误 209
7.2.5动态参数 209
7.3 OpenSocial模板化 211
7.3.1获得标记与数据的不同方法 213
7.3.2呈现模板 215
7.3.3表达式 218
7.3.4特殊变量 219
7.3.5条件 221
7.3.6循环内容 224
7.3.7将数据管道与模板相结合 228
7.3.8其他特殊标签 230
7.3.9模板库 232
7.3.10 JavaScript API 236
7.4更多标记:OpenSocial标记语言 241
7.4.1显示人名:os:Name 241
7.4.2创建人员选择器:os:PeopleSelector 242
7.4.3显示人员徽章:os:Badge 242
7.4.4载入外部HTML:os:Get 242
7.5用消息包支持本地化 243
7.6 OpenSocial REST API库 245
可用库 246
7.7未来OpenSocial:探索领域 246
7.7.1企业容器 247
7.7.2移动转换 247
7.7.3分布式Web框架 247
7.8 OpenSocial和分布式Web框架 248
7.8.1活动流 248
7.8.2 PubSubHubbub 248
7.8.3 Salmon协议 249
7.8.4开放图谱协议 250
7.9融会贯通 251
第8章 社交应用安全概念 257
8.1学习内容 257
8.2通过iframe托管第三方代码 258
8.3安全方法:Caja项目 258
8.4为什么使用Caja 258
8.5攻击向量 : Caja如何提供保护 259
8.5.1未经用户同意对其进行重定向 259
8.5.2挖掘用户的浏览历史 260
8.5.3用document.create Element执行任意代码 261
8.5.4记录用户的击键操作 261
8.6安装Caja 263
8.7从命令行清理脚本 265
8.7.1清理HTML和JavaScript 265
8.7.2修改清理器呈现格式 270
8.8从Web应用程序运行Caja 270
8.9用OpenSocial小工具运行Caja 272
8.9.1向小工具添加Caja 273
8.9.2实例 273
8.10使用JSLint尽早发现JavaScript问题 275
8.11使用Caja Playground 276
8.12 Caja环境中的使用技巧 276
8.12.1实现代码模块化:不要清理整个项目 277
8.12.2使用预清理的JavaScript库 277
8.12.3不要依靠Firebug或经过清理的JavaScript源代码 278
8.12.4不要在标记中嵌入事件 279
8.12.5集中JavaScript:仅请求数据和标记 280
8.13 Caja的轻量替代方法:ADsafe 281
8.14 ADsafe与Caja的对比:应当使用哪种方法 282
8.15如何实现ADsafe 283
8.15.1设置ADsafe对象 283
8.15.2 DOM对象 284
8.15.3用查询方法选择DOM 286
8.15.4使用群束对象 290
8.15.5附加事件 296
8.15.6定义库 298
8.16融会贯通 299
8.16.1数据源 300
8.16.2标头:脚本和样式 300
8.16.3主体:标记层 301
8.16.4主体:JavaScript层 302
8.16.5最终结果 303
8.17小结 304
第9章 用OAuth保护社交图谱访问的安全 305
9.1超越基本验证 305
9.1.1基本验证实现:工作方式 306
9.1.2反对使用基本验证的理由 307
9.2 OAuth 1.0a标准 308
9.2.1 OA uth 1.0a工作流程 309
9.2.2最终用户体验 316
9.2.3两方OAuth与三方OAuth的对比 318
9.2.4三方OAuth实现示例 322
9.2.5调试签名问题的工具与技巧 337
9.3 OAuth 2 340
9.31OAuth 2 工作流程 340
9.3.2实现示例:Facebook 348
9.3.3实现示例:在Facebook OAuth进程中请求更多的用户信息 358
9.3.4 实现示例:最终用户体验 360
9.3.5调试请求问题的技巧 361
9.4小结 365
第10章 社交的未来:通过分布式Web框架定义社交实体 367
10.1学习内容 367
10.2开放图谱协议:将Web页定义为社交实体 368
10.2.1元数据的兴起与衰落 368
10.2.2开放图谱协议如何工作 369
10.2.3实现开放图谱协议 370
10.2.4实例:Facebook开放图谱 375
10.2.5实例:从Web源收集开放图谱数据 378
10.2.6开放图谱协议的缺点 384
10.3活动流:社交活动的标准化 385
10.3.1为什么需要定义一个活动标准 385
10.3.2实施“活动流” 386
10.3.3对象类型 390
10.3.4动词 391
10.4 WebFinger:通过电子信箱地址扩展社交图谱 393
10.4.1从finger到WebFinger:WebFinger的起源 393
10.4.2实现WebFinger 394
10.4.3 WebFinger协议的缺点 396
10.5 OExchange:构建社交共享图谱 397
10.5.1 OExchange如何工作 397
10.5.2 OExchange的用途 398
10.5.3实现 OExchange 399
10.6 PubSubHubbub:内容整合 404
10.6.1 PubSubHubbub如何工作 404
10.6.2好处:从发布者到订阅者 407
10.6.3托管Hub和实现服务 408
10.6.4工作流程库 409
10.6.5用PHP构建发布者 410
10.6.6用Python构建发布者 412
10.6.7用PHP构建订阅者 414
10.6.8用Python构建订阅者 417
10.7 Salmon协议:会话实体的统一 419
10.7.1 Salmon协议工作流程 419
10.7.2建立在PubSubHubbub的基础之上 421
10.7.3防止滥用与垃圾信息 422
10.7.4实现概述 422
10.8小结 424
第11章 用OpenID扩展社交图谱 425
11.1 OpenID标准 425
11.1.1分散是关键 425
11.1.2相对于传统登录的改进 426
11.1.3访问现有成员身份数据库和社交图谱 426
11.2我是否已经拥有OpenID,如何注册一个 426
11.3 OpenID验证流程 427
11.4 OpenID提供商 432
11.5绕过OpenID中的域发现错误 433
11.6 OpenID扩展 434
11.6.1“简单注册”扩展 435
11.6.2“属性交换”扩展 436
11.6.3提供商验证策略扩展 441
11.6.4当前正在开发的扩展 445
11.7 OpenID实例 446
11.7.1使用PHP实现OpenID 447
11.7.2使用Python实现OpenID 458
11.8常见错误与调试技巧 469
11.8.1回调URL失配 469
11.8.2无法发现的OpenID标识符 470
11.9小结 471
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《自信社交 告别社交焦虑》迎刃著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《极简社交》王励新著 2020
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019