#Tutorial
135 artikel
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
Tutorial dan Belajar Golang
Bahasa Pemrograman Golang (atau biasa disebut dengan Go) saat ini banyak diminati oleh para programmer terutama bagi yang berkecimpung dibidang Backend Developer, Software Engineer ataupun yang berpropsesi sebagai FullStack Developer. Belajar Golang memang terhitung mudah karena sintaks kode yang simpel sehingga ketika seseorang ingin belajar pemrogramaman golang itu lebih mudah dan gampang untuk diimplementasikan. Bahasa Pemrograman Golang dibanding bahasa yang lain lebih mudah dipahami karena keringkasan dari program kode menggunakan go (golang).
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.