#Golang

112 artikel

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.

05 Membuat Repository Sebagai Data Akses

05 Membuat Repository Sebagai Data Akses

Pada kali ini kita akan membuat Article Repository yang kebutuhannya untuk komunikasi ke dalam database MySQL. Kita memiliki tabel pada MySQL pada sebelumnya sudah kita jelaskan, lalu kita akan membuat fungsi-fungsi yang nantinya akan digunakan untuk kebutuhan spesifikasi API. Berikut ini fungsi yang akan kita seperti ini

04 Menerapkan Clean Architecture pada Project

04 Menerapkan Clean Architecture pada Project

Pada tahapan ini kita akan mencoba menerapkan Clean Architecture yang mana konsep ini menurut Uncle Bob itu memiliki 4 layer yaitu

03 Membuat Database pada MySQL Golang

03 Membuat Database pada MySQL Golang

Pada tahap ini kita akan mencoba membuat database pada MySQL untuk persiapan membuat tabel-nya juga akan nantinya kita gunakan untuk membuat API dengan data yang ada pada database. Sebelumnya jika teman-teman belum punya MySQL pada komputer atau laptop maka persiapkan terlebih dahulu instal MySQL dan Database Editornya bisa menggunakan DBeaver, MySQL Workbench atau yang biasa teman-teman pakai untuk management database.

Membuat Generator Image Thumbnail Menggunakan Pipeline Pattern

Membuat Generator Image Thumbnail Menggunakan Pipeline Pattern

Generate Image menggunakan Golang juga kita gunakan untuk mempermudah editor agar tidak perlu melakukan edit memakai aplikasi lain sehingga kita bisa mudah menaruh image yang diinginkan. Nah saat ini santekno akan coba membuat generator Image Thumbnail yang sudah ada pada tutorial ini. Misalkan kita ingin membuat thumbnail ini image-nya menjadi lebih ringkas daripada image yang aslinya. Maka kita perlu melakukan convert menjadi file yang lebih ringan dengan ukuran yang kecil. Bagaimana jika image tersebut banyak maka jika kita pakai seperti biasa Golang sequencial maka akan menjadi lama saat kita melakukan eksekusinya. Maka, kita akan coba bandingkan bagaimana proses generate image Thumbnail ini dengan golang yang sequencial dengan menggunakan concurrent Pipeline Patter.

Membuat Web Crawler menggunakan Golang

Membuat Web Crawler menggunakan Golang

Web Crawler sering kita gunakan untuk mengambil sesuatu pada suatu website sehingga kita mendapatkan konten yang dibutuhkan. Hal ini biasanya digunakan untuk kebutuhan konten. Dalam hal ini kita akan coba menggunakan Golang untuk membuat Web Crawler sederhana dan akan mengambil beberapa konten seperti URL yang ada pada halaman suatu website tersebut.

02 Membuat API Specification menggunakan OpenAPI

02 Membuat API Specification menggunakan OpenAPI

Pada tahap ini kita akan mencoba membuat semua API Spesification yang berhubungan dengan API yang akan kita buat sehingga kita perlu dokumentasi yang lengkap dengan menggunakan OpenAPI. Jika teman-teman belum memasang OpenAPI di repositorynya maka coba baca terlebih dahulu artikel sebelumnya.

01 Pengenalan RESTful Pada Golang

01 Pengenalan RESTful Pada Golang

Pengenalan RESTFul API

Dikutip dari website amazon, API RESTful adalah antarmuka yang digunakan oleh dua sistem komputer untuk bertukar informasi secara aman melalui internet. Sebagian besar aplikasi bisnis harus berkomunikasi dengan aplikasi internal dan pihak ketiga lainnya untuk melakukan berbagai tugas. Misalnya, untuk menghasilkan slip gaji bulanan, sistem akun internal Anda harus berbagi data dengan sistem perbankan pelanggan Anda untuk mengotomatiskan tagihan dan berkomunikasi dengan aplikasi absensi internal. API RESTful mendukung pertukaran informasi ini karena mengikuti standar komunikasi perangkat lunak yang aman, andal, dan efisien.

Golang JSON 09 Penggunaan Streaming Encoder

Golang JSON 09 Penggunaan Streaming Encoder

Pengenalan Stream Encoder

Selain JSON Decoder, pada package JSON ini juga bisa mendukung Encoder yang digunakan langsung JSON ke dalam io.Writer. Maka dengan begitu kita tidak perlu menyimpan JSON datanya terlebih dahulu ke dalam suatu variabel string atau []byte, jadi kita bisa langsung saja menulis ke dalam io.Writer.

Golang JSON 08 Penggunaan Streaming Decoder

Golang JSON 08 Penggunaan Streaming Decoder

Pengenalan Stream Decoder

Pada artikel sebelumnya kita pernah belajar package JSON dengan menggunakan konversi data JSOn yang sudah dalam bentuk variabel dan data string atau kita pakai []byte. Kadang-kadang data JSON itu berasa dari input berupa io.Reader yaitu bisa dalam bentuk file, Network ataupun request body. Maka kita bisa saja langsung membaca semua data tersebut terlebih dahulu lalu simpan di dalam suatu variabel dan baru kita konversi dari JSON, namun ini kita tidak perlu melakukannya karena pada package JSON memiliki fitur untuk membaca data dari Stream.

Golang JSON 07 Penggunaan Maps

Golang JSON 07 Penggunaan Maps

Penggunaan Map

Saat kita menggunakan JSON kita kadang menemukan kasus data JSON yang dinamis yang artinya atribut yang dibentuk JSON tidak tentu, bisa bertambah bisa berkurang dan bahkan tidak tetap. Maka kasus seperti ini jika kita unmarshal menggunakan Struct akan menyulitkan karena pada struct kita harus definisikan semua atribut-nya.

Golang JSON 06 Mengenal JSON Tags

Golang JSON 06 Mengenal JSON Tags

Pengenalan JSON Tags

Secara default jika kita membuat struct dan di marshal akan dimapping sesuai dengan nama atribut yang sama dan case sensitive. Lalu bagaimana jika kita ingin membedakan style antara penamaan atribute pada struct dengan yang di convert ke dalam JSON? Misalkan pada struct kita menggunakan PascalCase tetapi pada JSON kita ingin menggunakan snake_case. Untuk mendukung hal tersebut maka package json sudah mendukung Tags Reflection yaitu tags yang bisa menyesuaikan nama json yang nanti akan kita convert ke dalam JSON tersebut sehingga tribute yang ada di struct itu akan di konversi sesuai dengan penamaan ke dalam JSON.