4 poin oleh xguru 2024-12-26 | 1 komentar | Bagikan ke WhatsApp
  • JRuby adalah teknologi yang menggabungkan produktivitas Ruby dan performa JVM, dan JBang menyediakan manajemen dependensi serta lingkungan eksekusi yang sederhana
    • Menggabungkan dua alat ini memungkinkan penggunaan terintegrasi dari library Ruby dan Java
    • JBang: alat untuk menjalankan program Java/Kotlin/Groovy dengan mudah dan mengelola dependensi
    • JRuby: implementasi Ruby yang berjalan di atas JVM, menggabungkan produktivitas Ruby dengan performa JVM
  • Dalam pengelolaan dependensi yang dibutuhkan untuk menggunakan library Java di JRuby (seperti Gradle/Maven), prosesnya rumit dan menyulitkan
    • Menggunakan JBang untuk menyederhanakan pengelolaan dependensi dan mencoba cara menjalankan skrip JRuby
  • Pengaturan lingkungan berbasis Docker
    • Menggunakan image Docker berbasis Amazon Corretto (JDK)
    • Mengunduh serta memasang JRuby dan JBang lalu menambahkannya ke PATH
    • Memasukkan Ruby Gem dan library Java melalui Dockerfile
  • Menulis RunJRuby.java sederhana: mengelola dependensi Java dengan JBang dan menjalankan skrip JRuby
    • Menyiapkan lingkungan eksekusi JRuby dengan ProcessBuilder
    • Meneruskan dependensi Java ke JRuby melalui pengaturan CLASSPATH
  • Membangun REST API dengan Javalin (framework web berbasis Java) bersama JRuby
    • Menambahkan autentikasi JWT dan mengintegrasikan dengan SQLite DB untuk membangun API CRUD
    • Java digunakan untuk pustaka berperforma tinggi seperti HTTP dan operasi DB, sedangkan Ruby untuk memproses logika bisnis
  • Hasil pengujian performa
    • Menjalankan pengujian waktu respons untuk 1.500 permintaan (25 permintaan bersamaan) menggunakan alat Apache Benchmark (ab)
    • Hasil: 95% permintaan diproses dalam waktu kurang dari 10ms
    • Menggunakan versi terbaru Javalin dan Virtual Threads untuk performa tinggi
  • Menggabungkan keunggulan Ruby dan Java untuk memenuhi produktivitas dan performa sekaligus
  • Lihat GitHub Repo: jbang-jruby-javalin

1 komentar

 
clickin 2024-12-26

Java+Groovy: Memory leak yang fatal
JVM di atasnya, saat mengeksekusi skrip pada kondisi tertentu saya pernah melihat kasus terjadinya memory leak, dan sekarang penasaran bagaimana dengan JRuby