2011-11-30 65 views
1

這實際上是我在SO上的第一篇文章,我對後端編程有些新鮮(目前學習Ruby,但我熟悉前端的東西),所以請裸機如果我的問題看起來不太好。我對學習/掌握Ruby和Rails非常感興趣,所以我認爲這是一個很好的地方,可以在我被困時提出問題。關於Rails和Javascript的一些問題+ Jquery

在學習Ruby時,我已經提出了幾個我需要澄清的問題。我在Google上查找了這些問題,但問題是我只需要有人用簡單直接的外行人的方式向我解釋答案(包括日常示例)。我最終主要是閱讀互聯網上剛剛談論理論的一系列文章。我並不是無視學習這些理論的需要,因爲我意識到我有一天可能需要學習時間才能更好地掌握這個主題,但現在,我只想從小處着手,並建立自己的道路,複雜的事情。

所以,他們在這裏:

1)所以基本上什麼是數據庫?人們說它存儲數據(杜),但我們談到的是什麼樣的數據?就像,如果我第一次構建Facebook,我的數據庫將存儲什麼類型的信息?用戶登錄信息等?

2)說到數據庫,什麼是「最好」的使用?我知道這確實是一個偏好問題,但我主要關心超高速度,高效率,可靠性和簡單易用性。你個人會推薦什麼?

3)Heroku是一個友好的軌道服務器,允許您部署rails應用程序,而無需擔心服務器管理猴子的工作 - 對嗎?

4)什麼是「最好」的方式來確保您的Rails應用程序強大,快速且安全?有些開發人員一直建議我避免使用Javascript/JQ,因爲這兩者(通常)會降低網站負載。你怎麼看?

超級感謝大家誰回答我的問題,讓我看到光。我將有更多的未來我敢肯定:)

-Faisal費羅茲

+0

爲了將來的參考,您的每個問題都可能是一個單獨的問題。哎呀,整本書都寫了一些主題。一般來說,你想問一些具體的,可回答的問題。像「哪個數據庫是最好的」之類的東西通常是不受歡迎的,因爲它只是邀請純粹的意見。不過,我很高興你在這裏得到了答案。歡迎來到Stack Overflow。當你看到其他問題時,你會對這裏的事情有所感覺。 –

+0

我有點困惑:在這個論壇上邀請意見是件壞事?我徵求意見的原因是因爲我通常會查看人們的建議,在其他地方閱讀這些建議,全部嘗試(如果可能),並自己發表意見。我沒有任何生病的意願:) 另外,我知道很多書已經寫了,但正如我上面所解釋的,因爲我是一個noob,所以我喜歡在潛入重物之前從人們那裏獲得外行的解釋。這就是我學習最好的方式。 –

+0

堆棧溢出不像一個典型的論壇。這是一個問答網站,我們更喜歡可以客觀(並明確)回答的問題。詢問偏好或建議(除非它在相當具體的情況下)通常會導致人們推薦他們最喜歡的工具或庫,這不是我們所想的。總之,具體的編程問題=好,一般的「請告訴我你在想什麼」類問題=不太好。希望這可以幫助。 –

回答

0

1)數據庫本質上是一種根據正在存儲的數據類型以有組織的/結構化的方式存儲來自應用/用戶的數據的手段。他們還提供了一種方法來創建所有存儲數據之間的關係,並且可以在稍後查詢。

例如,即使將用戶的數據存儲在一張表中,並將照片的元數據存儲在另一張表中,查找用戶的照片也非常容易。使用Ruby on Rails,它可以像說the_photos = @user.photos一樣簡單,你就完成了。在幕後,Rails生成告訴數據庫所需的所有SQL代碼,「嘿,去找一個帶有這個ID的用戶,然後去找我所有與照片表中的用戶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進行本地開發(因爲它很容易),然後在Heroku上默認使用PostgreSQL(這是一個非常成熟和成熟的數據庫)。還有其他的數據庫類型,例如MongoDB,所以它確實取決於你的需要。

3)正確,Heroku爲您處理了很多服務器管理。但是,您仍然需要擔心有效地升級/降低服務器,因此我會推薦http://www.hirefireapp.com,因爲它可以與Heroku無縫協作。 4)實際上,大部分加載時間都花費在數據庫中,挖掘出所有渲染頁面所需的數據,特別是當你有像朋友朋友那樣的複雜關係時(例如使用Facebook例子)。這就是爲什麼人們使用memcached來緩存數據庫查詢結果以供將來使用,因此加載時間大大提高。

說實話,現在所有的網站都使用jQuery或某種類型的Javascript。這是提高性能的最佳方法之一(通過動態地AJAX部分頁面而不是加載整個頁面),並使用戶體驗更好。如果你想成爲一名Web開發人員,你幾乎無法避免使用Javascript。如果你看看像Google+,Facebook,Twitter等網站,他們都嚴重依賴JS,他們仍然快速發展。


額外的幫助......如果你學習Ruby on Rails,這是迄今爲止最容易理解的教程和大家推薦一個:http://ruby.railstutorial.org/

之後,Ruby on Rails的開發團隊在這裏彙集了一些非常有用的教程:http://guides.rubyonrails.org/

祝你好運!

+0

非常感謝Rob!真正詳細和周到的回答我的問題。非常感謝:) –

+0

隨時,很高興提供幫助 – iwasrobbed

0

1)將存儲您的所有照片,您的所有意見,所有您的收藏夾書,誰是你的朋友,誰是你的女朋友......總之你的生活總之。害怕?我也是

2)這是一個非常深刻的主題。我剛剛看到PragProg的一本新書宣佈爲http://pragprog.com/book/rwdata/seven-databases-in-seven-weeks。它涵蓋7種不同類型的數據庫。 簡短的回答,沒有最好的分貝。從rails默認的Sqlite3開始。

3)右

4)我認爲未來是在前端,富客戶端和JS。瀏覽器和服務器之間的同步請求是什麼讓感覺遲緩?

+0

哇,這解釋了很多,並回答了一些亟待解決的問題。感謝百萬Delba! –

+0

女朋友?生活? –

+0

@BoPersson啊啊啊! – Damien