登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』RESTful Rails Development(中文版)

書城自編碼: 2968390
分類: 簡體書→大陸圖書→工業技術一般工业技术
作者: [美]Silvia Puglisi[西尔维娅·普里兹]
國際書號(ISBN): 9787519800581
出版社: 中国电力出版社
出版日期: 2017-02-01
版次: 1 印次: 1
頁數/字數: 264/309000
書度/開本: 16开 釘裝: 平装

售價:NT$ 387

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
海外中国研究·卿本著者:明清女性的性别身份、能动主体和文学书写
《 海外中国研究·卿本著者:明清女性的性别身份、能动主体和文学书写 》

售價:NT$ 381.0
日耳曼通识译丛:近代哲学:从笛卡尔到康德
《 日耳曼通识译丛:近代哲学:从笛卡尔到康德 》

售價:NT$ 150.0
我的灵魂是日落时分空无一人的旋转木马:聂鲁达诗精选
《 我的灵魂是日落时分空无一人的旋转木马:聂鲁达诗精选 》

售價:NT$ 381.0
春日喜你
《 春日喜你 》

售價:NT$ 257.0
我们八月见
《 我们八月见 》

售價:NT$ 215.0
东线炼狱 : 德国反坦克兵的东线日记 : 1941—1942
《 东线炼狱 : 德国反坦克兵的东线日记 : 1941—1942 》

售價:NT$ 439.0
献给皇帝的礼物:Wedgwood瓷器王国与漫长的十八世纪
《 献给皇帝的礼物:Wedgwood瓷器王国与漫长的十八世纪 》

售價:NT$ 594.0
东京札记
《 东京札记 》

售價:NT$ 704.0

建議一齊購買:

+

NT$ 929
《 Ruby on Rails 教程 第4版 》
+

NT$ 569
《 Ruby基础教程 第5版 》
+

NT$ 374
《 Web API的设计与开发 》
+

NT$ 467
《 优雅的Ruby 》
+

NT$ 591
《 Ruby原理剖析 》
+

