Expand Treeview Eclipse di Elementary OS

Cewek itu gak suka dibanding-bandingin sama cewek lainnya di depan dia, dan begitu juga sebaliknya berlaku sama kepada cowok. Nah, saya gak tau apakah si Eclipse suka dibanding-bandingin sama Netbeans. Garing.

Ada duri kecil yang bikin accessibility saat ngoding kurang asyik. Di Project Structure Eclipse, biasanya ada informasi project dalam bentuk treeview, berisi informasi nama project, package, folder, class dan sebagainya. Mirip dengan Netbeans, kalau saya tekan arrow (⇒ atau ⇐) otomatis package/project akan expand/collapse. Hal demikian tidak terjadi di Eclipse, di Linux saya (Elementary OS). Padahal di Windows (laptop kantor) bisa. Read More

Eclipse Startup Lelet?

Eclipse IDE itu bagus banget loh. Meskipun saya seringnya pakai Netbeans.

Baru-baru ini saya dapat kesulitan buka IDE Eclipse di Elementary OS saya. Waktu buka Eclipse jalannya lemot banget, sampai-sampai OS ikutan lemot juga. Setelah browsing, dapatlah tips ini:

  • Tambahkan line ini di akhir file .profile. Ada baiknya file .profile di-backup dulu.

  • Tambahkan line ini di file eclipse.ini. File eclipse.ini bisa ditemukan di direktori instalasi Eclipse. Line berikut ditambahkan sebelum line –launcher.appendVmargs.

  • Masih di file eclipse.ini, ubah value -Xms256m jadi -Xms1024m.
  • Logout, biar perubahan di file .profile tadi bisa applied.

 

Referensi saya dapat dari sini:

https://askubuntu.com/questions/760302/eclipse-neon-mars-is-very-slow-hangs-on-a-fresh-16-04-install-and-upgrade

Kalau dibaca linknya, saya nggak ikutin accepted answer, karena kurang lengkap. Jadinya saya ikut jawaban dari om Nitin Kale.

Nah, sekian. Semoga post ini bisa membantu kalian-kalian yang Eclipse-nya lemot kayak Gary-nya Spongebob.

Pengalaman Pertama Deploy Apps ke Heroku

Hola!

Jadi setelah bikin aplikasi di local atau development environment, tiba masanya untuk deploy aplikasinya ke environment production. Berhubung ini buat belajar alias testing, kudu hemat dulu, haha. Akhirnya saya mencoba melakukan deployment aplikasi Spring Boot ke platform Heroku. Dan ternyata cukup ribet buat noob seperti saya. Jadi post ini sebenarnya post curhat aja tentang bagaimana pengalaman saya melakukan deploy ke platform ini. However, Heroku is a incredible platform! Read More

Penggunaan @RequestMapping, @RequestParam dan @PathVariable – Part 1

Masih tentang Spring Boot. Yang mau saya tulis kali ini adalah hal yang sering sekali saya lupa penggunaannya. Jadi lebih baik ditulis biar nanti kalo dicari lagi gampang.

Setiap web pasti punya handler terhadap request yang datang, handler itu yang nanti menentukan response seperti apa yang akan diberikan. User yang mengakses web pasti melalui URL. Di Spring Boot ada beberapa annotation yang berguna untuk handler request ini dan juga pengiriman data-nya. Annotation tersebut adalah: @RequestMapping. @RequestParam dan @PathVariable. Apa fungsinya dan bagaimana penggunaannya? Read More

Spring Boot dan Thymeleaf

Jadi, akhirnya saya nulis lagi di blog ini setelah vakum sejak September (sok sibuk banget). Saya memutuskan mau nulis hasil belajar dan belajar in progress, alias BIP-saya (halah, apapula ini). Daripada lewat-lewat begitu saja, sekalian show off kalo saya belajar juga :p

