dsl是設計用來在某一領域完成特殊任務的語言,而不是一般目的的程式設計,dsl的指令集相對較窄
從某方面來看,rails就像乙個用ruby寫的dsl,它的領域是互動式資料庫驅動的web程式
對於如下**
[code]
has_many :editions
[/code]
左邊是乙個動詞,右邊像乙個配置
其實這是簡單的ruby方法呼叫,方法名為has_many,引數為乙個ruby symbol object
rails經常讓programming看起來像configuration,省略方法括號是rails的習慣約束
rails dsl很大程度上依賴於ruby的元程式設計能力,比如[b]attr_reader :name[/b]為你自動生成例項變數@name和get方法
[url=元程式設計入門[/url]
[url=使用ruby建立dsl[/url]
推薦系統之我讀,我思,我惑
年前,開始系統接觸推薦系統。說到這,我想提下,最早知道推薦系統,是源於研一的時候,一次實驗室組會,乙個本科生的畢設。他是用周的heat spread 方法,其實就是利用二部圖方法進行推薦。資料是乙個使用者和物品的連線關係的二部圖。其實,這個方法很簡單,也很容易實現。但是,後來,開始接觸項亮的博士 的...
髒讀,不可重複的讀,虛讀
引用 髒讀dirty reads 當事務讀取還未被提交的資料時,就會發生這種事件。舉例來說 transaction 1 修改了一行資料,然後 transaction 2 在 transaction 1 還未提交修改操作之前讀取了被修改的行。如果 transaction 1 回滾了修改操作,那麼 tr...
髒讀,不可重複的讀,虛讀
引用 髒讀dirty reads 當事務讀取還未被提交的資料時,就會發生這種事件。舉例來說 transaction 1 修改了一行資料,然後 transaction 2 在 transaction 1 還未提交修改操作之前讀取了被修改的行。如果 transaction 1 回滾了修改操作,那麼 tr...