從第一次接觸ruby & rails到現在有段時間了,本著一貫快學快用習慣,看了一遍書之後就開始用ror做了些小專案,邊做邊查,邊學邊忘,到現在還是沒有記住幾個ror的特徵關鍵字,比如什麼約定阿,約束什麼的,也分不清為啥有symbol這麼奇怪的物件。更加不清楚yield到底怎麼起作用的。
不過這些並不妨礙用ror去開發專案。我只要知道怎麼用就行. 接下來說說我是怎麼用ror的.覺得亂的就跳過好了.因為不完全懂得ror,如果有用錯詞,見諒.想到那裡寫那裡
each, each的使用頻率很高,如果**中需要迴圈,基本上就是each,偶爾用用times,在極為少見的情況下才用step.雖然我知道each在語義上是乙個迭代器, 不過我都是當作迴圈函式來看待的,乙個用起來簡單的迴圈函式.
大部分情況,我的each**都會寫成 each do ...end 最近才開始用 each 這樣的簡單用法,想想也奇怪,明明後面的寫法可以少打很多字,為啥一定要固執的用前面的那種寫法呢.
我知道有其他的迴圈**的寫法,不過我沒有記住怎麼做的,反正不知道也沒有關係. each time,step幾個夠用了.
unit test,一開始的時候我還耐著心思寫了不少的unit test,不過到後來,越寫越迷糊.這個單元測試的粒度到達多大才合適,以及unit test到底測試什麼,為什麼要測試那麼的**成功被執行是怎麼樣的,不成功執行又是如何如何。最終也就不了了之了,現在倒是考慮需要乙個整體的功能性的測試指令碼。
執行環境,一開始依然是頑固的採用了windows環境,現在還有個專案一直執行在windows環境上,執行了也有2年了吧。雖然也沒有出什麼意外嗎,不過不比不知道,linux環境下,這個執行速度居然相差如此之大。
yaml,ruby有不少的地方用到這個,我第一次考慮在**中用這個,是因為需要儲存一些類似指令碼的資料,需要額外配置,配置的時候甚至還需要設定一些簡單的邏輯。於是用yaml,初期還是可以湊合著用的,不過一旦配置檔案的邏輯複雜起來,這個就不行了。yaml儲存資料還行,加入過多的邏輯就不行了。
dsl,於是接下來就是dsl了,網路上搜尋了一大堆的ruby dsl的教材,最後突然發現,我要的是類似ar的dsl寫法 has_one,has_many,直接的把ar::base的檔案結構複製了乙份,去掉不需要的**,保留了乙個has_one,然後開始寫自己的dsl,然後很長一段時間內,都是has_one這樣用法的dsl指令碼。
dsl的載入,development模式下,其他的rb檔案都是修改後馬上可以生效的,頁面重新整理下就可以了。不過dsl載入後,修改對應的rb檔案,重新整理頁面無用。每次都是關掉webrick,再開才有效。
這樣寫好像過於流水帳了,下面的開始選擇專案中的某個方面,講講從專案初期到最終的時候是怎麼變化過來的。
[url=講講專案中log輸出的前後變化[/url]
一知半解用ruby開發 log的變化
url 前面一篇寫的帶流水了,這次專選乙個主題。ror有debug功能,但是從未用過。但是開發過程中,總要看下執行環節中某些函式的呼叫是否正確,怎麼辦呢。最開始的哪會,也就是剛剛學習ror哪會,輸出執行中間過程都是老實的用logger.info,logger.debug這些的。不過用了段時間,總覺得...
Razor 一知半解
在園子裡看到一些關於mvc的文章 一園友提起了razor,對此頗感興趣,原文是這樣說的 如果想詳細了解razor 請看scottgu 的部落格,於是在baidu 在google 中 搜尋 scottgu 的部落格 搜尋到的全是 了解 razor 請看scottgu 的部落格 這句話.於是感覺網路時代...
一知半解之 RequestMapping
value 指定請求的實際位址,指定的位址可以是uri template 模式 後面將會說明 method 指定請求的method型別,get post put delete等 produces 指定返回的內容型別,僅當request請求頭中的 accept 型別中包含該指定型別才返回 params...