Navigation

Thursday, February 25, 2010

ActiveRecord::RecordNotSaved

Saat melakukan callback before_* atau after_* hal yang perlu diperhatikan adalah baris yang terakhir. Misal,
class MyModel < ActiveRecord::Base
  before_save :assign_foo

private
  def assign_foo
    self.foo = false
  end
end

Wednesday, February 24, 2010

Unlearn Your MBA

David Heineimeier Hansson yang merupakan pembuat Ruby on Rails tidak hanya handal dalam hal coding, tetapi juga dalam hal berbicara. Ada kata-kata yang sangat menarik dalam saat dia berbicara di universitas Stanford, yaitu
planning is guessing, and for a start-up, the focus must be on today and not on tomorrow. Constraints--fiscal, temporal, or otherwise--drive innovation and effective problem-solving.
Untuk lengkapnya, dapat simak video yang berjudul "Unlearn Your MBA" dan berdurasi 58 menit berikut ini.





Tuesday, February 23, 2010

Array Pada Ruby

Kemudahan pemrosesan array pada Ruby merupakan salah satu kelebihan bahasa pemrograman Ruby. Untuk informasi lebih lanjut mengenai array bisa dilihat di http://ruby-doc.org
#!/usr/bin/env ruby

# Set Intersection
my_a = [ 1, 1, 5, 3 ] & [ 1, 3, 7 ]
p my_a #=> [ 1, 3 ]

# penggabungan array / Concatenation
b = [ 1, 2, 3 ] + [ 4, 5 ]
p my_b #=> [ 1, 2, 3, 4, 5 ]

# Array Difference
my_c = [ 1, 1, 2, 2, 3, 4, 4, 5 ] - [ 1, 2, 3 ]
p my_c #=>  [ 4, 4, 5 ]

# Himpunan / Set Union
my_d = [ "a", "b", "c" ] | [ "c", "d", "a" ] 
p my_d #=> [ "a", "b", "c", "d" ]

# Menambahkan elemen ke dalam array / append element
my_array = [ 1, 2 ]
my_array << "c"
my_array << "d"
my_array << [ 3, 4 ]
my_array << 7 << 8
p my_array #=>[1, 2, "c", "d", [3, 4], 7, 8]



Wednesday, February 17, 2010

Interview Dengan David Heinemeier Hansson

Tanggal 16 Februari 2010, The Geek Talk melakukan interview dengan David Heinemeier Hansson yang merupakan pembuat dari framework Ruby on Rails. Di interview tersebut juga disebutkan jawaban mengapa ia memilih bahasa pemrograman Ruby dan hal-hal yang bersifat pribadi seperti sistem operasi serta aplikasi apa saja yang merupakan favoritnya. Silakan kunjungi The Geek Talk untuk interview selengkapnya.




Monday, February 15, 2010

Special Notes pada Komentar Kode Rails

Artikel ini bersumber dari rubyquicktips, dimana menjelaskan bahwa dalam memberikan komentar pada kode Rails, bisa dibuat special notes seperti TODO, FIXME, dan OPTIMIZE. Misal:
class Author < ActiveRecord::Base
  # TODO add name validaton
  # FIXME method A is not working
  # OPTIMIZE improve method B 

  has_many :articles
  ....
end
Untuk melihat seluruh special notes ini, jalankan perintah:
$ rake notes
Untuk melihat seluruh TODO.
$ rake notes:todo
Untuk melihat seluruh FIXME.
$ rake notes:fixme
Untuk melihat seluruh OPTIMIZE.
$ rake notes:optimize

Wednesday, February 10, 2010

SQL Injection

Artikel ini merupakan artikel translasi dari ASCIIcasts pada episode 25 tentang SQL Injection dan telah dijinkan untuk dipublikasikan di blog ini. Jika terdapat kesalahan kata, silakan koreksi melalui form komentar.

Did you really name your son Robert'); DROP TABLE Students; --? - XKCD No. 327

Dalam beberapa episode, kita akan membahas mengenai keamanan dan pengamanan situs anda dari serangan hacker. Salah satu aturan utama dari security adalah jangan pernah percaya pada input dari seorang user. Dalam Rails, hal ini berarti memperhatikan seluruh item dalam hash params. User dapat mengontrol baik key maupun value dari hash params, sehingga seluruh input harus diwaspadai. Hal tersebut juga berlaku untuk hash cookies, dimana user dapat mengatur apa yang ada di dalamnya. Sebaliknya, hash session adalah satu-satunya yang berada di sisi server, sehingga dapat dipercaya nilai yang ada pada hash session.

Saturday, February 6, 2010

Railsplugins.org

Seperti yang telah diketahui, Rails 3 banyak mengalami perubahan, termasuk API yang baru yang lebih baik, cepat, dan kuat. Namun hal tersebut akan membuat kemungkinan banyak plugin serta gem yang ada pada saat ini tidak dapat digunakan. Oleh sebab itulah dibuat railsplugins.org. Situs tersebut bertujuan untuk mencari serta melakukan verifikasi plugin dan gem apa saja yang bekerja dengan Rails 3. Sebagai pengguna gem atau plugin, situs tersebut dapat membantu author dari plugin atau gem untuk mengetahui bahwa plugin atau gem yang dibuat olehnya tidak dapat bekerja. Begitu juga sebaliknya, Sebagai author plugin atau gem, situs tersebut akan membantu apakah plugin atau gem yang kita buat telah siap untuk Rails 3.



Friday, February 5, 2010

Rails 3.0 Beta Dirilis

Hari ini Rails 3.0 Beta / Pre-Release resmi dirilis. Namun sayangnya, selain tidak dapat berjalan pada Ruby 1.8.6 dan hanya dapat berjalan pada Ruby 1.8.7 dan 1.9.2, untuk melakukan instalasi cukup banyak hal-hal yang harus dilakukan secara manual karena RubyGems tidak memberikan support ke gem yang bersifat pre-release. Berikut ini adalah langkah-langkah yang perlu dilakukan untuk melakukan instalasi Rails 3.0 Beta.

Wednesday, February 3, 2010

Ruby on Rails 3.0 Release Notes

Rails 3 tidak lama lagi akan dirilis dan pada Rails 3 akan terdapat banyak perubahan seperti penambahan fitur-fitur baru dan akan terdapat banyak API yang deprecated dimana API deprecated tersebut akan dihilangkan sepenuhnya pada versi Rails 3.1.

Tutorial Deploy Rails di Heroku

Heroku merupakan situs yang menyediakan cloud service untuk melakukan deploy aplikasi yang menggunakan bahasa Ruby. Berhubung tutorial yang bagaimana melakukan deploy cukup membingungkan bagi pemula, untuk itulah artikel ini dibuat. Berikut ini adalah tutorial langkah-langkah yang digunakan untuk melakukan deployment Ruby on Rails pada http://kuntoaji.heroku.com setelah melakukan sign up.