Pails高级编程

分类: 图书,计算机/网络,程序设计,其他,
作者: (美)艾丁格(Ediger,B)著;FreeWheel UI Team译
出 版 社: 机械工业出版社
出版时间: 2009-1-1字数:版次: 1页数: 332印刷时间: 2009/01/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111246015包装: 平装内容简介
准备好进入Rails的高级应用了吗?Ruby让Rails框架成为可能。从审查Ruby到部署大规模Rails应用,本书所探讨的话题帮助Rails程序员脱颖而出。通过本书你将自底向上深入地了解处理数据库、安全、性能、Web服务以及其他方面的技术。
本书风格清新而结构紧密,不仅帮你理解使用Rails本身的技巧,还教你如何灵活运用从其他编程范式借鉴来的想法。本书特别注重构建具有伸缩性的应用——具有“伸缩性”意味着能够处理更多的用户或者与更大更复杂的数据库交互。
本书使用大量的范例和代码示例来解释如下内容:
元编程。
何时为通用、可重用的功能使用Active Support库。
如何安装、编写和测试Rails插件。
各种数据库管理系统。
高级数据库特性,包括触发器、规则和存储过程。
如何连接多个数据库和LDAP。
web应用设计的安全规范和Web特有的安全问题。
性能优化。
RESTful架构。
为何版本控制和错误跟踪系统是大型或长存的Rails项目的关键。
本书也探索了如何扩展Rails、在其他Ruby代码中使用单独的Rails组件、应用国际化等话题。而且,每个章节都包括扩展阅读的资源。如果你准备提高自己的高级Rails技能,本书就是你想要的。
作者简介
Brad Ediger是Tasman Labs(一家不动产技术公司)的CTO。他和他的妻子Kristen创建了Madriska Media Group(一家专注于客户应用开发的公司)。在不编程的时候,Brad喜欢玩各种乐器和看朦胧电影。
目录
前言
第1章基础技术
什么是元编程
Ruby基础
元编程技术
函数式编程
示例
扩展阅读
第2章ActiVeSupport和RailTies
你可能漏掉的Ruby内容
教你读代码
ActiveSupport
Core Extensions
RailTies
扩展阅读
第3章Rails插件
关于插件
写插件
插件实例
测试插件
扩展阅读
第4章数据库.
数据库管理系统
大型/二进制对象
数据库高级特性
连接多个数据库
缓存
负载均衡和高可用性
LDAP
扩展阅读
第5章安全
应用程序问题
Web问题
SQL注入
Ruby环境
扩展阅读
第6章性能
度量工具
Rails优化示例
ActiveRecord性能
构架可伸缩性
其他系统
扩展阅读
第7章REST、资源和Web服务
REST是什么
RESTful架构的优势
RESTful Rails
案例研究:Amazon S3
扩展阅读
第8章i18n与L10n
区域
字符编码
Unicode
Rails和Unicode
Rails的本地化
扩展阅读
第9章合并和扩展Rails
替换Rails组件
合并Rails组件
向Rails贡献代码
扩展阅读
第10章大型项目
版本控制
事务追踪(Issue Tracking)
项目结构
Rails部署
扩展阅读
书摘插图
自从2004年7月首次发布以来,Ruby on Rails web框架稳步地变得越来越普及。Rails给PHP、Java及.NET的开发人员带来了一种更简单的开发方式:Model-View-Controller(MVC)架构,合理的默认设置(“惯例优先原则”),以及强大的Ruby编程语言的支撑。
在Rails发布的头一两年里因缺少相关的文档而背负骂名。然而由于成千上万Rails开发者的贡献,这个缺口很快就被填平了,他们不仅是Rails忠实的使用者,而且编写了很多有关Ruby on Rails的文章,并建立了Rails的文档项目(http://railsdocumentationorg)。如今在网上有数以百计的博客提供Rails的相关教程和开发方面的建议。
本书的目的是收集和提炼来自Rails开发者社区中的最佳实践和知识,并把所有这些资源以一种易懂,紧凑的格式展现给那些经验丰富的开发者。另外,我还将设法讲述一些被Rails社区忽视或摒弃的Web开发方面的知识。
什么是元编程
Rails使元编程变得大众化。虽然它肯定不是第一个利用Ruby的广泛功能进行自省(introspection)的应用,但却很可能是最受欢迎的Ruby应用。为了理Rails,我们必须首先搞清楚Ruby中使Rails的实现变为可能的那些部分。本章介绍了本书后文中讨论的技术的基础。
元编程是一种使用代码来编写其他代码以及进行自省的编程技术。Meta(源于希腊语)这个前缀在这里的意思是抽象。使用了元编程技术的代码在两个抽象层次上同时进行工作。
元编程技术在多种编程语言中都可以使用,但更多的还是应用于动态语言中,因为动态语言提供了更多的在运行时将代码视为数据进行操纵的能力。
……