#Web

54 artikel

05 Implementasi Singleton Logger Logrus Pada Golang

05 Implementasi Singleton Logger Logrus Pada Golang

Pada kali ini kita akan mencoba untuk mengimplementasikan Singleton Design Pattern. Apa itu Singletone? Bisa kamu baca terlebih dahulu artikel disini. Agar lebih paham lagi jadi Singleton adalah desain standar perangkat lunak yang memberikan jaminan keberadaan hanya satu instance kelas, sambil mempertahankan titik akses global ke objeknya. Singleton adalah pola desain yang membatasi instantiation ke suatu objek, kita harus memastikan bahwa ini hanya terjadi sekali.

04 Mempelajari Field, Entry dan Hook Logrus Pada Golang

04 Mempelajari Field, Entry dan Hook Logrus Pada Golang

Pada kali ini kita akan mencoba mempelajari Logrus lebih mendalam yaitu mengenai Field, entry dan Hook. Fitur-fitur yang disediakan oleh Logrus untuk kebutuhan Logger ini sangat bermanfaat sekali bagi kita ketika kita membutuhkan beberapa fitur yang menunjang bisnis kita. Misalkan field ini digunakan untuk menyisipkan data atau informasi ke dalam log dan beberapa lain yang akan kita bahas secara rinci.

03 Formatter dan Output Logrus Pada Golang

03 Formatter dan Output Logrus Pada Golang

Pada kali ini kita akan mempelajari dan membahas bagaimana Logger itu memiliki format dan output. Secara default Logger itu pasti memiliki format yang sudah ditentukan apakah itu JSON, file ataupun dalam bentuk format sendiri.

02 Logger dan Leveling Logrus Pada Golang

02 Logger dan Leveling Logrus Pada Golang

Setelah pada artikel sebelumnya kita sudah membuat projek baru untuk mempelajari lebih dalam tentang Golang Logging, maka kita akan coba bagaimana log tersebut kita inisialisasi. Materi kali ini kita akan mencobanya menggunakan fungsi unit test sehingga kita lebih mudah untuk mendeklarasikannya.

01 Pengenalan Logging Pada Golang

01 Pengenalan Logging Pada Golang

Pengenalan Logging

Logging yang berisikan informasi dari sebuah sistem bisa memberikan pesan yang jelas terkait suatu kejadian yang terjadi pada sistem kita. Logging bukan hanya untuk kebutuhan menampilkan informasi dan kadang juga bisa digunakan sebagai proses debugging ketika terjadi masalah pada sistem yang sudah kita buat.

12 Membuat Dependecy Injection Library Google Wire

12 Membuat Dependecy Injection Library Google Wire

Kali ini kita akan memcoba membuat dependency Injection menggunakan Library Wire dari github.com/google/wire. Kegunaan dari library ini yaitu kita bisa membuat dependency yang begitu banyak bisa kita generate langsung dengan ringkas dan mudah.

11 Tambah Unit Test Menggunakan Mockery

11 Tambah Unit Test Menggunakan Mockery

Pada tahapan ini kita akan membutuhkan dependency sebagai berikut

brew install mockery
go get github.com/stretchr/testify
go mod tidy
go mod vendor
go get github.com/DATA-DOG/go-sqlmock

Pada projek kali ini kita akan mencoba membuat unit test menggunakan library mocking dengan nama mockery. Library ini banyak dipakai oleh kalangan developer golang karena kemudahan penggunaannya dan memiliki kelebihan fitur-fitur yang bisa mengcover semua unit test yang diperlukan. Jika teman-teman pernah menggunakan unit test pada golang mungkin sudah tahu library ini tetapi jika teman-teman ingin lebih mendapatkan referensi yang lebih banyak, Santekno juga telah memberikan postingan sebelumnya diantaranya:

10 Menambahkan Authentication Sederhana

10 Menambahkan Authentication Sederhana

Pada tahapan ini kita akan mencoba menambahkan Authentication sederhana dengan menggunakan middleware pada Golang. Perlu teman-teman ketahui bahwa middleware adalah proses mencegat suatu API yang mana sebelum service ketika diakses menuju ke dalam handler layer maka akan melewati middleware layer ini (yang akan kita buat) untuk menangkap dan memproses sesuatu untuk kebutuhan tertentu. Misalkan, pada kasus ini kita akan mencekat proses service untuk melihat apakah API tersebut memiliki header dengan ketentuan key X-API-Key.

09 Membuat Konfigurasi HTTP Router, HTTP Server dan Koneksi Database

09 Membuat Konfigurasi HTTP Router, HTTP Server dan Koneksi Database

Pada tahapan ini kita akan membuat main fungsi dari projek yang sudah kita buat. Pada fungsi main kita akan menambahkan beberapa inisialisasi fungsi yang memang pada main fungsi itu digunakan untuk menginisialisasi semua resources yang dibutuhkan oleh projek misalkan koneksi database, inisialisasi handler, usecase dan repository yang sebelumnya sudah kita buat.

08 Menambahkan Validator Request Menggunakan Golang Playground

08 Menambahkan Validator Request Menggunakan Golang Playground

Pada tahapan ini kita akan menambahkan validasi untuk setiap request yang dikirim ke dalam API. Misalkan pada request tambah, ubah dan hapus. Validasi yang kita gunakan adalah package github.com/go-playground/validator.

07 Membuat Handler Sebagai Data Delivery Layer

07 Membuat Handler Sebagai Data Delivery Layer

Pada tahapan ini kita akan melanjutkan projek yang sudah kita buat dengan membuat Delivery Layer. Layer ini seperti yang dijelaskan sebelumnya yaitu layer yang menghubungkan request user dengan logic layer.

06 Membuat Usecase Sebagai Data Logic

06 Membuat Usecase Sebagai Data Logic

Pada kali ini, kita akan melanjutkan projek pembuatan RESTFul API menggunakan Golang ini dengan membuat fungsi Usecase. Sebelumnya pernah dibahas bahwa Usecase Layer ini akan berisikan data logic atau pengolahan data yang mana digunakan beberapa logic yang dibutuhkan dalam sebuah proses.