NT$ 293
《 轻量级Django 》
編輯推薦:
本书教你使用 Rails 设计和开发表述性状态转移(REST)平台,先介绍 Ruby on Rails,然后快速概览新概念。
內容簡介:
本书教你使用 Rails 设计和开发表述性状态转移(REST)平台,先介绍 Ruby on Rails,然后快速概览新概念。读完各章之后,你将学到很多新知识,知道如何构建和有组织地扩展横跨多台设备的多重服务,你会乐在其中。读完本书后,你将知道如何构建由不同服务组成的架构,通过协作的 API 和应用共享资源。本书主要内容有:学习 REST 和 HTTP 基础知识,包括 REST 架构和超媒体的作用。了解 Ruby 和 Ruby on Rails。学习创建和开发 API。深入了解 REST,包括异步 REST和 REST 式服务的测试方法。把数据流映射到应用 UI 上,把外部 API 集成到自己的应用中。学习与设备无关的开发。使用数据分析找出重要的事件,分析并跟踪关键指标。探索自己构建数据分析平台所需的工具。学习如何正确地弹性伸缩 Rails 应用。分析隐私和安全问题,以及处理和收集用户数据的影响。
關於作者:
Silvia Puglisi 是一名软件工程师,生活在西班牙巴塞罗那。她还是加泰罗尼亚理工大学(UPC)遥测工程系信息安全小组的科研工程师,目前在攻读博士。Silvia 之前在 Google 公司工作,任职运营工程师和企业工程师。
目錄
前言........................................................................................................................1
第1章从超文本到超数据.................................................................................11
REST和HTTP.........................................................................................................11
REST式编程和超媒体..........................................................................................14
小结.......................................................................................................................23
第2章Ruby on Rails入门..................................................................................24
Ruby on Rails简介................................................................................................24
搭建Ruby on Rails环境......................................................................................25
Rails应用的架构...................................................................................................29
小结........................................................................................................................40
第3章初尝API设计.............................................................................................41
应用程序编程接口................................................................................................41
API开发准则........................................................................................................43
为什么应该使用Rails构建API..........................................................................47
WikiCat API..............................................................................................................49
小结........................................................................................................................61
第4章REST之外的世界...................................................................................62
离不开的CRUD......................................................................................................62
REST式Rails.........................................................................................................63
HTTP语义............................................................................................................66
小结.......................................................................................................................70
第5章使用Rails设计API...............................................................................71
超媒体和自适应的API.........................................................................................71
REST模式.............................................................................................................74
HATEOAS.................................................................................................................76
WikiCat超媒体API..............................................................................................76
小结.......................................................................................................................81
第6章异步REST.................................................................................................82
异步REST式操作................................................................................................82
在Rails中处理异步REST请求........................................................................84
回调.......................................................................................................................94
WebSockets............................................................................................................94
小结.......................................................................................................................94
第7章测试REST式服务..................................................................................95
测试Rails应用......................................................................................................95
驭件、桩件、替身和傀儡.....................................................................................97
测试REST式服务.................................................................................................98
小结.......................................................................................................................99
第8章微服务和微应用.......................................................................................100
SOA和分布式系统设计基础...............................................................................100
微服务范式............................................................................................................103
演进式方式............................................................................................................104
以微应用和微服务的思维方式思考....................................................................104
主题徒步API..........................................................................................................106
小结.......................................................................................................................129
第9章把数据流映射到应用UI上....................................................................130
畅游前端世界......................................................................................................130
Rails的模板和渲染机制.......................................................................................131
Ember.js:创建雄心勃勃的Web应用的框架..................................................133
准备开发应用......................................................................................................138
数据建模.............................................................................................................140
在Ember.js中处理路由.....................................................................................142
定义模板.............................................................................................................143
编写一个组件......................................................................................................145
按分类浏览路线..................................................................................................147
小结.....................................................................................................................147
第10章部署API..............................................................................................148
如何部署API.......................................................................................................148
在OpenShift中部署Wikipin API.......................................................................151
介绍Jenkins........................................................................................................153
小结.....................................................................................................................156
第11章管理应用的生态系统..........................................................................157
API管理..............................................................................................................157
管理社区的满意度...............................................................................................160
数据管理和分析..................................................................................................163
小结.....................................................................................................................163
第12章使用数据流:在自己的应用中集成外部API......................................164
创建天气预报服务...............................................................................................164
视天气情况行动..................................................................................................165
遵守服务条款......................................................................................................170
异步REST...........................................................................................................171
小结.....................................................................................................................174
第13章开发与设备无关的应用......................................................................175
Web开发是个宽泛的话题...................................................................................175
在Firefox OS应用中使用数据流........................................................................177
开发一个物联网应用...........................................................................................179
小结.....................................................................................................................187
第14章数据分析.................................................................................................188
数据来自四面八方...............................................................................................188
单块应用架构和微应用架构................................................................................189
监控、优化和完善...............................................................................................191
操作和事件..........................................................................................................201
小结.....................................................................................................................206
第15章优雅地弹性伸缩...................................................................................207
弹性伸缩Rails......................................................................................................207
创建一个中间件,让不同的API通信................................................................209
配置Nginx反向代理..........................................................................................210
介绍Lua..............................................................................................................215
负载均衡.............................................................................................................216
缓存.....................................................................................................................218
弹性伸缩没有那么困难和痛苦............................................................................221
小结.....................................................................................................................222
第16章隐私和安全..........................................................................................223
如何保护用户隐私...............................................................................................223
我的数据安全吗?...............................................................................................226
Rails安全吗?.....................................................................................................229
小结.....................................................................................................................236
附录A HTTP快速参考........................................................................................237
內容試閱
本书主要说明如何使用 Rails 设计和开发表述性状态转移(Representational State Transfer,REST)平台。REST 是 Web 的架构风格,由一系列应用于组件、连接器和数据元素的约束组成,用于构建如今更广泛的分布式超媒体系统万维网。构建平台比只构建产品或应用更合理,其原因有很多。平台好比生态系统,连通着不同的应用、服务、用户、开发者和合作伙伴。平台得益于直接合作者的输入,有助于创新。平台能提供应用程序编程接口(Application Programming Interface,API)和软件开发工具包(Software Development Kit,SDK),让客户更充分地利用平台。不构建应用而构建平台还有一个原因:Web 正在逐渐变化,它现在的使用方式是人类读者在网页中浏览内容,不过最终肯定会变成服务与客户端(不一定是人类)之间交换数据。2001 年 Tim Berners Lee 在《科学美国人》杂志中发表了一篇文章,题为The Semantic Web (语义网),他预言了这种趋势,不过这只是预言的一部分。Web 正在变得更加语义化。过去,软件代理不能理解HTML 文档,虽然可以部分解析,但是无法判断文档是博客文章还是其他类型,例如伦敦的公交时刻表。以前,我们把 Web 看做相互链接的超文本文档,而如今,Web 文档更像是相互链接的数据对象,或称超数据(hyperdata)。Web 应用可以通过人类可读的形式显示超数据,也可以解析超数据,把信息提供给其他服务或应用使用。简单来说,语义网是超文本的正常进化方向。既然要通过 API 处理超数据对象,就得实现不同的通信协议,让各种技术都能访问超数据对象。为了在各种各样的系统之间交换信息,API 要提供一种与语言无关的消息格式,例如 XML 或 JSON,用作所交换消息的容器。细想可知,超媒体API的目的是让任何设备和应用都能访问和使用。因此,这种 API 的架构方式与 Web 类似,伺服和使用 API 的方式也与浏览网页类似。在众多 Web 开发框架中选择 Rails 也是有原因的。首先,Rails 是使用 Ruby 编程语言开发的。Ruby 易于使用,对 Web 开发者来说,尤其容易。Ruby 完全面向对象,而且是开源的,社区充满生机,开发了大量形形色色的有趣项目和语言库,把开发变得更简单。Ruby on Rails 是个务实的框架,干净利落地实现了模型-视图-控制器(MVC)模式,易于对实际的场景建模。使用 Rails 能轻易创建应用的骨架,无需重复编写代码,提升了功能的开发速度。Rails 还遵守敏捷开发方法,提倡灵活性、演进式开发和迭代交付。本书的目的是鼓励开发者们放弃产品,转而有组织地设计平台,而且要立即这样做,并且希望未来Web 中增加的新服务能更易于发现、更易于集成,从而促进开放信息交换,增进组织间的合作关系。读完每章之后,读者都将学到一些新知识,知道如何构建和有组织地扩展横跨多台设备的多重服务。希望读完本书后你能更好地理解如何构建由不同服务组成的架构,通过协作的 API 和应用共享资源。为什么使用 Rails 而不用 Node.js 过去几年,有很多文章对 Rails 和 Node.js 做了对比。虽然二者都能用于构建 Web 应用,但是 Node.js 和 Rails 之间有一些本质的区别。首先,Rails 这个 Web 框架有自己的一套见解,而 Node.js 则基于 Chrome 的 JavaScript 运行时构建网络应用(无法独抒己见)。简而言之,Node.js 是服务器端 JavaScript 实现的。Rails 采用 MVC 架构,交互干净利落,行之有效。在 Node.js 中,必须使用插件和辅助措施才能实现 Rails 开箱即用的那种集成层次。此外,在 Node.js 中虽然前后端都使用JavaScript 编程,但是开发产品的速度不一定很快。使用 Node.js 开发原型的速度可能很快,可是你必须认真评判 Node.js 能否完美地伸缩产品。记住,使用 Rails 开发一个完整应用的速度与使用 Node.js 开发的速度一样快,有时甚至更快。读到后文你会发现,使用 Rails 构建REST API 是多么迅速、多么简单。目前,Rails 社区相当成熟,而且充满活力。Rails 社区依旧不断探索新鲜事物,创建着激动人心的项目,编写着各种各样的模块。使用Rails 还能学习 Ruby。Ruby 开发者社区生气勃勃,很多新产品都是使用 Ruby 编写的,例如 Logstash(https:www.elastic. coproductslogstash )、Chef(https:www.chef.iochef )、Puppet(https:puppetlabs. com)、Homebrew(http:brew.sh )等。而且,Ruby 程序员的需求量仍在稳步增长。总之,Node.js 是个有趣的技术,可以正式使用,也可以学来玩玩,用于创建原型;而 Rails 更成熟,更适合用于开发长期稳定的项目。本书内容这本书不必从头读到尾,当然,如果你愿意,也可以这么做。每一章都是独立的,说明REST 架构和 Rails 开发的一个方面。第 1 章从超文本到超数据这一章介绍访问和使用 Web 的方式正在发生的变化,以前网络上都是人类可读的超文本文档,而如今已经变成 Web 应用,既可以显示信息供人类读者阅读,也可以提供端点,供软件代理消费数据。第 2 章 Ruby on Rails 入门这一章介绍 Ruby on Rails 。首先说明如何搭建开发环境,然后介绍一些 RVM 和rbenv 的基础知识,并且概述 Rails 应用架构的一些基本概念,随后,开发第一个应用。这是一个简单的Hello Rails应用,严格来说算不上应用,其实只是个 API。第 3 章初尝 API 设计这一章使用维基百科的分类和分类链接数据库转储创建一个简单的 API,带你一览API 设计的注意事项。最终开发出来的 API 有两个端点。对给定的关键字,这个API 会返回 JSON 格式的维基百科分类信息或分类图。第 4 章 REST 之外的世界这一章涵盖 REST 和 CURD(创建、读取、更新、删除)设计,介绍架构约束、资源和表述,以及 HTTP 的语义。我们会扩展前一章开发的分类 API,说明这些概念。这一章还会说明 Rails 如何处理 REST 逻辑,因为它内置对 CRUD 的支持。第 5 章使用 Rails 设计 API 这一章扩展之前所介绍的 REST 架构知识,探讨超媒体范式。我们会使用前面开发的分类 API 做些实际的演练。我们以第 3 章和第 4 章中的 API 为基础,说明使用 Rails 开发 API 的架构和设计。我们将使用分类链接扩展API,把它变得可探索。第 6 章异步 REST 这一章探讨 REST 架构中与异步操作有关的方面。异步操作经常用于执行需要一定时间才能完成的操作。我们将介绍一些异步操作的最佳实践。第 7 章测试 REST 式服务这一章讨论测试,重点说明如何测试使用 Rails 开发的 REST 式服务。替身是什么?桩件是什么,驭件又是什么?这一章将为你一一解答。这一章还会教你集成测试和测试的最佳实践。第 8 章微服务和微应用这一章主要讨论服务导向式架构(Service-Oriented Architecture,SOA )和分布式系统设计的基础知识,并展望细粒度的协作式微服务和微应用的美好未来。我们将举一个例子,说明如何让一系列应用和 API 访问共享的资源。在那个示例中,有一个 API 用于返回城市中值得一去的地点,然后映射到本书开发的第一个 API 所返回的分类上,最后综合利用这些数据获取城市中值得一走的徒步路线。第 9 章把数据流映射到应用 UI 上这一章使用 Ruby on Rails 和 Ember.js 开发一个应用,消费前面几章开发的API。这一章专门讲解如何把不同的数据源映射到一个应用 UI 上。Walks 应用中的资源将被映射到用户界面上。第 10 章部署 API 这一章主要讨论部署,以及构建中间件,供外部消费者连接我们的API。这一章能回答你对如何部署 API 的疑问,还将介绍反向代理等概念。我们将在 Heroku 中配置一个反向代理,使用它把第 5 章开发的 API 和利用那些 API 的应用连接起来。第 11 章管理应用的生态系统这一章介绍 API 管理方案,帮你在自己开发和依赖外部服务之间做出抉择。这一章还将介绍密钥配置、角色管理、流量监控,以及 API 和应用的生命周期等概念。第 12 章使用数据流:在自己的应用中集成外部 API 这一章解说如何把外部服务和 API 集成到自己的应用中。我们将使用开放数据,或者直接使用维基百科、YouTube 或 Twitter 的 API 获取数据,这样就能在分布式平台中导入可用的资源,而不必重复调用。第 13 章开发与设备无关的应用这一章扩展之前的示例,让它们支持不同的设备,包括移动平台和物联网。如何让Web 应用支持移动手机、Arduino 或树莓派,然后有序地集成生成的数据呢?我们将构建一个简单的天气应用,让它访问、消费和生成数据。第 14 章数据分析这一章主要讨论对数据流的控制和分析。我们将使用哪些工具开发或集成,以便管控平台中的数据流呢?第 15 章优雅地弹性伸缩这一章说明如何优雅地弹性伸缩,主要的关注点是弹性伸缩。这一章特别能引起Rails 开发者的兴趣,因为 Rails 的伸缩性是个大问题。第 16 章隐私和安全这一章专门讨论安全和隐私。我们应该如何防护自己的平台,怎么确认用户的数据是安全的呢?本书不涉及的内容(以及到何处寻找答案)这不是一本专门讲解 Ruby 的书,也不是讲解 Rails 的书。本书虽然涉及 Rails 开发,但是如果你想学习 Ruby 编程语言或 Rails 框架的核心概念,应该阅读其他专门讲解 Ruby on Rails 或 Ruby 的书。这不是一本讲解 JavaScript 或 Ember.js 等框架的书,不过我们会使用一些 JavaScript,还会搭建 Ember 环境。这不是一本专门讲解 Nginx、Redis 或 Lua 的书,不过,讨论API 管理、弹性伸缩和分析相关的问题时,我们可能会使用或提到这些技术。这也不是一本讲解隐私或安全的书,不过有一整章会介绍这两个话题(一定要记住,数据多了,责任也大了)。在最后一章,我会提供更多的权威资源,以便你学习这些科目。如果所涉话题超出了本书范畴,我会在这样的注释框中提供额外的资源。资源本书使用的全部代码可以到 GitHub 中下载,这些代码基于 GPLv3 许可证发布。书中很多地方都提供了所涉话题的权威资源:每一章末尾都有一些链接,供你钻研各章讨论的技术。代码风格Ruby 和 Ruby on Rails 没有多少代码风格,而其他语言可能有很多,有时可能太多了,每个人都遵守自己的风格。在本书中,我会采用一些简单的约定,借此希望让代码更易于阅读,并且不解自明。这些约定是:. 源码文件使用 UTF-8 编码。. 每一级缩进使用两个空格(即软制表符),而不使用硬制表符。. 使用 UNIX 风格的行尾结束符号。. 一行写一个表达式。. 没有定义体的类在一行里定义。. 不在一行里定义方法。. 运算符两侧加空格;逗号、冒号和分号后面,{ 两侧和} 前面加空格。. unless 语句绝不使用else 子句。. 保持控制器短小。. 逻辑放在模型中。此外,我要强调一个基本事实:这不是一本教你编写代码的书。虽然本书的重点是开发,但是代码只用作解说概念和设计选型。我还确信大多数读者能找到更好的方式编写书中所列的代码示例。因此,我强烈建议你派生代码仓库,从中获得创建新应用和产品的创意。RuboCop RuboCop 是一个 Ruby 静态代码分析程序,默认实施社区成员制定的 Ruby 风格指南(https:github.combbatsovruby-style-guide)。如果想进一步了解 RuboCop,就请访问该项目在 GitHub 中的仓库(https:github. combbatsovrubocop)。排版约定本书使用下述排版约定。斜体(Italic)表示新术语、URL、电子邮件地址、文件名、文件扩展名、关键字和变量名。等宽字体(constant.width)表示代码示例,程序片段和函数语句。尖括号中的斜体等宽字体()表示需要使用用户的输入值代替的文本,或者由上下文决定的值。加粗等宽字体(Bold)表示命令或者其他应该由用户输入的内容。这个图标表示提示或建议。这个图标表示一般说明。这个图标表示警告或提醒。使用代码示例网上有本书的补充资料(代码示例、练习等),地址是http:hiromipaw.github.io RESTful-Rails-Development。本书的目的是帮助你完成工作。一般来说,你可以在自己的程序或者文档中使用本书附带的示例代码。除非复制大量代码,否则无需联系我们获得使用许可。例如,使用本书中的多个代码片段编写程序,无需获得许可。但以 CD-ROM 的形式贩售或者分发O''Reilly 书中的示例代码需要获得许可。回答问题时援引本书内容,以及引用本书示例代码,无需获得许可。在你自己的项目文档中使用本书大量示例代码时,需要获得许可。我们不强制要求署名,但如果你这么做,则我们深表感激。署名一般包括书名、作者、出版社和国际标准图书编号。例如:RESTful Rails Development by Silvia Puglisi OReilly. Copyright 2016 Silvia Puglisi, 978-1-491-91085-6。如果觉得你的情况不在合理使用或上述允许的范围内,则请通过邮件和我们联系,地址是 permissions@oreilly.com 。书中所有的代码和简单的应用基于 GNU General Public License 第3 版许可证发布。GPLv3 是软件和其他作品类型的许可证,免费且无版权。GPLv3 许可证的目的是确保程序的所有版本可以自由分享和修改,而且依然免费提供给所有用户。我建议你访问 http:www.gnu.orgcopyleftgpl.html ,阅读这个许可证文档。我还建议本书的每一位读者派生书中提供的代码示例,然后重写,用于创建出色的新项目。Rails 基于 MIT 许可证(http:opensource.orglicensesmit-license.php )发布,Ruby 基于Ruby 许可证( http:www.ruby-lang.orgenaboutlicense.txt )发布。联系方式请把您对本书的意见和疑问发送给出版社。美国:OReilly Media,Inc. 1005 Gravenstein Highway North Sebastopol,CA 95472 中国:北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)奥莱利技术咨询(北京)有限公司如果您对本书有建议或技术上的疑问,请发送电子邮件至bookquestions@oreilly.com 。要了解更多 O''Reilly 图书、培训课程、会议和新闻的信息,请访问我们的网站:http: www.oreilly.com 。我们在 Facebook 的地址:http:facebook.comoreilly 请关注我们的 Twitter 动态:http:twitter.comoreillymedia 我们的 YouTube 视频地址:http:www.youtube.comoreillymedia 我们的网站中有个网页列出了本书的勘误,地址是http:shop.oreilly.com product0636920034469.do 。此外,GitHub 中有个网页给出了书中所有代码示例和应用的下载链接,地址是http: hiromipaw.github.ioRESTful-Rails-Development 。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.