Oke, hari ini saya ingin melanjutkan pembahasan postingan saya sebelumnya tentang penyimpanan konfigurasi aplikasi secara terpusat menggunakan consul. Jika pada postingan sebelumnya fokus pembahasan pada instalasi kemudian dilanjutkan dengan demo cara mengakses data yang tersimpan pada key-value store
menggunakan salah satu tool REST Client favorit saya yaitu Postman, maka fokus pembahasan kali ini adalah bagaimana cara mengakses data key-value store
menggunakan bahasa pemrograman Visual Basic 6 dan C# (.NET).
Solusi Mengakses Database Lokal (IP Private) Secara Online
Salah satu tantangan bagi software developer untuk aplikasi bisnis berbasis desktop adalah ketika klien meminta untuk mengonlinekan database mereka. Karena memang rata-rata aplikasi desktop hanya digunakan untuk keperluan internal kantor/perusahaan.
Biasanya ada beberapa solusi yang bisa kita tawarkan, ketika klien menginginkan database lokal mereka (ip private) bisa diakses secara online, seperti:
Menyimpan Konfigurasi Aplikasi Secara Terpusat Menggunakan Consul Key-Value Store Bagian #1
Cara apa yang biasa Anda gunakan untuk menyimpan konfigurasi aplikasi? Biasanya ada beberapa pilihan seperti menyimpan dalam format text (INI, XML, JSON), database atau langsung di hardcode di dalam kode program. Nah cara terakhir adalah yang paling ekstrim, jika terjadi perubahan konfigurasi aplikasi berarti kita harus merubah kode program dan melakukan kompilasi ulang :-D.
Membuat Jaringan VPN Menggunakan SoftEther VPN Bagian #1
Salah satu tantangan bagi kita, pengembang software untuk aplikasi bisnis berbasis desktop adalah ketika klien kita bertanya “Mas, databasenya kalau di taruh di server saja bisa ya? Jadi bisa di akses dari mana saja, soalnya butuh juga akses dari luar”, sedangkan kondisi database server mereka hanya mempunyai ip private
. Solusi paling cepat dan murah (gratis) yang mungkin bisa kita tawarkan adalah dengan menggunakan software VPN. Ada banyak pilihan software VPN, mulai dari instalasinya yang gampang seperti Hamachi dan ZeroTier One atau yang sedikit lebih ribet tapi menawarkan segudang fitur yang wah seperti SoftEther VPN.
GitLab CI Untuk .NET Developer Bagian #2
Melanjutkan pembahasan tentang Continuous Integration menggunakan GitLab CI. Di postingan sebelumnya kita sudah melakukan konfigurasi GitLab CI dengan menambahkan file .gitlab-ci.yml.
Di konfigurasi awal ini kita sudah menambahkan dua job yang bertugas untuk merestore paket nuget dan melakukan proses build. Berikutnya kita akan menambahkan satu job lagi yang bertugas untuk membuat paket instalasi menggunakan Inno Setup jika job pertama dan kedua berhasil dijalankan. Nah dengan menggunakan CI semua proses ini bisa dilakukan secara otomatis dan terpusat, sehingga kita mempunyai histori hasil build dari waktu ke waktu. Jadi untuk mencari file setup/paket installer terakhir enggak usah lagi nanya ke developer karena bisa langsung kita download dari server CI-nya.
GitLab CI Untuk .NET Developer Bagian #1
Sudah hampir setahun saya menggunakan Jenkins sebagai tool/software CI Continuous Integration. Ada banyak manfaat yang saya rasakan terutama untuk mengurangi pekerjaan-pekerjaan sepele
tapi berulang
seperti pembuatan paket instalasi, upload updatean terbaru ke server atau deploy web api/service ke server development atau production. Dengan menggunakan software CI(Continuous Integration) seperti Jenkins pekerjaan-pekerjaan membosankan tersebut bisa dilakukan hanya dengan mengklik satu tombol atau bisa juga dibuat otomatis ketika kita mem-push perubahan source code ke repository git. Waktu yang dibutuhkan juga biasanya tidak lama sekitar 1-3 menit, ya tergantung besar atau kecilnya project yang akan dibuild/deploy.
Membuat Service SMS Gateway Untuk Engine Gammu
Pasti udah pada tau kan apa itu Gammu ? Klo enggak ya keterlaluan he he. Itu loh engine yang biasa digunakan untuk mengirim dan menerima sms dan biasanya sering digunakan untuk membuat sms gateway.
Di postingan ini saya tidak akan membahas bagaimana cara instalasi Gammu, konfigurasi dan database yang digunakan. Jadi saya mengasumsikan bahwa service Gammu Anda (GammuSMSD) sudah berjalan dengan baik, dengan kata lain jika ada sms masuk ke nomor yang Anda gunakan sebagai sms center, maka service Gammu otomatis akan meng-INSERT-kan sms tersebut ke tabel inbox.
OpenRetail - Open Source Project for Retail Business
Apa itu OpenRetail?
OpenRetail adalah software open source khusus untuk bidang usaha ritel, grosir, mini market, toko bangunan, toko komputer, toko buku dan bidang usaha lainnya yang sejenis.
Saat ini pilihan software untuk usaha retil memang banyak ditambah lagi harga yang bervariasi mulai dari ratusan hingga jutaan rupiah. Tapi untuk software yang gratis, open source dan berkualitas mungkin OpenRetail adalah solusinya :-).
Membuat Log Aplikasi Menggunakan Log4Net
Secara teknis kita memang tidak bisa membuat aplikasi yang 100% bebas dari bug. Seberapa keraspun kita mencoba pasti aplikasi yang kita buat ada bugnya. Di sisi lain user adalah tester terbaik yang pernah ada :-D. Mereka bisa melakukan hal-hal luar biasa di luar perkiraan dan skenario kita yang bisa menyebabkan error, sayangnya user biasanya kurang bisa menjelaskan dengan baik apa yang menyebabkan error. Yang jelas, kita tidak dapat memperbaiki bug sampai kita tahu penyebabnya.
Manajemen Perubahan Struktur Database Menggunakan Liquibase
Dalam pembuatan aplikasi perubahan struktur/schema database merupakan hal yang wajar, baik pada fase development maupun setelah masuk ke fase implementasi (production/live). Ada banyak alasan kenapa kita perlu melakukan perubahan struktur database, contoh: