浏览 3797 次
精华帖 (1) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-09
最后修改:2009-03-10
第一次,写连载啊,希望能对自己和各位看官有点帮助,多了解一点RubyOnRails开发上的情况吧。能够有点帮助,这就是坚持的理由。^_^ 生命百科全书:www.eol.org 网站是基于RoR的,内容是做互动的生命百科博物馆,本文主要介绍,如果通过该网站提供的代码,建立起RoR的网站,并且学习,该网站中使用到的一些,RoR最普通的技术。 资源地址如下,匿名svn下载。 svn://repository.eol.org/eol/trunk/ 配置前提 安装ruby rails和mysql最流行的要求。 其次, 安装gems包 列表如下: 1. ZenTest 2. ruby-debug 3. piston 4. hpricot 实际上这些包都集成到vendor下的gems下了。这是一个相当闪光的办法。对待gem像对待plugin一样,不gems放到vendor gems下 安装如下: rake gems # This could give you some errors... rake gems:build # if there are gems that aren't installed or you got that big error... rake gems:install # if there were gems that are STILL missing... 配置数据库 拷贝config/database.yml 根据需要把demo development 和master_database数据库配置正确 加载数据 rake eol:db:create:all # Note the "EOL". This keeps bad things from happening. Please use it. rake db:migrate rake db:migrate RAILS_ENV=test rake truncate rake scenarios:load NAME=foundation,bootstrap rake eol:site_specific repo=URL # Your "URL" (or an alternative) will be provided to you privately. 这里值得学习的是scenarios的加载,比起fixture好用很多,这个插件也在vendor目录下,具体配置和运行是,要看lib下taasks中的rake文件。 运行 script/server 并在 http://localhost:3000 下访问,相信到这里我们都已经把网站建立起来了吧。看着应该还不错吧。 测试 该项目的测试使用的是RSpec,这个流行的测试插件,比起rails的unit test写asset 要直观很多。具体可以看spec的目录 执行 rake spec rake specdoc #out put doc 你也可以用test password作为口令,测试权限部分。有些特别的页面,可以根据权限进行分配。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-10
为什么是 SVN下载。。。、、、、
|
|
返回顶楼 | |
发表时间:2009-03-11
首先,多谢楼主的连载
不好意思地说,本人认识次系列的文章对我而言,并无多大用途。第一点,就数据库设计用Master/Slave这一点,就觉得它并不是一个典型的RoR网站。连37Signals这样的一个有超过1百万付费用户的网站,都不需要到用Master/Slave数据库设计。第二点楼主的几篇文章就告诉我们要装什么插件和怎么装,这些信息本身对我们并无大用途。文章缺乏,例如,对routes的RESTful设计,Model对数据访问的封装等等,这些对我们开发有实际有用的信息。 本人的观点是什么autentcation和Role Management这些应用,自己来开发也是非常快捷简单,并不需要用到别人的插件。另外,数据库本身表和负载的设计都没有谈,直接最后就说Cache。本人认为文章设计上不大好。很多人在做项目的时候,连数据库本身都没设计好,就去想Cache的设计,实在没有必要。 以上是本人的愚见,如有冒犯,敬请原谅。 |
|
返回顶楼 | |
发表时间:2009-03-11
^_^
十分感谢楼上的回复 帖子发出来就是用来探讨的,说白来就是希望对自己,对大家能有点好处。 我也很理解,你码字解释“并无多大用途”,我想说的是: 有用没有用要看你是, 干什么,就是我发帖子的定位。 ^_^ 我的帖子的,定位是介绍一个相对成熟的,运营中的RoR项目,当然,有些地方,我自己理解的也不够,或者,想数据库结构等,很多重要部分写的都没有深入详细,我也承认,水平有限。 但是,大体的目的应该是清楚的。 那么,我们具体探讨一下吧,^_^ 对于,第一点,Master/Slave的机制。我认为,用不用分布式,不是看这个网站够不够大,而是,看你的项目是干什么用的,有没有主从分布的数据要求。www.eol.org 是做生命百科全书哦,一定会用到大量的数据处理。而且,他们是想说SNS的社会化网络,要交换,而且是大数据量交互。那么,我认为,这就是EOL把数据库分布的原因。我的介绍,只是说,在这样的需求情况下,rails拥有这样的插件,支持这样的分布解决方案。 那么,从这一点上讲,你说这篇介绍没有用途,那我就不赞成了。或者,你只能说对你自己,或者,初学者,没有用。但不能说,对大部分人没有用。 比如,我们公司在做一个设备管理系统,由于数据量庞大,遇到了检索瓶颈,超过200万用户同时检索,系统可以处理,数据库就成了瓶颈。那么,我们正在讨论解决方案,这时,我的介绍里,关于主从分布的实现,和实现方法,就是有用的借鉴。所以,这样的介绍,对我而言是有用的。^_^ 探讨而已 |
|
返回顶楼 | |
发表时间:2009-03-11
接着,
你说到, 引用 本人的观点是什么autentcation和Role Management这些应用,自己来开发也是非常快捷简单,并不需要用到别人的插件。 这个,基本上我同意,但是也要看你的需求。就是看你要多大程度上的entitlement tree,如果,权限设计要求没有太高,自己设计的确是不错的选择。但是,在权限需求错综复杂的情况下,加载一个成熟的权限管理系统的值得的。何况,开发和运营不同,要看效果,在插件很好用,支出成本不高的情况下,选择插件可能比较高。 引用 对routes的RESTful设计,Model对数据访问的封装等等,这些对我们开发有实际有用的信息。 这些对于开发确实有用,这篇着重介绍 设计 也是探讨而已,没有冒犯的意思^_^ |
|
返回顶楼 | |
发表时间:2009-03-11
最后修改:2009-03-11
引用 www.eol.org 是做生命百科全书哦,一定会用到大量的数据处理。而且,他们是想说SNS的社会化网络,要交换,而且是大数据量交互。
当然,共享你的开发经验是好事。 我只是说对本人来说用途不大。根据你说的一定会大量数据处理,而且是交互。请问这是当前已经在处理的数据量,还是假设未来发生的数据量。其实数据库设计得好,单数据库,每秒钟几百到上千个hit都不是问题。本人认为对于大部分case来说,专心设计好数据库表和索引已经是足够。你们的单数据库设计已经到达瓶颈了吗?内存如此便宜,32G, 64G, 128G内存的数据库服务器都不是问题。(DHH同学的数据库方案) 引用 由于数据量庞大,遇到了检索瓶颈,超过200万用户同时检索,系统可以处理,数据库就成了瓶颈。
上面的说法很模糊,你们有研究过每秒种的最大请求数吗?到底是那个表的查询最慢。到底每秒的Reads是多少,Writes是多少,是Table locks还是Row locks. 例如,如果你有几百万记录的表(甚至千万)去关联另几个百万数据的表,当然慢。joins heart performance,这就是为什么google的BigTable设计成没有join的原因。又例如,每次访问都去做select count(*) from table1 where ...当然慢,有无考虑Rails的counter_cache。 如果都详细分析过,还是没法解决,本人才建议考虑Master/Slave方案。所以说,Master/Slave方案不算是典型的RoR网站,因为楼主的标题是典型的RoR网站,我看过后,对内容不大同意。 |
|
返回顶楼 | |