Belajar Microservice dengan Go (Golang), Protobuf, dan GRPC API

Belajar Microservice dengan Go (Golang), Protobuf, dan GRPC API

Coding Protocol Buffers (protobuf) & gRPC API memakai bahasa pemrograman Go (Golang) untuk arsitektur microservice

BEGINNER0 penilaian1 peserta

Tentang Kelas

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.

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

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

Daftar Materi

Selamat Datang!01:02
Rangkuman Materi02:31

PENTING! Persyaratan & Software Yang Diperlukan01:39
Download Script & Source Code00:29

Berkenalan Dengan Protocol Buffers (Protobuf)07:53
Panduan & Konvensi untuk Coding Protocol Buffers03:52
Struktur File & Folder di Kursus Ini01:15

Metode Belajar02:13

Teori : Hello Protobuf02:37
Tugas : Hello Protobuf00.00
Coba Sendiri : Hello Protobuf00.00
Solusi : Hello Protobuf10:24

Teori : Tipe Data Scalar03:55
Tugas : Tipe Data Scalar00.00
Coba Sendiri : Tipe Data Scalar00.00
Solusi : Tipe Data Scalar02:17

Tips : Makefile02:07

Teori : Repeated Field, Enumerations, Comments01:30
Tugas : Repeated Field, Enumerations, Comments00.00
Coba Sendiri : Repeated Field, Enumerations, Comments00.00
Solusi : Repeated Field, Enumerations, Comments02:07

Teori : Protobuf - JSON01:18
Tugas : Protobuf - JSON00.00
Coba Sendiri : Protobuf - JSON00.00
Solusi : Protobuf - JSON05:08

Teori : Memakai Message Lain Sebagai Tipe Data00:49
Tugas : Memakai Message Lain Sebagai Tipe Data00.00
Coba Sendiri : Memakai Message Lain Sebagai Tipe Data00.00
Solusi : Memakai Message Lain Sebagai Tipe Data01:59

Teori : Multiple File & Import Message01:34
Tugas : Multiple File & Import Message00.00
Coba Sendiri : Multiple File & Import Message00.00
Solusi : Multiple File & Import Message04:25

Teori : Tipe Message Nested01:17
Tugas : Tipe Message Nested00.00
Coba Sendiri : Tipe Message Nested00.00
Solusi : Tipe Message Nested01:56

Teori : Package01:23
Tugas : Package00.00
Coba Sendiri : Package00.00
Solusi : Package07:56

Teori : Any01:51
Tugas : Any00.00
Coba Sendiri : Any00.00
Solusi : Any09:08

Teori : Oneof01:12
Tugas : Oneof00.00
Coba Sendiri : Oneof00.00
Solusi : Oneof03:33

Teori : Map00:29
Tugas : Map00.00
Coba Sendiri : Map00.00
Solusi : Map01:46

Teori : Baca / Tulis Protobuf - File00:34
Tugas : Baca / Tulis Protobuf - File00.00
Coba Sendiri : Baca / Tulis Protobuf - File00.00
Solusi : Baca / Tulis Protobuf - File04:08

Teori : Baca / Tulis Protobuf - JSON00:33
Tugas : Baca / Tulis Protobuf - JSON00.00
Coba Sendiri : Baca / Tulis Protobuf - JSON00.00
Solusi : Baca / Tulis Protobuf - JSON01:47

Teori : Schema Evolution (Evolusi Skema)07:16
Tugas : Schema Evolution (Evolusi Skema)00.00
Coba Sendiri : Schema Evolution (Evolusi Skema)00.00
Solusi : Schema Evolution (Evolusi Skema)15:45

Tips : Efek Nomor Field03:59

Teori : Tipe Data Tambahan01:54
Tugas : Tipe Data Tambahan00.00
Coba Sendiri : Tipe Data Tambahan00.00
Solusi : Tipe Data Tambahan03:53

Tips : Protobuf Option02:50

Tips : Validasi Field09:47

Teori : Tentang gRPC08:10
Memakai gRPC Atau Tidak?01:03
Teori : Protocol Buffers dan gRPC03:05

