Indonesian Ruby Users Group

Cara Membuat Ruby Console di Browser dengan Gratis

Halo komunitas Ruby Indonesia! Apa kabar? Moga-moga makin rame aja yah! :D

Saya baru selesai membuat tutorial Ruby yang lumayan interaktif. Pada tutorial tersebut, kamu bisa menjalankan kode Ruby dan mengubahnya sesuka hati, kemudian kamu jalankan kodemu sendiri. Biaya buat servernya gratis, dan moga-moga cukup scalable.

Kok bisa? Caranya?

Yang Diperlukan

  1. Sebuah halaman statis yang punya text editor web. Ace dapat diembed sebagai text editor web.
  2. Sebuah server Ruby untuk menerima respons AJAX, menjalankan kode Ruby dan mengembalikan respons HTTP. Framework Sinatra cukup cocok untuk tujuan ini.
    Jika halaman statis berada pada domain (termasuk subdomain dan port) yang berbeda, perlu utak-atik aturan CORS sedikit.
  3. Sebuah server untuk meng-cache hasil evaluasi server Ruby di atas. Tentunya, kita tidak mau server mengevaluasi hal yang sama berulang-ulang.

Nomor 1 gratis kalau pakai Halaman Github. Nomor 2 dan 3 gratis juga kalau pakai Heroku.

Langkah-Langkah

Menyiapkan Halaman Statis:

  1. Buat halaman statis yang memiliki text editor web. Cara termudah adalah dengan mengembed editor Ace. [Kode Demonstrasi]
  2. Taruh tombol untuk kirim permintaan HTTP POST dengan isi kode pada editor melalui AJAX. Saya pakai jQuery di sini. [Kode]
  3. Siapkan kode kamu untuk dihost di GitHub. [Kode Demonstrasi]

Menyiapkan Server Ruby dan Cache:

  1. Sign up akun Heroku, kemudian siapkan server Sinatra di Heroku untuk mengevaluasi kode Ruby. [Kode]
  2. Tambahkan add-on Memcachier gratis. Kamu juga perlu menginstal memcached di komputermu.
  3. Siapkan kode untuk menghandle permintaan POST. [Kode]
  4. Cache hasil evaluasi. Gunakan SHA1 dari snippet sebagai kunci cache. [Kode]
  5. Tambahkan aturan CORS pada header dari respons. [Kode]

Untuk lebih cepatnya, langsung saja host kode ini untuk server Rubynya.


Setelah semuanya selesai, kunjungi halaman statis yang kamu buat dan… Hore! Sekarang kamu bisa membuat tutorial interaktif sendiri dan share ke teman-teman yang ingin belajar Ruby.

Related Articles

blog comments powered by Disqus