使用完全面向对象的ruby开发代码的速度感,让人有一种快感。就像学武之人突然掉到一个鬼洞,获得一部九阳真经或者一把神器一样,武功突飞猛进的同时,心里面也充满了无限的期待。虽然如此,途中遇到的问题还是不少,这里列举如下,供参考。
1.读什么样的书?
虽然近两年有ruby和rails的书,但是相对于java之类的书,还是小巫见大巫。这就与rails框架在ruby的世界里独树一帜,而java的框架还在疯狂的竞争(最近随着ssh框架的成熟,似乎也趋于平静)。关键还在于视频资料的缺乏,一个没有任何经验的编程者,在看完马士兵的视频之后,都会对java开发说“熟悉java开发”。rails有什么?好像只有vtc的英语视频,或者一些短小的录屏视频,而且也是英文。
好在ruby和rails由于“出生纯粹”的特点,书的选择也少,但却少而精。这里推荐几本:
ruby的书:
ruby programming,这是必备的案头书。查询语法。有中文的。
ruby cookbook。也有中文的,但是英文的chm格式的书更好。中间有众多的案例。
rails的书:
Agile Web Development With Rails已经到了第三版了,支持2.0以上的rails。按图索骥式的学习开发过程不失为一本入门教材。
其他还有,Building.a.Social.Networking.Website.with.Ruby.on.Rails;Build Dynamic Web Applications with Ruby;Foundation.Rails.2;Professional Ruby on Rails;
如果对google地图开发、ajax开发感兴趣,可以看Beginning Google Maps Applications With Rails And Ajax;Ajax on Rails. Build Dynamic Web Applications with Ruby;
rails的书都秉承了agile的特点,以案例着手,迭代开发。对于ror的知识体系的建立非常有帮助。
英文的比翻译的要好些。逻辑和缘由说的更加清楚。
2.技术关口
a.安装、升级。
windows的instantrails,是非常好的类似lamp一样的东西。
linux下比较难一些。如果再涉及到部署,恐怕需要费点劲。
rails的升级。实际上包括各类插件的升级。这是经常要做的。安装或者升级需要掌握这些插件到底装在哪儿。有的在ruby/lib中,如rails;有的在应用的lib中,如authentication 插件,会安装在lib中一部分,当然根是在vendor下的。有的在vendor下的。
b.插件的应用
rails虽然年轻,但是大量的ruby发烧友们将php、java等已经常用的插件,ruby化放在网上供大家使用。
c。面向对象的理解。
使用agile教材最大的坏处,是让人的思维有一种“model”和“controller”是对应的。实际上两者是没有任何关系的。
同时model类和表之间关系也可以模糊化。尤其是模型类中的方法。
3.曾经遇到过的问题
a、附件如何上传。如果附件是图片,而且图片需要限制大小或者进行缩放。
b、view使用rich text,该如何处理。这涉及到前端技术和后端技术。可能还会有复杂的正则表达式。
c、flash、mp3、video如何保存、如何显示。
d、如何展现地图,地图的各类操作如何完成。
e、权限处理。
f、css div的设计。
g、模板和视图文件的关系问题。
h、如何调用jar包
i、如何绘制chart、统计报表。
j、如何发送email
上述问题在实践中都逐个解决。
4.以后还可能遇到的问题
a、如何设计daemon程序;
b、如何大规模部署rails应用。
c、如何应用工作流
d、如何利用java的数据挖掘开源项目做基于rails的数据挖掘。
。。。
分享到:
相关推荐
Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程,提高开发效率。RoR强调“约定优于配置”,提供了一套完整的工具链,使得开发者...
RoR(Ruby on Rails)是一种流行的开源Web开发框架,以其高效和简洁的代码著称。然而,随着网站规模的增长,性能优化成为必不可少的环节。在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在...
在IT行业中,Ruby on Rails(简称ROR)是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用开发过程,提高开发效率。本文将深入探讨如何配置ROR开发环境,以及...
"敏捷开发第二版ROR必看"这个主题,指的是对敏捷开发方法论与Ruby on Rails的结合应用进行深入学习的教程。此教程特别强调了2006年度的最佳出版物,旨在为开发者提供与时俱进的敏捷开发实践指导。 **敏捷开发介绍**...
在源代码学习中,你可能会关注以下几个方面: 1. **路由(Routing)**:RoR的路由系统将URL映射到控制器的行动上,通过`config/routes.rb`文件进行配置。理解路由规则有助于构建可扩展和灵活的Web应用。 2. **控制...
在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...
标题中的“RoR中文解决方案”指的是Ruby on Rails(简称RoR)的一个针对中文环境的优化方案,Ruby on Rails是一款基于Ruby编程语言的开源Web开发框架,以其MVC(Model-View-Controller)架构和DRY(Don't Repeat ...
NULL 博文链接:https://xuxiangpan888.iteye.com/blog/266696
"ror实例"可能指的是在学习或实践中,通过创建一个具体的Rails应用程序来理解和掌握RoR的工作原理和最佳实践。 在Ruby on Rails中,重要知识点包括: 1. **Gemfile与Gemfile.lock**:项目中的Gemfile用于指定项目...
Ruby on Rails(简称ROR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在促进开发过程的简洁性和效率。Ruby on Rails的核心理念是“Don't Repeat Yourself”(DRY,...
在每个残差块中,输入信号可以直接传递到输出,而不需要通过一系列的卷积层和激活函数。如果网络能够完美学习到输入的微小变化,那么这个残差块的输出就等于输入,即“学习到的残差”为零。这样,即使网络很深,也能...
在这个图书管理系统中,我们可以学习到以下几个关键知识点: 1. **Ruby基础知识**:Ruby是一种面向对象的、动态类型的编程语言,其语法简洁明了,强调代码的可读性和开发效率。学习这个系统前,你需要掌握Ruby的...
随着Web开发技术的不断发展,Ruby on Rails(简称Rails或ROR)作为一种高效、简洁且优雅的Web开发框架,受到了广大开发者的青睐。然而,在Windows环境下搭建Rails开发环境却让不少初学者感到头疼。本文将详细介绍...
基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。
在这个"ror留言板程序"中,我们可以看到以下几个关键部分: 1. **Rakefile**:Rake是Ruby中的一个构建工具,类似于Java的Ant或Python的setup.py。Rakefile是Rake的工作配置文件,用于定义一系列的任务,如数据库...
2. **ActiveRecord**:这是RoR中的一个ORM(对象关系映射)库,允许开发者用Ruby类来代表数据库表,通过面向对象的方式来操作数据库,简化了数据库交互。 3. **Scaffolding**:RoR提供快速原型开发工具,能自动生成...
在给定的示例中,使用MySQL数据库创建了一个名为`records`的表,其中包含两个关键字段:`name`和`person`。`name`字段用于存储上传文件的名称,而`person`字段则是一个`MEDIUMBLOB`类型,用于保存上传文件的二进制流...
在本文中,我们将深入探讨如何在Ubuntu 10.10操作系统上进行系统安装,并配置一个完整的Vim编辑器环境,以便进行Ruby on Rails(ROR)开发。Ubuntu 10.10,代号“Maverick Meerkat”,是Ubuntu的一个老版本,但依然...