saberma

分享技术实践,创业历程

如何开始rails项目

2009-12-29

为了能胜任ruby项目的开发工作,你需要逐步掌握以下技能

1.安装操作系统(Linux)

经过实践,rails项目可以顺利在windows、linux(Ubuntu)、unix(solaris)下运行
但推荐使用的平台仍是Linux,所以你至少需要熟悉以下内容

安装

我们开发环境使用的是Ubuntu,安装后请阅读速配指南了解ubuntu的基本配置

Ubuntu安装
Ubuntu速配指南

熟悉常用命令

Linux常用命令
常用命令联合使用

安装xp虚拟机

安装xp虚拟机操作系统是为了使用rtx、使用ie访问项目,具体步骤:

安装virtualbox
宿主操作系统为"Ubuntu 8.04 LTS",按电脑的cpu架构选择i386或者AMD的virtualbox安装包

在virtualbox安装windowns xp精简版
ubuntu下安装xp指南

2.熟悉开发工具(Vim)

经过对netbean、RadRails、Vim的使用,最终选择了Vim作为我们的IDE
vim可以让你在开发过程中尽量减少对鼠标的使用,提高编写效率

Vim快速入门
Vim安装使用

3.了解Ruby

你需要知道模块、类、继承等概念
知道循环,判断等语句
了解String,File等类的常用方法,知道API可以在哪里查询到

要不断实践ruby,irb命令是你的最重要的朋友

二十分钟入门
Ruby延伸
Programming Ruby 1.9

4.熟悉Rails

你需要知道rails的以下内容:

项目的目录结构

rails项目中,也是遵循MVC模式的,开发一个功能时,可根据需要选择以下生成器

#看一下有哪些生成器(Installed Generators)
script/generate
#项目中常用以下生成器
#生成控制器、实体、整合(包括控制器、视图、实体)
script/generate rspec_controller
script/generate rspec_model
script/generate rspec_scaffold

url请求将由rails的哪些控制器中的哪些方法进行处理,需要了解

route机制

出现问题时多查看后台日志
主要检查由前端页面传递至后台的参数params是否正常
并检查控制器对数据库进行操作的SQL是否正确

#查看开发环境的日志
tail -f log/development.log

Rails快速入门
I18n国际化
Agile Web Development
Advanced Rails Recipes

在rails项目中,要遵守[不重复发明轮子]的原则,在开发功能(非业务)前可以先找找
Ruby工具箱

要不断实践rails,script/console命令是你的最重要的朋友

5.前端技术

前端技术中的视图层是采用haml框架生成的,haml代码会转换为html代码,最终在浏览器中显示
另外包含javascript,css两部分
在项目中javascript主要使用jQuery框架编写js代码
css部分使用haml中的sass编写css代码

html入门_共8小节
haml入门
javascript入门
css入门
jQuery入门
jQuery常用插件
jQuery最佳实践之delegate
sass入门

6.数据库(Mysql)

经过实践,rails项目可以连接Mysql,Oracle,Sqlserver,随时可以进行切换
在开发时,我们使用Mysql作为本地数据库,所以你至少需要掌握Mysql数据库

Mysql入门

7.文档数据库(NoSQL)

先看看各大NoSQL软件的对比
NoSQL数据库探讨之一 - 为什么要用非关系数据库?

NoSQL介绍及MongoDB入门
Mongodb入门

mongodb最全最好的学习资料是在官网(支持中文但很不全),上面还有一个TRY IT OUT,可以直接在线学习简单操作

ruby数据库驱动说明

如果采用NoSQL,则rails中就不能再使用ActiveRecord了,需要要对应的ORM
推荐使用mongoid,虽然没有mongomapper那么功能全面,好在对rails3的支持更好(率先支持activemodel等)

mongoid也处于活跃开发期,所以最新资料只能看官网,最稳妥的资料只能看代码了
mongoid官方文档

基于nosql的开源项目现在还比较少,可以参考刚起步的shopqi
shopqi网店平台

8.测试

为保证项目质量,开发过程中需要遵循测试驱动开发

黄瓜测试入门
Rspec入门

9.版本控制Git和GitHub

以上技能掌握后,项目代码就需要进行版本控制及代码托管了

国内公司一般都是自建代码托管服务器,所用版本控制软件大多使用SVN,VSS,CVS
前两个我倒是用过,但我还是要极力推荐Git
Git原生支持分布式代码管理(KO VSS),直观的冲突处理机制(KO SVN)

而基于Git的托管服务器Github,可以说是开源界的改革,使得开源项目真正地开源!
任何开发者可以直接获取开源代码,或追加功能或打补丁,之后只要按个按钮就可以向原作者请求合并
当然了,合并之前一般需要开发者编写好测试用例,保证代码的正确,同时不破坏原有功能

Git使用

如果公司只有svn服务器,折衷的办法就是本地使用git,再远程提交至svn
SVN集中存储

其他资源

Learn Web Design

blog comments powered by Disqus
Fork me on GitHub