#Golang
112 artikel
Mengenal Deadlock Dan Cara Mengatasinya Pada Golang
Pengenalan
Salah satu masalah yang terjadi ketika menggunakan concurrent
atau paralel
yaitu sistem deadlock
. Apa itu deadlock? Deadlock adalah kejadian dimana sebuah proses concurrent atau goroutine saling menunggu (lock) sehingga tidak ada satupun goroutine yang bisa berjalan. Maka hati-hati bagi Anda jika membuat aplikasi atau program yang mengimplementasikan mutex lock and unlock dengan menggunakan goroutine. Baiklah kita akan coba saja langsung bagaimana simulasi pada program golang ketika terjadi deadlock
.
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.
Cara Mengatasi Error Handling pada Golang
Saat ini Santekno akan membahas tentang penanganan Error pada bahasa Golang. Kita akan mempelajari dari penanganan yang mudah sampai beberapa implementasi yang begitu kompleks. Golang sudah menyediakan penanganan Error
dengan mudah, kita bisa juga melakukan modifikasi sedikit agar Error
tersebut bisa lebih mudah dipahami oleh kita sendiri dan orang yang nantinya akan berkolaborasi dengan kita. Hal yang pertama yang akan kita lakukan yaitu dengan mengkostumisasi Error
bawaan dari golang.