Jul11

Ya ya ya saya memang nggak bisa regex, biasanya dimanjakan oleh validasi yang ada di ActiveRecord, validates_numericality_of, so gampang deh nge-validasi integer, tapi sayangnya dalam kasus yang saya hadapai kali ini ternyata saya harus mengevaluasi string tanpa menggunakan validasi di ActiveRecord, nah terpaksa deh pakai Regular Ekspresi, hiks

Lalu tanya deh ke mbah gugle, dan ternyata cukup sulit menemukannya, karena sulit sekalian saja saya posting di blog sebagai pengingat, so here it is :

irb(main):025:0> /\b\d+\b/=~”1111″
=> 0
irb(main):026:0> /\b\d+\b/=~”111b”
=> nil
irb(main):027:0> /\b\d+\b/=~”11155555555555555b”
=> nil
irb(main):028:0> /\b\d+\b/=~”aaa7834″
=> nil
irb(main):029:0> /\b\d+\b/=~”1234567890″
=> 0

Beginilah nasibnya kalau tidak bisa regex he he

Apr26

What’s Ultrasphinx ? Ultrasphinx is ruby on rails plugin that utilize Sphinx, the open source Full text search engine, why we need another 3rd party library to query our database ?, it’s because Ultrasphinx fairly fast and easy to use, last week i’ve tried to install it on My lovely Werewolf, then here it is :

Install mysql server and mysql devel

sudo yum install mysql-server mysql-devel

some note : sphinx use mysql-devel to interfacing with mysql databases, for first time, i am very frustrating to compile it on my werewolf and people got the same problem like me too, so after hours + cofeemix and searching on the internet, fortunately i got the saviour, … mysql-devel of course

download sphinx

wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8-rc2.tar.gz

configure and install it

tar -xzf sphinx-0.9.8-rc2.tar.gz
cd sphinx-0.9.8-rc2
./configure
make
make install

create log folder

mkdir -p /var/db/sphinx/log
chmod -R 777 /var/db/

install chronic gem

gem install chronic

go to your RAILS_ROOT directory and install ultrasphinx plugin

ruby script/plugin install svn://rubyforge.org/var/svn/fauna/ultrasphinx/trunk

congratz, ultrasphinx already installed on your rails application, then after this i will show you a little example how to implement that

say you have User model and you want the app be able to search name, email and address easily

class User< ActiveRecord::Base
  is_indexed :fields => [’name’, ‘email’,'address’]
end

configure and start ultrasphinx daemon

rake ultrasphinx:bootstrap

or

rake ultrasphinx:configure
rake ultrasphinx:daemon:start

run the indexer

rake ultrasphinx:index

note : Sphinx is a asynchronous search engine, so it is necessary to reindex your data periodically, so perhaps you need to re-index that 10-20 minutes a time, you can make cronjob for this

execute rails console and ultrasphinx on user model

ruby script/console

@search_user = Ultrasphinx::Search.new(:query => “aditya”)
@search_user.run
@search_user.results

DONE and for your reference, here i put rake command that related to ultrasphinx

rake ultrasphinx:bootstrap = Bootstrap a full Sphinx environment
rake ultrasphinx:configure = Rebuild the configuration file for the first time
rake ultrasphinx:daemon:restart = Restart the search daemon
rake ultrasphinx:daemon:start = Start the search daemon
rake ultrasphinx:daemon:status = Check if the search daemon is running
rake ultrasphinx:daemon:stop = Stop the search daemon
rake ultrasphinx:index = Reindex and rotate all indexes.
rake ultrasphinx:index:delta = Reindex and rotate the delta index.
rake ultrasphinx:index:main = Reindex and rotate the main index.
rake ultrasphinx:index:merge = Merge the delta index into the main index.
rake ultrasphinx:spelling:build # Rebuild the custom spelling dictionary.

Credit :
thank’s to Nikada team for the help

Apr16

Kebetulan saya sedang mencoba masa-masa trial VPS di http://www.daxa.net/ dengan menggunakan sistem operasi Debian 4.0 Ecth, secara default program yang tersedia belum begitu lengkap, paling yang berguna hanya apt-get saja yang digunakan untuk install paket program, sedangkan software sisanya mesti install sendiri (bahkan termasuk gcc pun belum tersedia), awalnya saya coba install Ruby dari repositorynya Debian, namun sayang setelah selesai, Ruby yg ada hanya Versi 1.8.5, sedangkan yang diinginkan oleh saya adalah Versi stable terbaru Ruby 1.8.6 Patch Level 114

so terpaksa deh compile ruby from source, oiya sebelumnya login sebagai root dan jangan lupa update apt-getnya, lihat dibawah ini untuk langkah selengkapnya

apt-get update

download source ruby

wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p114.tar.gz

install library2 yang dibutuhkan untuk kompilasi

apt-get install gcc build-essential

ekstrak ruby tar.gz

tar -xvvf ruby-1.8.6-p114.tar.gz

masuk ke direktory tsb

cd ruby-1.8.6-p114

lalu compile

./configure
make
make install

selesai deh

untuk memastikan apakah ruby telah terinstall ketik ruby -v, setelah itu mari kita install Ruby on Rails dan antek-anteknya :D

download rubygems

wget http://rubyforge.org/frs/download.php/35283/rubygems-1.1.1.tgz

extract lalu install

tar xzf rubygems-1.1.1.tgz
cd rubygems-1.1.1
ruby setup.rb

lalu install library Zlib karena gem membutuhkannya

apt-get install zlib1g-dev

lalu Download dan install ruby-Zlib

wget http://www.blue.sky.or.jp/atelier/ruby/ruby-zlib-0.6.0.tar.gz
tar -xzf ruby-zlib-0.6.0.tar.gz
cd ruby-zlib-0.6.0
ruby extconf.rb
make
make install

setelah itu install rails

gem install rails –include-dependencies

dan sebagai tool pendukung jangan lupa install juga SVN, mysql server dan Mongrel

apt-get install subversion mysql-server
gem install mongrel mongrel_cluster

selesai deh :D