Oke, basa-basi-nya garing. Jadi saya memutuskan buat nulis serial belajar Spring Boot saya. Sebenarnya sebelum ini sudah ada 1 post tentang Spring Boot dan Spring Data JPA. Jadi akan saya lanjutkan, ke Spring Boot dan Thymeleaf. Read More

Spring Boot dan Spring Data JPA

Banyak debu, maklum jarang diisi nih blog. 😀

Well, kali ini saya mau share tentang Spring Boot dan Spring Data JPA. Sebenarnya lebih ke Spring JPA-nya. Fokusnya adalah bagaimana menggunakan Spring Data JPA untuk optimasi CRUD, jadi tidak perlu buang-buang waktu untuk bikin query CRUD dasar seperti misalnya: simpan data, select atau get data, select data dengan id tertentu, atau update dan hapus data. Semua jadi lebih mudah menggunakan Spring Data JPA. Read More

Reset Password ROOT MySQL

Setelah install ulang laptop, ganti ke ElementaryOS, saya melakukan kebiasaan setelah install OS, yaitu install aplikasi-aplikasi pendukung kebutuhan saya seperti install JDK, editor untuk ngoding dan aplikasi-aplikasi server seperti MySQL, Apache.

Masalah muncul ketika saya lupa apa password untuk MySQL saya (muehehe). Padahal seingat saya MySQL saya config tanpa password (ini tidak disarankan).

Jadilah saya googling cara untuk reset password untuk user root. Dan dapat. Seperti ini step-stepnya.

  1. Stop service MySQL dulu. Bisa dengan ketik mysql service stop atau /etc/init.d/mysql stop.
  2. Lalu masuk ke MySQL via safe mode. Ketik: mysqld_safe –skip-grant-tables.
  3. use mysql
  4. Update password MySQL untuk user root. Ketik sintaks ini: update user set authentication_string=PASSWORD(“”) where User=”root”;
  5. flush privileges;
  6. Quit dari MySQL.

Harap dicatat, versi MySQL yang saya gunakan adalah versi 5.7.18.

Setelah menjalankan step pertama, saya dapat error seperti ini kira-kira:

mysqld_safe Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists

Cara solve-nya, jalankan command ini:

Sekian.

Java Swing, Animasi Loading dan Background Process

Dalam pembuatan aplikasi, salah satu tips UI/UX yang baik adalah membuat animasi loading pada saat proses load/memuat data, khususnya ketika memuat data yang lumayan besar dari database atau resource lain. Ini dimaksudkan supaya memberikan informasi kepada end-user kalau aplikasi sedang me-load data yang prosesnya berjalan di background. Jangan sampai user mengira kalau aplikasi hang atau kesurupan, hehe.

Kali ini saya akan mencoba membuat simulasi animasi loading pada Java Swing. Untuk ini kita membutuhkan resource data yang cukup besar, file gambar untuk animasi loading-nya, dan sedikit bantuan dari class SwingWorker.

Untuk resource data, saya gunakan dataset free dari MySQL, database employees. Silakan googling.

Untuk gambar animasi loading, saya generate dari http://www.ajaxload.info/.

Untuk get data silahkan buat sendiri, crud database seperti biasanya. Data dari table employees ada sekitar 300.000 record.

Kita skip langsung ke coding di Frame-nya untuk menampilkan aksi loading. Pertama deklarasi object JDialog untuk jendela animasinya.

Buat method createDialogLoading untuk aktivasi dialog animasi.

Lalu di component trigger-nya tambahkan action berikut.

Untuk kode lengkapnya bisa dilihat di repo yang saya buat di Github. Sementara hanya bisa untuk action Limit Data.

Sekian.

 

Java Swing: Underline JLabel

Assalamualaikum.

Singkat saja, saya sedang mencari cara bagaimana membuat text bergaris bawah atau underline pada JLabel. Dan lagi-lagi StackOverflow save my day.

Cukup gunakan method setText() dan isi value-nya, bungkus dengan tag html dan tag u, seperti ini kira-kira: