Membuat jaringan VPN Menggunakan SoftEther VPN Bagian #1

July 6, 2018 Comments off

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.

Read more…

GitLab CI untuk .NET Developer Bagian #2

September 9, 2017 Comments off

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.

Read more…

GitLab CI untuk .NET Developer Bagian #1

August 30, 2017 Comments off

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.

Read more…

Membuat Service SMS Gateway Untuk Engine Gammu

August 25, 2017 Comments off

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.

Read more…

OpenRetail – Open Source Project for Retail Business

April 13, 2017 Comments off

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 :-).

Read more…

 

Membuat Log Aplikasi Menggunakan Log4Net

January 23, 2017 Comments off

logo-log4netSecara 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.

Read more…

Manajemen Perubahan Struktur Database Menggunakan Liquibase

January 18, 2017 Comments off

logo-lbDalam 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:

Read more…

Build Otomatis Project Visual Basic 6 Menggunakan Jenkins

December 27, 2016 Comments off

continuous integrationMas kalo di tempat saya masih menggunakan tool jadul seperti Visual Basic 6 untuk pengembangan aplikasinya, apakah masih bisa menggunakan Jenkins sebagai software CInya ? Jawabannya bisa, walaupun secara plugin, di Jenkins belum ada plugin khusus untuk keperluan “build otomatis project Visual Basic 6” seperti halnya di .NET yang sudah tersedia plugin MSBuild. Sebagai solusinya kita bisa menggunakan skrip psake yang ditulis menggunakan bahasa PowerShell. Kalo masih bingung dengan skrip psake, skrip ini mirip dengan skrip rake yang dibuat menggunakan bahasa Ruby.

Read more…

Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #4

December 14, 2016 Comments off

continuous integrationMasih membahas tentang manfaat dari Server CI (Continuous Integration) untuk kemudahan dalam melakukan proses build dan deploy secara terpusat. Jika dipostingan sebelumnya saya menggunakan contoh aplikasi desktop maka kali ini kita akan membahas proses build dan deploy untuk aplikasi berbasis web seperti ASP.NET, ASP.NET MVC dan ASP.NET WEB API.

Read more…

Membangun Server CI (Continuous Integration) di Windows untuk Platform .NET Menggunakan Jenkins Bagian #3

November 7, 2016 Comments off

continuous integrationMelanjutkan pembahasan tentang Server CI (Continuous Integration). Kita sudah berhasil membuat project/job untuk melakukan proses build dan deploy secara otomatis dan terpusat di satu server. Hanya saja, ada sedikit yang kurang yaitu project/job ini harus kita jalankan/eksekusi secara manual setelah proses push source code ke server repository kita lakukan, dan tentunya akan sangat merepotkan jika harus bolak-balik mengeksekusi project/job setiap selesai melakukan proses push.

Read more…