golang

Write Less Code, Generate MoreI

2021/10/15
golang
golang, codegen, youtube

Write Less Code, Generate More Examine the principle of [[code generation]] Code Generation adalah salah satu teknik yang powerfull dimana kita bisa sedikit menulis kode dan menbuat secara otomatis. Discover the main parts of a code generator Who or what is a code generator? Kalau ditanya siapa? manusia atau programmer adalah code generator. Bagus dalam problem solving dan kreative. Tapi manusia juga biasanya lama kelamaan jenuh dengan melakukan tugas yang terus berulang. ...

Go Version Manager

2021/02/18
golang
golang, gvm, tips

Go Version Manager adalah tools yang membantu memperbaharui Go Version. Instalasi bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) Penggunaan $ gvm Usage: gvm [command] Description: GVM is the Go Version Manager Commands: version - print the gvm version number get - gets the latest code (for debugging) use - select a go version to use (--default to set permanently) diff - view changes to Go root help - display this usage text implode - completely remove gvm install - install go versions uninstall - uninstall go versions cross - install go cross compilers linkthis - link this directory into GOPATH list - list installed go versions listall - list available versions alias - manage go version aliases pkgset - manage go packages sets pkgenv - edit the environment for a package set Install Go $ gvm install go1. ...

Membuat upload dan download dengan golang graphql

2020/06/05
belajar
golang

Sama seperti tulisan Membuat upload dan download dengan golang hanya kali ini kita membuatnya dengan graphql. Apakah bisa juga? Contoh kasus dalam dunia nyata seperti Upload foto, Import dan Export CSV dan lain lain. Membuat Graphql Seerever Sederhana Membuat graphql pada golang cukup mudah, kita bisa menggunakan library gqlgen. Instalasinya juga to the point bisa dibaca di Getting Started. Intsall GQLGen go get github.com/99designs/gqlgen Inisialisasi kerangka kerja gqlgen go run github. ...

Membuat upload dan download dengan golang

2020/06/04
belajar
golang

Ditulisan kali ini kita coba membuat program untuk melakukan upload dan download menggunakan golang. Contoh kasus dalam dunia nyata seperti Upload foto, Import dan Export CSV dan lain lain. Membuat WebServer Sederhana Karena fokusnya hanya ke upload dan downloadnya. Webservernya kita buat sederhana aja ya. Cukup dengan membuat 2 file main.go dan index.html. main.go package main import ( "fmt" "html/template" "log" "net/http" "path" ) func upload(w http.ResponseWriter, r *http.Request) { fmt. ...

Monitoring Service Dengan Prometheus

2020/05/26
belajar, monitoring
monitoring, microservice, golang

Prometheus adalah proyek open source metrics-based monitoring system. Intinya sih cuma alat untuk mengumpulkan data model dan bisa diquery (PromQL). Karena bisa diquery, jadi kita bisa menganalisa performa dari aplikasi dan infrastruktur yang kita bangun. Data model itu sebenernya hanya kumpulan teks yang berformat. Data yang dikumpulkan disimpan sebagai time series. Bentuk dari notasinya seperti ini: <metric name>{<label name>=<label value>, ...} Contoh, Kalau kita mau membuat metric http request total: ...

Mengenal Context pada Golang

2020/05/20
belajar
golang

Apa itu Context Golang context adalah standard libray muncul pertama kali pada versi 1.7. Tapi, sebenarnya package ini sudah ada dari dulu, ada di golang.org/x/net/context. Kita dapat menggunakan context untuk melakukan cancelation, deadlines dan passing value ke standard library lainnya, seperti net, net/http, and os/exec. Apa sih yang dimaksud dengan cancelation? Analogi dari cancelation kurang lebih seperti ini. Misalnya, Andi meminta dibuatkan Bakso kepada Budi untuk acaranya. Budi segera mencari daging dan bahan-bahan lain di pasar. ...

Migrasi database dengan golang

2020/03/30
belajar
golang, postgre

Akhir akhir ini terasa capek ketika membuat schema database langsung menggunakan GUI. Dan schema yang berubah bisa kadang kehilangan sejarahnya, kapan perubahannya tidak terawasi. Bagaimana jika skema database disatukan dengan source code aplikasi kita. Sehingga perkembangan skema database dapat tercatat sama seperti code. Dengan tools bernama migrate menjadi solusi untuk permasalahan diatas. alih alih kita langsung membuat tabel diGUI database, kita bikin dalam script yang nantinya dimasukan kedalam database juga. ...