关于Rails和Javascript + Jquery的几个问题

时间:2011-11-30 18:46:15

标签: javascript jquery ruby-on-rails ruby ruby-on-rails-3

这实际上是我关于SO的第一篇文章,我对后端编程有些新意见(目前正在学习Ruby,但我对前端的东西很熟悉)所以如果我的问题看起来很吵,那么请跟我一起。我非常有兴趣学习/掌握Ruby和Rails,所以我认为这将是一个很好的地方,当我被困难时提问。

在学习Ruby时,我提出了一些我需要澄清的问题。我在谷歌上查了这些问题,但问题是我只需要有人以简单明了的方式解释我的答案(包括日常例子)。我大部分时间都在阅读互联网上的一系列文章,这些文章只是谈论理论。我并不是无视学习这些理论的必要性,因为我意识到有一天我可能需要学习它以更好地掌握这一主题,但就目前而言,我只想从小做起,并逐步建立起来复杂的事情。

所以,他们在这里:

1)基本上什么是数据库?人们说它存储数据(duh)但我们说的是什么类型的数据?比如,如果我是第一次建立Facebook,我的数据库会存储什么样的信息?用户登录信息等?

2)说到数据库,使用哪种“最佳”数据库?我知道这确实是一个偏好问题,但我主要关心的是超高速,高效,可靠和简单易用。你个人推荐的是什么?

3)Heroku是一个支持rails的服务器,允许你部署rails app而不必担心服务器管理猴子工作 - 对吗?

4)确保您的rails应用程序稳健,快速且安全的“最佳”方法是什么?一些开发人员建议我避免使用Javascript / JQ,因为这两者(通常)会降低网站负载的速度。你觉得怎么样?

超级感谢所有通过回答我的问题向我展示光明的人。我将来会有更多我确定:)

-Faisal Feroze

2 个答案:

答案 0 :(得分:0)

1)它会存储你的所有照片,所有评论,所有你喜欢的书籍,谁是你的朋友,谁是你的女朋友......简而言之,你的一生。害怕?我也是

2)这是一个非常深刻的主题。我刚刚看到PragProg出版了一本新书http://pragprog.com/book/rwdata/seven-databases-in-seven-weeks。它涵盖了7种不同类型的数据库。 简短的回答,没有最好的数据库。从rails默认的Sqlite3开始。

3)对

4)我认为未来是前端,富客户端和JS。让感觉变得缓慢的是浏览器和服务器之间的同步请求。

答案 1 :(得分:0)

1)数据库本质上是一种根据存储的数据类型以有组织/结构化的方式存储来自app / user的数据的方法。它们还提供了一种在所有存储数据之间建立关系的方法,以便以后查询。

例如,即使您将用户的数据存储在一个表中,并将照片的元数据存储在另一个表中,找到用户的照片也非常容易。使用Ruby on Rails,就像说the_photos = @user.photos一样简单,你已经完成了。在幕后,Rails会生成告诉数据库所需的所有SQL代码,“嘿,找到一个拥有此ID的用户,然后找到我在Photo表中找到与该用户ID相关的所有照片”,而不必知道任何SQL根本就没有。

在ActiveRecord中(默认情况下Rails使用),您有以下数据类型:

:primary_key
:string
:text
:integer
:float
:decimal
:datetime
:timestamp
:time
:date
:binary
:boolean

通常,数据库会拆分为多个表,您可以根据要保存的信息类型来组织表。因此,您可能有一个Comment表,User表和Photo表,所有这些表都存储有关这些项的不同类型的数据。因此,如果您要保存评论,则可以使用:text字段来存储评论,使用:integer字段来存储创建评论的用户ID以及:timestamp字段来记录评论评论的时间。

2)如果您正在使用Rails并考虑使用Heroku,那么您可能会使用SQLite进行本地开发(因为它很容易),然后默认情况下使用Hergre上的PostgreSQL(这是一个非常成熟且经过验证的数据库)。还有其他数据库类型,例如MongoDB,所以它真的取决于你的需要。

3)正确,Heroku为您处理了很多服务器管理。但是,您仍然需要担心有效地扩展/缩小服务器,我会建议http://www.hirefireapp.com,因为它可以与Heroku无缝协作。

实际上,大部分的加载时间都花费在数据库中,用于挖掘呈现页面所需的所有数据,特别是如果你有像朋友的朋友那样复杂的关系(比如Facebook的例子)。这就是为什么人们使用memcached来缓存数据库查询结果以供将来使用,因此加载时间会大大改善。

老实说,现在所有网站都使用某种jQuery或Javascript。这是提高性能的最佳方法之一(通过动态而不是加载整个页面来激活页面的一部分),它使用户体验变得更好。如果您将成为Web开发人员,那么您几乎无法避免使用Javascript。如果你看看像Google+,Facebook,Twitter等网站,他们都非常依赖JS,他们仍然很快。


额外的帮助......如果你正在学习Ruby on Rails,这是迄今为止最容易理解的教程和每个人都推荐的教程:http://ruby.railstutorial.org/

之后,Ruby on Rails开发团队在这里整理了一些非常有用的教程:http://guides.rubyonrails.org/

祝你好运!