Langsung ke konten utama

Postingan

Metode append, makeVisible, makeHidden dalam Pagination

Dalam Laravel, kita bisa menyematkan atau merubah atribut dalam model melalui metode append, makeVisible, dan makeHidden. Tapi masalahnya metode itu berfungsi dalam sebuah model. Untuk koleksi (collection) beberapa model, kita bisa melakukannya dengan metode each. Tapi bagaimana dengan sebuah objek Pagination? Pada objek Pagination, gunakan metode getCollection dan setCollection. Metode ini tidak ditampilkan dalam dokumentasi Pagination , tapi ada dalam class AbstractPagination . Contoh: $items = Item::paginate() $items->setCollection($items->getCollection()->each(function($item) { $item->append(['atribut_a', 'atribut_b']); })) Jadi kita tidak perlu khawatir tidak bisa merubah model-model dalam paginasi.

Troubleshooting: PHPStorm Tidak Dapat Terhubung Ke Database (MySQL)

PHPStorm memiliki fitur untuk dapat terhubung dengan berbagai macam tipe database, salah satunya MySQL. Tapi di beberapa versi terbaru, PHPStorm tidak dapat terhubung dengan database dan tidak memberikan pesan error berarti. Biasanya, ini karena sistem berada di zona waktu yang tidak standar, misal menggunakan WIB di wilayah indonesia. Untuk itu, kita perlu mengubah sebuah pengaturan sebelum terhubung. Pada dialog Data Sources and Drivers, setelah mengisi kolom host, username, password, dan nama database, masuk ke tab advance, dan cari pengaturan "timezone", isi nilainya dengan "Asia/Jakarta" atau "Asia/Makassar" atau "Asia/Jayapura" sesuai dengan lokasi anda berada saat ini.

Android Dev Troubleshoot: Warna Tema Tidak Berubah?

Tema tidak berubah di modul aplikasi? Saat membuat modul aplikasi baru dan menggunakan modul :core untuk menyimpan semua resource mulai dari string, styles, dsb, jangan lupa untuk menghapus colors.xml dan styles.xml dari modul aplikasi, karena sistem akan menimpa perubahan dari :core untuk menggunakan nilai dari colors dan value. Ini berlaku untuk hal lain seperti app_name yang akan menimpa nama dari App.

Android: Menghubungkan ke Localhost

Untuk menghubungkan project android untuk menggunakan API dari localhost. Dalam setup berikut, ada hal yang perlu diperhatikan: API server dihost di localhost:8000 (laravel, dsb) Ini hanya berlaku untuk emulator android bukan perangkat android (HP, tablet, dll). Emulator android terhubung dengan host melalui IP 10.0.2.2. Jika tidak bisa menggunakan emulator, bisa menggunakan fitur Google Chrome. Artikel bisa dibaca di  https://developers.google.com/web/tools/chrome-devtools/remote-debugging/local-server

Variabel ENV Custom untuk Project Vue

Masalah: Bagaimana caranya menambahkan URL API ke dalam project Vue.js? Ketika berhadapan dengan sebuah nilai yang akan digunakan dalam project dan tidak ingin mengotori source code, contohnya variabel URL untuk API, kita menggunakan domain berbeda dalam development dan production (misal http://localhost:7000 untuk development, dan https://example.com untuk production). Solusi: Kita bisa menggunakan ENV / file .env. Cukup tambahkan .env di root project. Lalu tambahkan nilai apapun di dalamnya, tapi dengan syarat selalu didahului oleh VUE_APP_* pada nama variablenya. Contoh untuk API_URL, kita bisa menggunakan VUE_APP_API_URL. Lalu pada file yang membutuhkan variable ini, untuk bisa mendapatkan nilainya, ambil dengan metode process.env.VUE_APP_NAMAVAR . Troubleshooting Jika variable tidak bekerja atau menghasilkan null/undefined, restart server terlebih dahulu (npm run serve).

Vue: Mengatasi peringatan: You are using the runtime-only build of Vue where the template compiler is not available

Ini adalah error yang terjadi karena Vue memiliki beberapa versi: Runtime saja (untuk menjalankan Vue.js) dan Runtime+Template compiler (untuk menjalankan vue.js + mengkompilasi file template .vue). Untuk lebih lengkapnya kenapa ini terjadi, lihat  https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only Untuk mengatasinya, tambahkan file "vue.config.js" jika belum ada di root project anda. Masukkan kode berikut: module .exports = { runtimeCompiler: true } Mulai lagi npm run serve setelah kode dimasukkan.

Android Modular

Keuntungan modularisasi Kode bisa dishare ke project lain (helpers, dll) Modul `:core` Modul `:core` biasanya diinclude sebagai dependency oleh modul lain. Modul `:core` berisi dependency yang dibutuhkan oleh modul lain misal: `Retrofit`, `Gson`. Struktur `:core` inti dari app `:features` `:feature-a` fitur A activity A1 activity A2 layout AndroidManifest `:feature-b` fitur B `:helpers` kumpulan helpers yang bisa dishare ke project lain `:models` semua model `:api` data repository / Rest API Referensi  Modul `:core` : https://medium.com/mindorks/writing-a-modular-project-on-android-304f3b09cb37 .     Catatan: artikel ini memiliki struktur dimana model berada di dalam satu modul.