發表文章

目前顯示的是有「Ruby」標籤的文章

MongoDB 初體驗

因為 Web Mining final project 我們想做 twitter tweet 的 clustering 及 classification,所以需要從 twitter 下載大量的 Tweet 做為實驗用途。一開始我是把這些 tweet 存成 JSON 在文字檔裡,不過隨著 tweet 量越來越多,用文字檔實在很難處理。由於本來就是存成JSON的格式,所以就想到了 MongoDB。 之前只有玩過try MongoDB, 從來沒有好好用過他,這次剛好有這個機會就來用一下 :P 裝好MongoDB後就可以開始始用了。由於這次 project 是用 ruby 寫的(因為有方便的  Twitter Gem  可以用),所以我用了 Mongo Gem   。Mongo Gem 的用法跟 Mongo shell 裡的用法差不多,簡單的用法如下,更多的說明可以參考 Mongo Gem 的 wiki 。

ActiveRecord like API for Python

之前看到 ActiveRecord 有一個很方便的功能: find_by_COLUMN,而 COLUMN 是那個 Table 裡的 columns。這用 Ruby 的 define_method 很好實做,當然 Python 也可以做到。下面是一段 POC (Prove of Concept) code:

Monkey Patching: Python V.S. Ruby

之前在寫Rails的時候還不是很熟悉Ruby,所以很多Ruby的特性沒有去深究。最近剛考完期末考比較有時間了,所以好好來看了一下Ruby。目前覺得學Ruby的好處就是會讓我想去比較Python,因為我個人還是Python的愛好著,所以看Ruby可以做到的功能就想要看Python可不可以做到。拿Ruby最有名的名能之一來說好了: Monkey Patching,從Wikipedia: A  monkey patch  is a way to extend or modify the  run-time   code  of dynamic languages without altering the original  source code . Ruby 可以很容易的動在舊有的Class/Module中加入新的Class/Method,舉例來說我們可以新增一個  method 到 Array 中: def Array.test puts "This is a singleton method `test' of the Array class" end