Teori : Protocol Buffers Repository03:43
Tugas : Protocol Buffers Repository00.00
Coba Sendiri : Protocol Buffers Repository00.00
Solusi : Protocol Buffers Repository10:16

Teori : Hello gRPC (Unary Server)03:31
Tugas : Hello gRPC (Unary Server)00.00
Coba Sendiri : Hello gRPC (Unary Server)00.00
Solusi : Hello gRPC (Unary Server)10:34

Teori : Hello gRPC (Unary Client)02:09
Tugas : Hello gRPC (Unary Client)00.00
Coba Sendiri : Hello gRPC (Unary Client)00.00
Solusi : Hello gRPC (Unary Client)08:01

Teori : Hello gRPC (Server Stream)01:29
Tugas : Hello gRPC (Server Stream)00.00
Coba Sendiri : Hello gRPC (Server Stream)00.00
Solusi : Hello gRPC (Server Stream)07:23

Teori : Hello gRPC (Client Stream)01:04
Tugas : Hello gRPC (Client Stream)00.00
Coba Sendiri : Hello gRPC (Client Stream)00.00
Solusi : Hello gRPC (Client Stream)07:57

Teori : Hello gRPC (Bi-Directional Stream)01:37
Tugas : Hello gRPC (Bi-Directional Stream)00.00
Coba Sendiri : Hello gRPC (Bi-Directional Stream)00.00
Solusi : Hello gRPC (Bi-Directional Stream)07:48

Teori : Bank - Persiapan gRPC00:38
Tugas : Bank - Persiapan gRPC00.00
Coba Sendiri : Bank - Persiapan gRPC00.00
Solusi : Bank - Persiapan gRPC10:03

Teori : Bank - Persiapan Database03:22
Tugas : Bank - Persiapan Database00.00
Coba Sendiri : Bank - Persiapan Database00.00
Solusi : Bank - Persiapan Database15:03

Teori : Bank - Struktur Database00:55
Tugas : Bank - Struktur Database00.00
Coba Sendiri : Bank - Struktur Database00.00
Solusi : Bank - Struktur Database03:42

Teori : Bank - Ambil Saldo01:02
Tugas : Bank - Ambil Saldo00.00
Coba Sendiri : Bank - Ambil Saldo00.00
Solusi : Bank - Ambil Saldo06:46

Teori : Bank - Kurs Mata Uang00:52
Tugas : Bank - Kurs Mata Uang00.00
Coba Sendiri : Bank - Kurs Mata Uang00.00
Solusi : Bank - Kurs Mata Uang18:30

Teori : Bank - Ringkasan Transaksi00:55
Tugas : Bank - Ringkasan Transaksi00.00
Coba Sendiri : Bank - Ringkasan Transaksi00.00
Solusi : Bank - Ringkasan Transaksi19:56

Teori : Bank - Banyak Transaksi Transfer00:29
Tugas : Bank - Banyak Transaksi Transfer00.00
Coba Sendiri : Bank - Banyak Transaksi Transfer00.00
Solusi : Bank - Banyak Transaksi Transfer22:49

Teori : gRPC Status & Error - Bagian 103:30
Tugas : gRPC Status & Error - Bagian 100.00
Coba Sendiri : gRPC Status & Error - Bagian 100.00
Solusi : gRPC Status & Error - Bagian 104:30

Teori : gRPC Status & Error - Bagian 201:12
Tugas : gRPC Status & Error - Bagian 200.00
Coba Sendiri : gRPC Status & Error - Bagian 200.00
Solusi : gRPC Status & Error - Bagian 207:39

Teori : gRPC Status & Error - Bagian 301:02
Tugas : gRPC Status & Error - Bagian 300.00
Coba Sendiri : gRPC Status & Error - Bagian 300.00
Solusi : gRPC Status & Error - Bagian 304:50

Teori : Menangani Error di gRPC Client01:01
Tugas : Menangani Error di gRPC Client00.00
Coba Sendiri : Menangani Error di gRPC Client00.00
Solusi : Menangani Error di gRPC Client25:18

