May07

We all know, Action Web Service (aws) no longer included in Rails 2, this makes me little bit frustation to integrate latest aws (1.2.6) to rails 2, that gems always make rails broken and raise error like this when we start the server

/usr/lib/ruby/gems/1.8/rubygems.rb:142:in `activate’: can’t activate actionpack (= 1.13.6, runtime), already activated actionpack-2.2.2 (Gem::Exception)

However, how fortunate me, Achmad Gozali, friend of mine in id-ruby suggested to used this modified aws in github and finally after i tried, my installation was succeed, so here the step

add github to your gem sources

gem sources -a http://gems.github.com/

install datanoise-actionwebservice gems, i use rails 2.2.2, so i should install datanoise-actionwebservice version 2.2.2 as well

gem install datanoise-actionwebservice -v=’2.2.2′

add this line to your config/environtment.rb (inside “Rails::Initializer.run do |config|” block)

config.gem ‘datanoise-actionwebservice’, :lib => ‘actionwebservice’, :version => ‘2.2.2′

try to start your web server, if it isn’t broken, that means your gems was successfully installed

ruby script/start

also you can make the basic code through generation

[aditya@aditya trunk]$ ruby script/generate web_service blabla
exists app/services/
exists app/controllers/
exists test/functional/
create app/services/blabla_api.rb
create app/controllers/blabla_controller.rb
create test/functional/blabla_api_test.rb

credit : thanks to Datanoise guys out there and Achmad Gozali of id-ruby to make this happen

May01

Skenarionya begini, katakanlah kita mempunyai 3 tabel, sellers, products dan orders, relasi antar tabelnya di definisikan di setiap model sebagai berikut :

file : app/models/seller.rb
	
class Seller < ActiveRecord::Base
  has_many :products
end
	
file : app/models/product.rb
	
class Product < ActiveRecord::Base
   belongs_to :seller
   has_many :orders
end
	
file : app/models/order.rb
	
class Order < ActiveRecord::Base
   belongs_to :product
end

nah suatu saat, kita ingin menampilkan data-data pesanan beserta nama penjualnya, di controller kita definisikan seperti ini :

Klik di sini kalau masih penasaran …

Apr02

Hal-hal di bawah ini adalah cara saya mempraktekan DRY (don’t repeat yourself) di Ruby on Rails

  • pertama, pertimbangkan untuk menyimpan kode di model
  • kedua, pertimbangkan lagi untuk menyimpan kode di model
  • ketiga, pertimbangkan lagi untuk menyimpan kode di model
  • kelima, kalo benar-benar nggak bisa, pertimbangkan tuk disimpan sebagai render partial
  • keenam, kalo gak bisa dijadikan render partial pertimbangkan tuk disimpen di helper
  • ketujuh, kalo nggak bisa disimpan di helper silahkan simpan di controller

Tambahan, ada 2 hal lagi tempat penyimpanan kode yang khusus di Ruby on Rails, di lib dan vendor directory, jika anda ingin membuat fungsi spesifik yang bisa tersedia di semua model atau controller atau view, anda bisa membuat module atau class dibawah directory lib, nah module atau class ini nantinya bisa anda include-kan di Controller, Model atau Helper sesuai dengan keinginan anda

Dan bilamana anda merasa lib tersebut layak dipublikasikan kepada umum, anda juga bisa mendistribusikannya sebagai ruby on rails plugin atau rubygem yang nantinya bisa disimpan di directory vendor

Jadi, begitulah cara saya mempraktekan konsep DRY secara praktis, tentang teorinya dan mengapa harus begitu silahkan cari saja artikelnya banyak bertebaran di internet

Feb20

tulisan kali ini sebetulnya adalah ulangan dari tulisan ini, hanya kali ini disajikan dalam bentuk FAQ (Frequently Ask Question)

T : apa itu telecommuting ?
J : bekerja secara jarak jauh, dimana pemberi pekerjaan dan penerima pekerjaan berada di tempat yang terpisah, ini bisa terjadi dengan memanfaatkan teknologi komunikasi dan internet

T : kerja apa saja yang bisa di-telecommuting kan ?
J : hampir semua pekerjaan, terutama yg bisa diselesaikan melalui komputer, contoh : programmer, graphic designer, server administrator, EDP, accountant, writer, drafter, blogger dll

T : hal-hal apa sajakah yang perlu dipersiapkan untuk memulai kerja telecommuting
J : pertama koneksi internet yg stabil, ingat sekali lagi bukan cepat… tapi STABIL, buat apa cepat tapi sering mati, pengalaman saya 256 kbps itu udah cukup untuk kerja telecommuting, itupun dipakainya berdua, kedua komputer tentu saja, ketiga secangkir kopi ginseng :D

T : bagaimana cara mendapatkan kerja telecommuting ?
J : kirim CV secara biasa (bisa lewat email) ke perusahaan-perusahaan yg tidak mewajibkan pekerjanya bekerja secara onsite, terutama kirim ke perusahaan negara maju seperti USA ataupun negara2 Eropa barat, di sana telecommuting sudah lumrah, di indonesia juga sebetulnya ada beberapa perusahaan yg seperti ini cuma saya pikir belum banyak ada

Klik di sini kalau masih penasaran …

Jan08

Bagi anda pecinta Fedora, mungkin telah mengetahui bahwa Fedora 10 telah mengikutsertakan Amarok yang terbaru, yaitu versi 2, namun sayangnya menurut pengalaman saya, Amarok 2 ini banyak kekuranganya, GUI -nya sama sekali baru dan celakanya sangat tidak user friendly, layoutnya juga sangat jelek, alhasil saya kesulitan mengoperasikannya

Sejak kenal fedora (dari versi 6), saya selalu memakai amarok untuk memainkan musik, fiturnya cukup lengkap dan yang paling saya suka adalah fitur liriknya, namun karena terlanjur kecewa, akhirnya saya pindah ke software pemutar musik lain, saya pun mencoba Audacious dan Rythimbox, namun setelah beberapa hari mencoba, saya tetap kurang puas dan sempat punya pemikiran untuk downgrade Fedoranya ke versi 9 yang ada Amarok 1.4, namun ditengah-tengah hal tersebut, saya tiba-tiba ingat, kenapa gak coba saja tanya ke canmasagi yang boleh dikatakan beliau adalah seorang Master Fedora, setelah chit-chat sana-sini beliau juga ternyata nggak suka dengan Amarok 2 dan menyarankan saya untuk downgrade amarok ke versi 1.4

Berdasarkan “petuah” darinya, beginilah langkah-langkah untuk downgrade Amarok 2.0 ke versi 1.4

Klik di sini kalau masih penasaran …