Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Coding Go : Microservice dengan Protocol Buffers & gRPC API
Highest Rated
Rating: 4.8 out of 5(38 ratings)
216 students

Coding Go : Microservice dengan Protocol Buffers & gRPC API

Coding Protocol Buffers (protobuf) & gRPC API memakai bahasa pemrograman Go (Golang) untuk arsitektur microservice
Created byTimotius P
Last updated 8/2023
Indonesian
Indonesian [Auto],

What you'll learn

  • Apa itu Protocol Buffers (Protobuf) dan bagaimana memakainya untuk komunikasi data
  • Definisi / Skema Protocol Buffers : tipe data, list, sintaks, dll
  • Protocol Buffers Schema Evolution (Evolusi Skema)
  • Coding Protocol Buffers dengan memakai Go programming language (Golang)
  • Coding semua jenis gRPC API dengan Golang : unary, server streaming, client streaming, dan bi-directional
  • Coding database PostgreSQL dengan gorm : Go Object Relational Mapping (ORM)
  • Memakai Software Architecture Hexagon (Port & Adapters) untuk membangun gRPC API untuk aplikasi bank dengan coding Golang
  • Membuat API gRPC yang tangguh / resilient : memakai timeout / deadline, retry, dan circuit breaker
  • Menangani error di gRPC, status code, metadata, interceptor
  • gRPC - REST API gateway
  • Membuat OpenAPI documentation (otomatis) untuk API gRPC

Course content

51 sections199 lectures9h 26m total length
  • Selamat Datang!1:01
  • Rangkuman Materi2:30

Requirements

  • Harus tahu coding bahasa pemrograman Go (Golang) dasar. Ini BUKAN kursus Go untuk pemula. Anda harus sudah tahu tentang sintaks Go, module, dan package
  • Harus tahu dasar git dan github: membuat github repository, branch, pull, push, dan merge. Ini BUKAN kursus git dasar.
  • Familiar dengan REST API dan JSON akan membantu, tetapi tidak harus

Description

Kursus ini dibuat untuk membantu Anda memahami dan implementasi coding Protocol Buffers (protobuf) dan gRPC API memakai bahasa pemrograman Go pada arsitektur microservice.

Kursus ini disusun bertahap, dimulai dengan pengenalan protobuf, panduan dan konvensi penulisan, dan struktur file kursus. Anda akan mempelajari teori di balik berbagai aspek coding protobuf seperti : tipe data, komentar, enum, repeated, hubungan protobuf dan JSON, nested message, package, tipe data any, oneof, map, dan evolusi skema (schema evolution).

Di kursus ini, Anda juga belajar tentang coding gRPC API dan hubungannya dengan protobuf. Anda akan belajar bagaimana mengeloloa repository gRPC di github, status grpc, dan penanganan error, membuat API gRPC yang tangguh, timeout, retry, dan circuit breaker. Kursus ini juga termasuk coding metadata untuk server dan client gRPC, server interceptor, client interceptor, dan gRPC-REST gateway.

Dalam kursus, Anda akan praktek coding, dengan latihan membuat aplikasi bank menggunakan gRPC API dan protobuf, dengan memakai database PostgreSQL dan Go Object Relational Mapper (ORM) untuk coding dengan database. Di akhir kursus ini, Anda akan memiliki keterampilan dan pengetahuan yang diperlukan untuk membuat microservice menggunakan gRPC dan protobuf dengan bahasa pemrograman Go (Golang).


Persyaratan (wajib):

  • Pengetahuan dasar tentang bahasa pemrograman Go. Kursus ini bukan kursus dasar untuk Golang

  • Familiar dengan perintah git (push, pull, pull request, merge, branch)


Software:

  • Bahasa pemrograman : Go (Golang)

  • Protocol Buffers (protobuf)

  • gRPC

  • Github

  • Visual Studio Code (atau editor apa pun yang Anda suka)


Anda akan belajar dengan metode lab / praktek, di mana Anda diberikan teori dan tugas yang harus diselesaikan. Akan ada petunjuk untuk setiap tugas sehingga Anda dapat mencoba langsung. Jika Anda bingung, Anda dapat melihat solusi / kunci jawabannya.


  • Kursus ini berisi 130+ pelajaran, yang mencakup topik-topik berikut:

  • Pengantar protobuf, apa itu protobuf

  • Menulis protobuf (panduan dan konvensi coding)

  • Tipe data, enum, repeated, dan konversi Protobuf-JSON

  • Berbagai jenis message protobuf, multiple file and import Protobuf, nested message, dan package

  • Any, oneof, dan maps

  • Membaca / menulis protocol buffers ke disk dan JSON

  • Schema evolution dan tipe data tambahan

  • Option, validasi field, dan efek penomoran field

  • Pendahuluan gRPC, kapan memakai (atau tidak memakai) gRPCP

  • Memakai repository github untuk Protobuf dan gRPC, termasuk otomatisasi dengan github action

  • Membuat coding gRPC unary server dan client, server streaming, client streaming, dan bidirectional streaming

  • Coding API gRPC untuk bank dengan database PostgreSQL, membuat streaming API untuk kurs, dan rangkuman transaksi bank

  • Menangani gRPC status dan error, penanganan error di sisi client, dan teknik membuat API gRPC yang tahan banting, seperti : timeout, retry, dan circuit breaker

  • Coding gRPC metadata, interceptor server dan client

  • gRPC-REST gateway


Di akhir kursus, Anda akan tahu bagaimana cara coding Protocol Buffer dan gRPC menggunakan bahasa pemrograman Go. Anda akan belajar cara menulis Protobuf dengan panduan / konvensi standar, mengatur struktur file Protobuf, dan bekerja dengan tipe scalar, enum, repeated, map, any, oneof, dan nested message. Anda juga akan belajar cara membaca dan menulis Protobuf ke disk dan JSON, menangani schema evolution (forward / backward compatibility), dan memakai tipe data tambahan.


Selain itu, Anda akan memperoleh pengalaman langsung dalam coding berbagai jenis API gRPC, termasuk unary, server streaming, client streaming, dan bidirectional streaming. Anda juga akan mempelajari cara menangani status dan error gRPC, menerapkan teknik untuk membuat gRPC API tahan banting seperti timeout, retry, circuit breaker, dan konversi gRPC ke REST API dengan gRPC-REST gateway. Anda juga akan belajar membuat dokumentasi OpenAPI / swagger untuk gRPC.

Dengan kata lain, Anda akan memperoleh keterampilan dan pengetahuan praktis yang dapat Anda terapkan dalam pekerjaan,untuk membangun microservice API memakai Protocol Buffers dan gRPC dengan bahasa pemrograman Go.

Who this course is for:

  • Software engineer / developer, technical architect, engineering manager yang ingin tahu cara mengimplementasikan / coding Protocol Buffers menggunakan bahasa pemrograman Go (Golang)
  • Penggemar Golang