Teori : Resiliency - Server02:40
Tugas : Resiliency - Server00.00
Coba Sendiri : Resiliency - Server00.00
Solusi : Resiliency - Server20:55

Teori : Resiliency - Timeout (Deadline)00:45
Tugas : Resiliency - Timeout (Deadline)00.00
Coba Sendiri : Resiliency - Timeout (Deadline)00.00
Solusi : Resiliency - Timeout (Deadline)16:39

Teori : Resiliency - Retry03:07
Tugas : Resiliency - Retry00.00
Coba Sendiri : Resiliency - Retry00.00
Solusi : Resiliency - Retry07:37

Teori : Resiliency - Circuit Breaker02:11
Tugas : Resiliency - Circuit Breaker00.00
Coba Sendiri : Resiliency - Circuit Breaker00.00
Solusi : Resiliency - Circuit Breaker07:08

Teori : Metadata - Server02:45
Tugas : Metadata - Server00.00
Coba Sendiri : Metadata - Server00.00
Solusi : Metadata - Server11:05

Teori : Metadata - Client01:18
Tugas : Metadata - Client00.00
Coba Sendiri : Metadata - Client00.00
Solusi : Metadata - Client10:26

Teori : gRPC Interceptor08:16
Tugas : gRPC Interceptor (Server)00.00
Coba Sendiri : gRPC Interceptor (Server)00.00
Solusi : gRPC Interceptor (Server)11:21
Tugas : gRPC Interceptor (Client)00.00
Coba Sendiri : gRPC Interceptor (Client)00.00
Solusi : gRPC Interceptor (Client)14:54

Teori : gRPC-REST Gateway03:15
Tugas : gRPC-REST Gateway (Persiapan)00.00
Coba Sendiri : gRPC-REST Gateway (Persiapan)00.00
Solusi : gRPC-REST Gateway (Persiapan)08:52
Tugas : gRPC-REST Gateway (Default Mapping)00.00
Coba Sendiri : gRPC-REST Gateway (Default Mapping)00.00
Solusi : gRPC-REST Gateway (Default Mapping)07:21
Tugas : gRPC-REST Gateway (Annotation Mapping)00.00
Coba Sendiri : gRPC-REST Gateway (Annotation Mapping)00.00
Solusi : gRPC-REST Gateway (Annotation Mapping)07:12
Tugas : gRPC-REST Gateway (External Mapping)00.00
Coba Sendiri : gRPC-REST Gateway (External Mapping)00.00
Solusi : gRPC-REST Gateway (External Mapping)05:23

Teori : Mengamankan gRPC03:46
Tugas : Mengamankan gRPC (Server)00.00
Coba Sendiri : Mengamankan gRPC (Server)00.00
Solusi : Mengamankan gRPC (Server)02:18
Tugas : Mengamankan gRPC (Client)00.00
Coba Sendiri : Mengamankan gRPC (Client)00.00
Solusi : Mengamankan gRPC (Client)01:45
Tugas : Mengamankan gRPC (REST Gateway)00.00
Coba Sendiri : Mengamankan gRPC (REST Gateway)00.00
Solusi : Mengamankan gRPC (REST Gateway)02:00

Download Source Code & Referensi00.00
Penyusun Materi

Prev
Next
Timotius Pamungkas
Timotius Pamungkas

Seorang Engineering & Architect Head. Berpengalaman lebih dari 5 tahun sebagai Java developer dan beberapa tahun terakhir menangani kompleksitas enterprise sebagai Engineering Manager dan Enterprise Architect.

Testimoni Oleh Siswa

0

(0 reviews)

5 Bintang
0%
4 Bintang
0%
3 Bintang
0%
2 Bintang
0%
1 Bintang
0%
...
Lihat Rekaman
Rp. 299,000
Beli sekali akses selamanya
Rp. 119,000
Rp. 60,00050% off
Hemat Rp. 59,0001 Hari tersisa Diharga ini!
Sewa kelas dan akses selama 1 bulan
Yang akan kamu dapatkan :
199 Modul
7 jam durasi
Forum Diskusi Tanya Jawab
Klaim Sertifikat Digital

Kelas Populer Lainnya

Prev
Next