Dari MySQL Ke Algolia Melalui Python

Hari ini saya harus melakukan operasi indexing di Algolia berdasarkan data dari database MySQL yang sudah ada. Saya hanya memiliki akses ke database tersebut tanpa kode program. Saya tidak menemukan tools otomatis untuk melakukan hal ini seperti layaknya Logstash di ELK (Elasticsearch, Logstash, Kibana). Beruntungnya, tidak sulit untuk menulis kode program yang membaca dari database MySQL dan mengirimkannya ke Algolia karena Algolia telah menyediakan libray pendukung di beberapa bahasa pemograman populer. Pertanyaannya adalah saya harus menulis dalam bahasa pemograman apa? Ini pastinya adalah sebuah script CLI dan bukannya aplikasi web; oleh sebab itu saya tidak akan menggunakan bahasa favorit saya: Java. Setelah berpikir sejenak, saya menyadari bahwa satu-satunya bahasa pemograman yang saya kuasai dan tepat untuk CLI adalah Python.

Membatasi Pengguna Yang Mendaftar Melalui Firebase Authentication

Pada sebuah proyek Angular, saya menggunakan Firebase Authentication, tepatnya FirebaseUI, sebagai halaman sign-in dan sign-up. Fitur ini mirip seperti Universal Login di Auth0, hanya saja FirebaseUI di-host pada aplikasi yang sama sementara Universal Login di Auth0 membutuhkan biaya tambahan untuk custom domain. Dengan FirebaseUI, saya mendapatkan halaman berikut ini tanpa banyak menulis kode program:

Mengoptimalkan MySQL untuk integration testing

Pada saat pertama kali bekerja di dunia IT dan mempelajari Oracle Database, saya mendapatkan nasehat: “Tidak ada satu database tunggal yang bekerja dengan baik di semua jenis aplikasi. Untuk itu, database perlu dioptimalkan oleh database administrator.” Sekarang, setelah lebih banyak bekerja di startup, saya jarang sekali menemukan peran database administrator lagi! Hal ini karena startup lebih berfokus pada membuat sebuah aplikasi seminimal mungkin (minimum viable product) dan segala sesuatu yang berada di cloud membuat programmer memiliki pola pikir ‘tinggal pakai saja’.

Kategori: DevOps Tags: MySQL

Tidak Ada Cara Yang Selalu Benar Dalam Membuat Software?

Apakah benar tidak ada cara yang selalu benar dalam membuat aplikasi perangkat lunak? Menghasilkan software yang bekerja bukanlah hal yang susah. Tetapi, tidak mudah untuk mencapai hasil yang ‘benar’: pengguna puas dan ingin merekomendasikannya pada orang lain, developer bahagia dan termotivasi, saham investor terus meningkat! Mungkinkah software yang sukses terjadi karena faktor keberuntungan (selain karena permainan politik dan intimidasi pengguna yang tidak patut ditiru)?

Memakai Docker Compose Untuk AppEngine

Pada suatu hari, saya menulis README.md berisi panduan bagi programmer untuk menjalankan aplikasi yang saya deploy di Google Cloud Platform. Seperti layaknya aplikasi microservices, aplikasi tersebut terdiri atas proyek App Engine dan beberapa modul Cloud Functions. Komunikasi antar service dilakukan melalui Cloud Pub/Sub. Database yang dipakai adalah MySQL dan Cloud Datastore. Terdengar rumit, bukan? Saya perlu memutar otak untuk menulis lebih dari dua paragraf guna menjelaskan langkah-langkah yang dibutuhkan untuk menjalankan aplikasi dari awal. Ini masih belum termasuk peringatan seperti masalah emulator lokal Cloud Functions yang tidak mendukung Node 8 sementara Angular CLI terbaru mewajibkan minimal Node 8. Apakah ada cara yang lebih singkat bagi programmer lain untuk menjalankan aplikasi ini di laptop barunya?

Memakai Mailgun Untuk Custom Domain Email Pribadi

Saya sudah sering menggunakan Mailgun dan Sendgrid untuk mengirim notifikasi email melalui kode program dan menerima reply email dari pengguna untuk diproses aplikasi web yang sedang saya kerjakan. Kali ini, saya tidak akan melakukan hal ‘biasa’ tersebut dengan Mailgun. Kasus kali ini adalah masalah pribadi: saya ingin punya akun email seperti owner@jocki.me yang dibuka melalui Gmail tanpa harus membayar $5 per user per bulan (langganan G Suite).

Kategori: Pemograman Tags: Email

Apa Itu OpenVPN?

Virtual Private Network (VPN) adalah sesuatu yang menghubungkan dua jaringan berbeda melalui jaringan publik (public network) sehingga pengguna seolah-olah berada dalam jaringan yang sama (virtual). Karena data yang dikirim atau diterima dari dua jaringan yang dihubungan harus dikirim melalui public network, VPN memiliki mekanisme untuk mengamankan data. Kini, berkat fitur keamanan tersebut, VPN sering dipakai untuk mencegah penyadapan dan sensor dari pihak ketiga (serangan man in the middle).

Kategori: Network Tags: OpenVPN

Pengalaman Pertama Kali Memakai Visual Studio Code

Walaupun namanya mengandung Visual Studio, Visual Studio Code (VSC) adalah sebuah produk yang berbeda dari Visual Studio. Microsoft Visual Studio adalah sebuah integrated development environment (IDE) populer buatan Microsoft sejak tahun 1997 hingga sekarang. Versi gratis dari Visual Studio adalah Visual Studio Community Edition. Sebelum Community Edition, terdapat juga versi gratis dengan kemampuan terbatas yang disebut Visual Studio Express yang kini sudah tidak dilanjutkan lagi. Lalu, apa itu Visual Studio Code (VSC)?

Kategori: Pemograman Tags: VisualStudioCode