Baru-baru ini saya menemukan sebuah teknik programming yang bernama noSql. Kelihatannya orang-orang IT yang jenuh sama proses maintenance server (terutama reindex) berusaha mencari jalan keluar bagi masalah ini, dan hasilnya adalah sesuatu yang bernama nama NoSql.

Pada dasarnya noSql menyimpan data dalam format teks seperti JSON (Javascript Object Notation) ke dalam database engine. Ada berbagai macam noSql engine di luaran sana seperti MongoDb. Hanya saja saya agak malas menginstall db engine baru. Ketika browsing2, saya menemukan Friendly, sebuah library ruby yang menggunakan MySql sebagai tempat penyimpanan data NoSql. Iseng-iseng saya coba.


require 'rubygems'
require 'friendly'

Friendly.configure :adapter => "mysql",
:host => "localhost",
:user => "root",
:password => "root",
:database => "beruang"

class BlogPost
include Friendly::Document

attribute :author, String
attribute :title, String
attribute :body, String

indexes :author
indexes :created_at
end

Friendly.create_tables!

BlogPost.create :author => "Hendra",
:title => "Mencoba friendly nosql lagi",
:body => "Akhirnya bisa juga"


all = BlogPost.all(:author => "Hendra")
all.each do |d|
puts "#{d.author} : #{d.title} : #{d.body}"
end


Membutuhkan waktu agak sedikit lebih lama dari dugaan saya untuk memahaminya, terutama sekali memahami bagaimana caranya menampilkan datanya. Tapi melihat hasilnya saya cukup terkesan. Codenya bersih sekali, dan sangat friendly untuk dibaca. Sayangnya feature2-nya belum lengkap. Mungkin bisa dijadikan alternatif untuk penyimpanan data yang tidak membutuhkan query yang rumit

Perintah sakti ini sangat bermanfaat untuk membantu kita bekerja dengan object yang tidak dikenal, seperti object-object yang dihasilkan oleh library yang bertebaran di internet, misalnya Friendly.


obj = Class.new
puts obj.methods


Perintah .methods akan menghasilkan daftar method yang tersedia dalam satu object.