Pemrograman
130 Artikel tersedia
Cara Membuat RW Mutex Dan Kegunaanya Pada Golang
Pengenalan Sync.RWMutex
Setelah kita pernah mempelajari
Pengenalan dan Pembuatan `Mutex` pada postingan sebelumnya, lalu kita akan lanjut ke tahap selanjutnya yaitu pengenalan RWMutex
. Nah apa bedanya dengan yang sebelumnya?
Cara Membuat Mutex Dan Kegunaannya Pada Golang
Pengenalan Sync.Mutex
Mutex atau kepanjangan dari Mutual Exclusion adalah suatu cara untuk mengatasi race condition di dalam bahasa Golang. Mutex bisa digunakan untuk melakukan locking
and unlocking
terhadap suatu mutex sehingga jika sudah di lock
maka tidak akan bisa melakukan locking
lagi sampai kita melakukan unlocking
.
Cara Koneksi Golang Dengan Database MS SQL Server
Dependency
Pastikan sudah buat projek dengan go mod init mssql-go
pada folder mssql-go
dan dependency yang akan kita pakai yaitu menggunakan
Cara Koneksi Golang Dengan Mongodb
Dependecy yang dibutuhkan
Menambahkan beberapa dependency yang digunakan
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
Membuat Koneksi Database
membuat fungsi koneksi database ke dalam mongodb.
Cara Koneksi Golang Dengan Database Postgres
Dependency
Pastikan sudah buat projek dengan go mod init postgres-go
pada folder postgres-go
dan dependency yang akan kita pakai yaitu menggunakan
Cara Komunikasi Golang Dengan Database Mysql
Package atau Library
import "github.com/go-sql-driver/mysql"
Inisialisasi Projek
Siapkan folder baru dengan nama mysql-native
, lalu buat inisialisasi module golang agar lebih termodular. Berikut perintah cepatnya.
Penggunaan Channel Select Range Timeout
Adanya channel sangat membantu kita untuk mengelola goroutine yang sedang berjalan pada program kita. Ada kalanya kita juga perlu mengelola goroutine banyak dan dibutuhkan banyak channel juga. Maka, disinilah kegunaan select
. select
memudahkan kita mengontrol komunikasi data lewat channel. Cara penggunannya sama seperti seleksi kondisi switch
.
Pengenalan Channel Pada Golang
Channel adalah penghubung goroutine yang dari satu ke yang lainnya. Channel ini sifat-nya synchronous
karena ada blocking. Channel bisa didefinisikan dengan bentuk variabel dengan keyword chan
. Variabel ini memiliki tugas untuk mengirim dan menerima data.
Pengenalan Go Routine Pada Golang
Penggunaan go-routine saat proses yang akan dieksekusi sebagai goroutine harus dibungkus kedalam fungsi. Pada saat pemanggilan fungsi tersebut ditambahkan di depannya dengan perintah go
. Dengan demikian proses tersebut akan dideteksi sebagai goroutine baru.
Integrasi Code Analysis Sonarcube Golang
Persyaratan
- Install Docker
- Install Install SonarQube Commnunity
- Install Java
- Install sonar-scanner-cli
Pengenalan SonarQube
SonarQube adalah alat peninjauan kode otomatis untuk mendeteksi bug, kerentanan, dan code smells dalam kode yang dibuat. SonarQube bisa terintegrasi dengan alur kerja dalam banyak proyek dalam pemeriksaan kode yang berkelanjutan.
Teknik Membuat Mocking Unit Test Pada Golang
Saat kita membuat fungsi atau sedang melakukan code terkadang kita suka kesusahan untuk melakukan unit test di beberapa titik yang tidak bisa kita cover dengan unit test. Maka berikut ini ada beberapa cara teknik melakukan unit test dengan teknik mocking. Tetapi sebenarnya kita juga bisa menggunakan Third-party yang sudah tersedia dibeberapa library sehingga tinggal langsung kita pakai saja.
Cara Membuat Integration Test Pada Golang
Melakukan integration test untuk API setidaknya kita harus bisa menjalankan aplikasi-nya terlebih dahulu agar bisa dilakukan pengetesan secara terintegrasi.
Hal ini perlu kita siapkan beberapa case, test case yang mencakup kebutuhan dari integration Test tersebut. Misalkan dari API Endpoint
kita yang sudah dikerjakan itu memiliki resource database
, cache
ataupun eksternal lain yang berhubungan dengan keberlangsungannya suatu API Endpoint tersebut.