Basic Concept and Benefit of Api Gateway
English Version: For English version of this article, please visit: dev.to Photo by Javier Allegue Barros on Unsplash API Gateway adalah komponen penting dalam arsitektur perangkat lunak modern, terutama dalam sistem yang mengimplementasikan microservices. API Gateway bertindak sebagai gerbang utama untuk menerima semua permintaan API yang masuk. Dengan peran ini, API Gateway menyederhanakan manajemen API dan meningkatkan kinerja dan keamanan sistem secara keseluruhan. ...
Connection Pool in Backend Development Basic Concept Benefits and Implementation
English Version: For English version of this article, please visit: dev.to Photo by Christine Tutunjian on Unsplash Connection Pooling adalah mekanisme yang menciptakan dan mengelola kumpulan koneksi database yang dapat digunakan oleh aplikasi. Konsep ini penting dalam mengelola koneksi ke database dengan tujuan mengoptimalkan penggunaan sumber daya dan meningkatkan performa aplikasi yang sering berinteraksi dengan database. ...
Mastering Enum in Golang
English Version: For English version of this article, please visit: dev.to Gambar oleh Hans-Peter Gauster dari Unsplash Mari kita asumsikan bahwa kita sedang membangun API E-commerce yang akan menerima beberapa pesanan, setiap proses pesanan memiliki beberapa status seperti Pending, Processed, Shipped, Delivered, Cancelled. Dan aplikasi kita menerima string input yang akan disimpan dalam database, sebagai contoh statusnya adalah Processed, received Process, Processing atau sesuatu yang lain yang menyebabkan inkonsistensi data. Di sini Enum memiliki peran penting. ...
Defensive Programming as a Backend Developer Building Robust and Secure Systems
English Version: For English version of this article, please visit: dev.to Dalam pengembangan aplikasi backend, memastikan keamanan dan stabilitas aplikasi adalah suatu keharusan mutlak. Backend adalah tulang punggung dari aplikasi, yang bertanggung jawab untuk menangani logika bisnis, menyimpan data, dan berinteraksi dengan sistem eksternal. Menulis kode yang kuat dan andal sangat penting untuk semua pengembang perangkat lunak. Namun, tidak peduli seberapa hati-hati kita, bug dan situasi yang tidak terduga masih bisa terjadi. Di sinilah Defensive programming berperan. ...
How to Handle Time Zones and Sync Your Software on the Server Side Using Go
English Version: For English version of this article, please visit: dev.to Ketika aplikasi Anda mulai berkembang dalam skala besar, peningkatan pengguna akan bertambah. Yang sangat mungkin terjadi adalah lokasi pengguna tidak hanya berada di area yang sama, bisa saja berada di area lain yang memiliki zona waktu yang berbeda. Jadi sebagai developer Backend, hal-hal yang berkaitan dengan penanganan perbedaan zona waktu sangat penting untuk dipikirkan. Saya baru-baru ini menghadapi masalah yang melibatkan zona waktu. Mari kita jujur, berurusan dengan tanggal dan waktu adalah salah satu area paling rumit yang harus ditangani manusia. Dan ini merupakan kesempatan bagi saya untuk belajar bagaimana menangani tanggal dan waktu dengan benar di sisi server. ...
Observability Why Logging Its Important
English Version: For English version of this article, please visit: dev.to Dalam era digital yang semakin kompleks, observabilitas adalah kunci utama dalam mengelola sistem perangkat lunak modern. Salah satu pilar terpenting dari observabilitas adalah logging. Mari kita jelajahi mengapa logging sangat penting dan bagaimana cara memanfaatkannya secara optimal. Apa itu Logging? Logging adalah proses pencatatan aktivitas dan kejadian dalam sistem. Ini mencakup berbagai informasi, mulai dari pesan error, aktivitas pengguna, hingga performa sistem. Bayangkan logging sebagai ‘kotak hitam’ pesawat terbang untuk sistem Anda - selalu merekam apa yang terjadi, siap memberikan wawasan ketika dibutuhkan. ...
Optimizing Relational Databases for Best Performance in Mysql
English Version: For English version of this article, please visit: dev.to Pengantar Di dunia yang didorong oleh data saat ini, basis data relasional adalah tulang punggung dari aplikasi yang tak terhitung jumlahnya. Mereka menyimpan dan mengelola informasi penting, tetapi kinerja mereka dapat secara signifikan mempengaruhi pengalaman pengguna dan efisiensi sistem secara keseluruhan. Posting blog ini membahas strategi kunci untuk mengoptimalkan basis data relasional dan memastikan mereka berjalan pada kinerja puncak. 🔍 Kesalahan Query Umum yang Menyebabkan Bottleneck Sebelum mengoptimalkan, dalam penulisan ini diskusi hanya mencakup Full Table Scan yang Tidak Perlu, Query yang Tidak Efisien, Denormalisasi, Sumber Daya Hardware yang Tidak Cukup. Sangat penting untuk mengidentifikasi bottleneck kinerja. Berikut adalah beberapa penyebab umum: ...
Mengenal Context Pada Golang
Saat mengembangkan sebuah aplikasi backend yang menangani http request dari client, mungkin yang perlu diketahui adalah url endpoint mana yang diminta klien untuk menentukan sebuah function mana yang akan melayani response. Namun saat melayani sebuah response beberapa hal selalu dapat terjadi, seperti client memutuskan koneksi sebelum menerima response. Jika fungsi yang melayani response tidak mengetahui bahwa klien terputus, server mungkin menghabiskan lebih banyak waktu untuk memproses response yang tidak akan digunakan atau diharapkan oleh client itu lagi. ...
Golang Dasar #6 - Constant
Constant adalah jenis variable yang nilainya tidak dapat diubah. Deklarasi nilai hanya dilakukan di awal, setelah itu nilainya tidak dapat diubah lagi. Cara Membuat Constant Untuk membuat constant memiliki beberapa cara. Mari kita bahas Constant dengan manifest typing atau inference typing Ketika membuat variable pada Golang kita dapat menggunakan manifest typing yaitu di tuliskan tipe datanya dan inference typing tidak di tuliskan tipe datanya. Tentang manifest typing dan inference typing dapat dipelajari pada postingan instagram jabutech disini. ...
Membuat Minimal Docker Image Dengan Golang
Ketika proses kontainerisasi sebuah aplikasi dengan menggunakan docker kita membutuhkan sebuah image. Dimana image ini didalamnya adalah sebuah aplikasi dengan seluruh package dan library yang dibutuhkan untuk siap dijalankan yang dibungkus menjadi satu. Tapi yang menjadi masalah ukuran image ini bisa menjadi sangat besar, bisa ratusan Megabyte atau Gigabyte tergantung seberapa besar dan banyak package atau library yang ikut terinstall didalanya. Kali ini kita akan mencoba menggunakan teknik multistage dimana akan membuat ukuran image bisa menjadi sangat jauh lebih kecil. ...