Tag: contango
-

Go Programming – Unit Test: āļāļđāđāļĄāļ·āļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļąāļāļāļē
Go Programming – Unit Test āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāļāđāļ§āļĒāļ āļēāļĐāļē Go āļāļąāđāļāļĄāļēāļāļĢāđāļāļĄāļāļąāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļĩāđāļāđāļ§āļĒāđāļŦāđāļāļēāļĢāļāļąāļāļāļēāļāļāļāļāđāđāļ§āļĢāđāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļāđāļēāđāļāļ·āđāļāļāļ·āļāļĄāļēāļāļĒāļīāđāļāļāļķāđāļ āļŦāļāļķāđāļāđāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļŠāļģāļāļąāļāļāļĩāđāļāļąāļāļāļąāļāļāļē Go āļāļļāļāļāļāļāļ§āļĢāļĢāļđāđāļāļąāļāļāļ·āļ Unit Test āļāļāļāļ§āļēāļĄāļāļĩāđāļāļ°āļāļēāļāļļāļāđāļāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļāļĒāđāļēāļāļĨāļķāļāļāļķāđāļāđāļāļĩāđāļĒāļ§āļāļąāļ Unit Test āđāļ Go Programming āļāļąāđāļāđāļāđāļāļ·āđāļāļāļēāļ āđāļāļ§āļāļīāļ āđāļāļāļāļāļķāļāđāļāļāļāļīāļāļāļēāļĢāđāļāđāļāļēāļāļāļĢāļīāļ āđāļāļ·āđāļāđāļŦāđāļāļļāļāļŠāļēāļĄāļēāļĢāļāļŠāļĢāđāļēāļāđāļāđāļāļāļĩāđāļĄāļĩāļāļļāļāļ āļēāļāđāļĨāļ°āļāđāļēāļĒāļāđāļāļāļēāļĢāļāļģāļĢāļļāļāļĢāļąāļāļĐāļē Unit Test āļāļ·āļāļāļ°āđāļĢ Unit Test āļāļ·āļāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļāļŠāļāļāđāļāđāļāđāļāļĢāļ°āļāļąāļāļāļĩāđāđāļĨāđāļāļāļĩāđāļŠāļļāļ āļŦāļĢāļ·āļāļāļĩāđāđāļĢāļĩāļĒāļāļ§āđāļē “āļŦāļāđāļ§āļĒ” (Unit) āļāļķāđāļāđāļāļĒāļāļąāđāļ§āđāļāđāļĨāđāļ§āļāļ·āļāļāļąāļāļāđāļāļąāļāļŦāļĢāļ·āļāđāļĄāļāļāļ āļāļēāļĢāļāļģ Unit Test āļĄāļĩāļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļāđāļŦāļĨāļąāļāđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļ§āđāļēāđāļāđāļĨāļ°āļŦāļāđāļ§āļĒāļāļāļāđāļāđāļāļāļģāļāļēāļāļāļēāļĄāļāļĩāđāļāļēāļāļŦāļ§āļąāļāđāļ§āđāļŦāļĢāļ·āļāđāļĄāđ āļāļēāļĢāļāļāļŠāļāļāđāļŦāļĨāđāļēāļāļĩāđāļāļ°āļāđāļ§āļĒāđāļŦāđāļāļļāļāļĄāļąāđāļāđāļāđāļāđāļ§āđāļēāđāļāđāļāļāļāļāļāļļāļāļāļģāļāļēāļāđāļāđāļāļĒāđāļēāļāļāļđāļāļāđāļāļ āđāļĨāļ°āļāđāļ§āļĒāļĨāļāđāļāļāļēāļŠāļāļĩāđāļāļ°āđāļāļīāļāļāđāļāļāļīāļāļāļĨāļēāļāđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāđāļāđāļāđāļāļāļāļēāļāļ āļāļĢāļ°āđāļ āļāļāļāļāļāļēāļĢāļāļāļŠāļāļ āļāļēāļĢāļāļāļŠāļāļāļāļāļāļāđāđāļ§āļĢāđāļĄāļĩāļŦāļĨāļēāļĒāļāļĢāļ°āđāļ āļ āđāļāđāļĨāļ°āļāļĢāļ°āđāļ āļāļĄāļĩāļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļāđāđāļĨāļ°āļāļāļāđāļāļāļāļēāļĢāļāļāļŠāļāļāļāļĩāđāđāļāļāļāđāļēāļāļāļąāļāđāļ āļāļēāļĢāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļāļĢāļ°āđāļ āļāļāļāļāļāļēāļĢāļāļāļŠāļāļāļāđāļēāļāđ āļāļ°āļāđāļ§āļĒāđāļŦāđāļāļļāļāđāļĨāļ·āļāļāļ§āļīāļāļĩāļāļēāļĢāļāļāļŠāļāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāļāļąāļāļŠāļāļēāļāļāļēāļĢāļāđāđāļāđ Unit Test: āļāļāļŠāļāļāļāļąāļāļāđāļāļąāļāļŦāļĢāļ·āļāđāļĄāļāļāļāđāļāđāļĨāļ°āļŦāļāđāļ§āļĒ Integration Test: āļāļāļŠāļāļāļāļēāļĢāļāļģāļāļēāļāļĢāđāļ§āļĄāļāļąāļāļĢāļ°āļŦāļ§āđāļēāļāļŦāļāđāļ§āļĒāļāđāļēāļāđ End-to-End Test: āļāļāļŠāļāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāļĢāļ°āļāļāļāļąāđāļāļŦāļĄāļ āļāļąāđāļāđāļāđāļāđāļāļāļāļāļ āļāļēāļĢāļāļāļŠāļāļ…
-

Go Programming – GORM: āļāļđāđāļĄāļ·āļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļąāļāļāļē
Go Programming – GORM GORM (Go Object-Relational Mapping) āđāļāđāļāđāļĨāļāļĢāļēāļĢāļĩ ORM āļāļĩāđāļāļĢāļāļāļĨāļąāļāđāļĨāļ°āđāļāđāļāļēāļāļāđāļēāļĒāļŠāļģāļŦāļĢāļąāļāļ āļēāļĐāļē Go āļāļķāđāļāļāđāļ§āļĒāđāļŦāđāļāļąāļāļāļąāļāļāļēāļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāļāļąāļāļāļēāļāļāđāļāļĄāļđāļĨāđāļāđāļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļĄāļēāļāļāļķāđāļ GORM āļāđāļ§āļĒāļĨāļāļāļ§āļēāļĄāļāļąāļāļāđāļāļāđāļāļāļēāļĢāđāļāļĩāļĒāļāļāļģāļŠāļąāđāļ SQL āđāļāļĒāļāļĢāļ āļāļģāđāļŦāđāđāļāđāļāļāđāļēāļāļāđāļēāļĒāļāļķāđāļāđāļĨāļ°āļāļģāļĢāļļāļāļĢāļąāļāļĐāļēāļāđāļēāļĒāļāļķāđāļ āļāļāļāļ§āļēāļĄāļāļĩāđāļāļ°āđāļāļ°āļāļģāļāļļāļāļāļĨāļāļāļāļĢāļ°āļāļ§āļāļāļēāļĢāđāļāđ GORM āļāļąāđāļāđāļāđāļāļēāļĢāļāļīāļāļāļąāđāļāđāļāļ·āđāļāļāļāđāļāđāļāļāļāļāļķāļāļāļēāļĢāđāļāđāļāļēāļāļāļąāļāļāđāļāļąāļāļāļąāđāļāļŠāļđāļ āđāļāđāļ āļāļēāļĢāļŠāļĢāđāļēāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļēāļ (Association) āđāļĨāļ°āļāļēāļĢāļāļķāļāļāđāļāļĄāļđāļĨāļĨāđāļ§āļāļŦāļāđāļē (Preloading) āļāđāļ§āļĒ GORM āļāļļāļāļāļ°āļŠāļēāļĄāļēāļĢāļāļāļąāļāļāļēāļĢāļāļēāļāļāđāļāļĄāļđāļĨāđāļāđāļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļĢāļ§āļāđāļĢāđāļ§ āļāļēāļĢāļāļīāļāļāļąāđāļ GORM āļāļēāļĢāđāļĢāļīāđāļĄāļāđāļāđāļāđāļāļēāļ GORM āļāļąāđāļāļāđāļēāļĒāļĄāļēāļ āļāļļāļāļŠāļēāļĄāļēāļĢāļāļāļīāļāļāļąāđāļ GORM āđāļĨāļ°āđāļāļĢāđāļ§āļāļĢāđāļāļēāļāļāđāļāļĄāļđāļĨāļāļĩāđāļāļļāļāļāđāļāļāļāļēāļĢāđāļāđāđāļāļĒāđāļāđāļāļģāļŠāļąāđāļ `go get` āļāļēāļĢ Get Package GORM āđāļĢāļīāđāļĄāļāđāļāļāđāļ§āļĒāļāļēāļĢāļāļīāļāļāļąāđāļ GORM āđāļāļĒāđāļāđāļāļģāļŠāļąāđāļ `go get gorm.io/gorm` āđāļ Terminal āļāļāļāļāļļāļ āļāļēāļĢ Copy Driver…
-

āļĢāļđāđāļāļąāļāļ āļēāļĐāļē Go, Go Module āđāļĨāļ° Go Package: GoAPI Essential – EP. 1
āļĢāļđāđāļāļąāļāļ āļēāļĐāļē Go / Go Module āđāļĨāļ° Go package āļāļąāļ | GoAPI Essential – EP. 1 āļĒāļīāļāļāļĩāļāđāļāļāļĢāļąāļāļŠāļđāđāļāļāļĢāđāļŠāđāļĢāļĩāļĒāļāļĢāļđāđ Backend Development āļāđāļēāļāļ āļēāļĐāļē Go! āļāļāļĢāđāļŠāļāļĩāđāļāļ°āļāļēāļāļļāļāđāļāļāļđāļāļ·āđāļāļāļēāļāļāļąāđāļāļŦāļĄāļāļāļāļāļ āļēāļĐāļē Go āļāļąāđāļāđāļāđ Syntax āļāļ·āđāļāļāļēāļ āļāļēāļĢ Build āđāļāļĢāļāļŠāļĢāđāļēāļāļāđāļāļĄāļđāļĨ āđāļāļāļāļāļķāļāļāļēāļĢāļŠāļĢāđāļēāļ API āļāļķāđāļāđāļāđāļāļŦāļąāļ§āđāļāļŠāļģāļāļąāļāļāļāļāļāļāļĢāđāļŠāļāļĩāđ āļ āļēāļĒāđāļāđāļŦāļąāļ§āļāđāļ GoAPI Essential – EP. 1 āđāļĢāļēāļāļ°āļĄāļēāļāļģāļāļ§āļēāļĄāļĢāļđāđāļāļąāļāļāļąāļāļ āļēāļĐāļē Go, Go Module āđāļĨāļ° Go Package āļāļĒāđāļēāļāļĨāļ°āđāļāļĩāļĒāļ āđāļāļ·āđāļāđāļŦāđāļāļļāļāļŠāļēāļĄāļēāļĢāļāļāļģāđāļāļāļĢāļ°āļĒāļļāļāļāđāđāļāđāđāļāļāļēāļĢāļāļąāļāļāļē Backend āđāļāđāļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ Backend Development āđāļĨāļ° Go Backend Development āļāļ·āļāļāļēāļĢāļāļąāļāļāļēāļŠāđāļ§āļāļāļĩāđāđāļāđāļāļĢāļ°āļāļāļŦāļĨāļąāļāļāđāļēāļāļāļāļāđāļāļāļāļĨāļīāđāļāļāļąāļ…
-

Go Programming – database/sql: āļāļđāđāļĄāļ·āļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđ
Go Programming – database/sql āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāļāđāļ§āļĒāļ āļēāļĐāļē Go āđāļāļ·āđāļāļāļąāļāļāļēāļĢāļāļąāļāļāļēāļāļāđāļāļĄāļđāļĨ (database) āđāļāđāļāļāļąāļāļĐāļ°āļŠāļģāļāļąāļāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļąāļāļāļēāļāļāļāļāđāđāļ§āļĢāđāđāļāļĒāļļāļāļāļąāļāļāļļāļāļąāļ āļāļāļāļ§āļēāļĄāļāļĩāđāļāļ°āļāļģāđāļŠāļāļāđāļāļ§āļāļēāļāđāļāļāļēāļĢāđāļāđ Go Programming āļĢāđāļ§āļĄāļāļąāļ database/sql package āđāļāļ·āđāļāđāļāļ·āđāļāļĄāļāđāļāđāļĨāļ°āļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāđāļāļāļēāļāļāđāļāļĄāļđāļĨāļāđāļēāļāđ āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļ SQL Server āļŦāļĢāļ·āļ MySQL āļāļĢāđāļāļĄāļāļąāđāļāđāļāļ°āļāļģāļāļēāļĢāđāļāđ SQLx library āđāļĨāļ° Transaction āđāļāļ·āđāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāļāļĩāđāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļĄāļēāļāļĒāļīāđāļāļāļķāđāļ āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ SQL database āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ SQL database āđāļāđāļāļāļ·āđāļāļāļēāļāļŠāļģāļāļąāļāđāļāļāļēāļĢāļāļąāļāļāļēāđāļāļāļāļĨāļīāđāļāļāļąāļāļāļĩāđāļāđāļāļāļĄāļĩāļāļēāļĢāļāļąāļāđāļāđāļāđāļĨāļ°āļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨ āļāļēāļĢāđāļāđāļ āļēāļĐāļē Go āļĢāđāļ§āļĄāļāļąāļ database/sql package āļāđāļ§āļĒāđāļŦāđāļāļēāļĢāđāļāļ·āđāļāļĄāļāđāļāļāļąāļāļāļēāļāļāđāļāļĄāļđāļĨāđāļāđāļāđāļĢāļ·āđāļāļāļāđāļēāļĒāđāļĨāļ°āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ āļāļēāļĢāđāļāļ·āđāļāļĄāļāđāļāļāļąāļ database āļāļēāļĢāđāļāļ·āđāļāļĄāļāđāļāļāļąāļ database āđāļāđāļāļāļąāđāļāļāļāļāđāļĢāļāļāļĩāđāļŠāļģāļāļąāļāđāļāļāļēāļĢāđāļāđāļēāļāļķāļāļāđāļāļĄāļđāļĨ āļāļēāļĢāđāļāđāļāļąāļāļāđāļāļąāļ Open āļāļēāļ database/sql package āļāđāļ§āļĒāđāļŦāđāđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļŠāļĢāđāļēāļ connection āļāļąāļāļāļēāļāļāđāļāļĄāļđāļĨāđāļāđ āļāļēāļĢāļāļīāļāļāļąāđāļ Driver…
-

Go Programming – Fiber Web Framework: āļāļđāđāļĄāļ·āļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđ
Go Programming – Fiber Web Framework āđāļāđāļĨāļāļāļāļāļāļēāļĢāļāļąāļāļāļēāđāļ§āđāļāļāđāļ§āļĒ Go Programming, āļāļēāļĢāđāļĨāļ·āļāļāđāļāđ Web Framework āļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāđāļāđāļāļŠāļīāđāļāļŠāļģāļāļąāļ Fiber Web Framework āđāļāđāļāļŦāļāļķāđāļāđāļāļāļąāļ§āđāļĨāļ·āļāļāļāļĩāđāđāļāđāļĢāļąāļāļāļ§āļēāļĄāļāļīāļĒāļĄ āļāđāļ§āļĒāļāļ§āļēāļĄāđāļĢāđāļ§, āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ āđāļĨāļ°āļāļ§āļēāļĄāļāđāļēāļĒāđāļāļāļēāļĢāđāļāđāļāļēāļ āļāļāļāļ§āļēāļĄāļāļĩāđāļāļ°āļāļēāļāļļāļāđāļāļāļģāļāļ§āļēāļĄāļĢāļđāđāļāļąāļāļāļąāļ Fiber āļāļĒāđāļēāļāļĨāļ°āđāļāļĩāļĒāļ āļāļąāđāļāđāļāđāļāļ·āđāļāļāļēāļāļāļēāļĢāļāļīāļāļāļąāđāļ, āļāļēāļĢāļŠāļĢāđāļēāļāđāļāļĢāđāļāļāļāđ āđāļāļāļāļāļķāļāļāļēāļĢāļŠāļĢāđāļēāļ API āđāļĨāļ°āļāļēāļĢāļāļģ Authentication āļāđāļ§āļĒ JWT Fiber Web Framework āļāļ·āļāļāļ°āđāļĢ Fiber āđāļāđāļ Web Framework āļāļĩāđāļŠāļĢāđāļēāļāļāļķāđāļāļāļ Go Programming āđāļāļĒāļĄāļĩāļāļ·āđāļāļāļēāļāļĄāļēāļāļēāļ Fasthttp āļāļķāđāļāđāļāđāļ HTTP engine āļāļĩāđāļĢāļ§āļāđāļĢāđāļ§ Fiber āļāļđāļāļāļāļāđāļāļāļĄāļēāđāļŦāđāđāļāđāļāļēāļāļāđāļēāļĒ, āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļŠāļđāļ āđāļĨāļ°āļĄāļĩāļāļ§āļēāļĄāļĒāļ·āļāļŦāļĒāļļāđāļāđāļāļāļēāļĢāļāļąāļāļāļēāđāļ§āđāļāđāļāļāļāļĨāļīāđāļāļāļąāļ āļāļēāļĢāļāļīāļāļāļąāđāļ Fiber āļāļēāļĢāļāļīāļāļāļąāđāļ…
-

Go Programming – Kafka: āļāļđāđāļĄāļ·āļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļąāļāļāļē
Go Programming – Kafka āļāļēāļĢāđāļĢāļĩāļĒāļāļĢāļđāđ Go Programming āļĢāđāļ§āļĄāļāļąāļ Kafka āđāļāđāļāļāļąāļāļĐāļ°āļŠāļģāļāļąāļāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļąāļāļāļēāļāļĩāđāļāđāļāļāļāļēāļĢāļŠāļĢāđāļēāļāļĢāļ°āļāļāļāļĩāđāļāļģāļāļēāļāđāļāļ Real-time āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļąāļāļāļēāļĢāļāđāļāļĄāļđāļĨāļāļģāļāļ§āļāļĄāļŦāļēāļĻāļēāļĨāđāļāđ āļāļāļāļ§āļēāļĄāļāļĩāđāļāļ°āļāļēāļāļļāļāđāļāļāļģāļāļ§āļēāļĄāļĢāļđāđāļāļąāļāļāļąāļ Kafka āļāļĒāđāļēāļāļĨāļ°āđāļāļĩāļĒāļ āļāļąāđāļāđāļāđāļāļēāļĢāļāļīāļāļāļąāđāļ āļāļēāļĢāļāļąāđāļāļāđāļē āđāļāļāļāļāļķāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāđāļ Go āđāļāļ·āđāļāđāļāđāļāļēāļ Kafka āļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ āđāļĄāđāļ§āđāļēāļāļļāļāļāļ°āđāļāđāļāļĄāļ·āļāđāļŦāļĄāđāļŦāļĢāļ·āļāļĄāļĩāļāļĢāļ°āļŠāļāļāļēāļĢāļāđāđāļāļāļēāļĢāļāļąāļāļāļēāļĄāļēāļāđāļāļ āļāļļāļāļāļ°āđāļāđāļĢāļąāļāļāļ§āļēāļĄāļĢāļđāđāđāļĨāļ°āđāļāļ§āļāļēāļāđāļāļāļēāļĢāļāļģ Kafka āđāļāļāļĢāļ°āļĒāļļāļāļāđāđāļāđāđāļāđāļāļĢāđāļāļāļāđāļāļāļāļāļļāļ āļāļēāļĢāļāļīāļāļāļąāđāļāđāļĨāļ°āđāļāđāļāļēāļ Kafka āļāđāļāļāļāļĩāđāđāļĢāļēāļāļ°āđāļĢāļīāđāļĄāļāđāļāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄ Go āļāļąāļ Kafka āđāļĢāļēāļāļģāđāļāđāļāļāđāļāļāļāļīāļāļāļąāđāļāđāļĨāļ°āļāļąāđāļāļāđāļē Kafka āđāļŠāļĩāļĒāļāđāļāļ āļāļąāđāļāļāļāļāļāļĩāđāđāļāđāļāļāļ·āđāļāļāļēāļāļāļĩāđāļŠāļģāļāļąāļāđāļāļ·āđāļāđāļŦāđāļāļļāļāļŠāļēāļĄāļēāļĢāļāļāļāļĨāļāļāđāļĨāļ°āļāļąāļāļāļēāđāļāļĢāđāļāļĢāļĄāđāļāđāļāļĒāđāļēāļāļĢāļēāļāļĢāļ·āđāļ āļāļēāļĢāļāļēāļ§āļāđāđāļŦāļĨāļāđāļĨāļ°āļāļīāļāļāļąāđāļ Kafka āđāļĢāļīāđāļĄāļāđāļāļāđāļ§āļĒāļāļēāļĢāļāļēāļ§āļāđāđāļŦāļĨāļ Kafka āļāļēāļāđāļ§āđāļāđāļāļāđ Apache Kafka āļāļļāļāļŠāļēāļĄāļēāļĢāļāđāļĨāļ·āļāļāđāļ§āļāļĢāđāļāļąāļāļĨāđāļēāļŠāļļāļāđāļāđ āļŦāļĨāļąāļāļāļēāļāļāļēāļ§āļāđāđāļŦāļĨāļāđāļŠāļĢāđāļāļŠāļīāđāļ āđāļŦāđāļāļģāļāļēāļĢāđāļāļāđāļāļĨāđāđāļĨāļ°āļāļīāļāļāļąāđāļāļāļēāļĄāļāļģāđāļāļ°āļāļģāļāļāđāļ§āđāļāđāļāļāđ āļāļēāļĢāļāļąāđāļāļāđāļē Kafka Broker Kafka Broker āļāļ·āļāļŦāļąāļ§āđāļāļŦāļĨāļąāļāļāļāļāļĢāļ°āļāļ Kafka āļāļļāļāļāđāļāļāļāļģāļāļēāļĢāļāļąāđāļāļāđāļē Broker…
-

Go Programming – gRPC: āļāļđāđāļĄāļ·āļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļąāļāļāļē
Go Programming – gRPC gRPC (Remote Procedure Call) āđāļāđāļ framework RPC āđāļāļāđāļāđāļāļāļāļāļĢāđāļŠāļāļĩāđāđāļāđāļĢāļąāļāļāļ§āļēāļĄāļāļīāļĒāļĄāļāļĒāđāļēāļāļŠāļđāļāđāļāļāļēāļĢāļāļąāļāļāļē microservices āđāļĨāļ°āļĢāļ°āļāļ distributed applications āļāđāļ§āļĒāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļŠāļ·āđāļāļŠāļēāļĢāļĢāļ°āļŦāļ§āđāļēāļ service āļāļĩāđāļĢāļ§āļāđāļĢāđāļ§āđāļĨāļ°āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ gRPC āļāļĨāļēāļĒāđāļāđāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļŠāļģāļāļąāļāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļąāļāļāļēāļāļĩāđāļāđāļāļāļāļēāļĢāļŠāļĢāđāļēāļāļĢāļ°āļāļāļāļĩāđāļĄāļĩāļāļ§āļēāļĄāļĒāļ·āļāļŦāļĒāļļāđāļāđāļĨāļ°āļāļĢāļąāļāļāļāļēāļāđāļāđ āđāļāļāļāļāļ§āļēāļĄāļāļĩāđ āđāļĢāļēāļāļ°āļĄāļēāđāļāļēāļ°āļĨāļķāļāđāļāļĩāđāļĒāļ§āļāļąāļāļāļēāļĢāđāļāđāļāļēāļ gRPC āļāđāļ§āļĒāļ āļēāļĐāļē Go āļāļąāđāļāđāļāđāļāļ·āđāļāļāļēāļāļāļāļāļķāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāđāļāđāļāļēāļāļāļĢāļīāļ āļ āļēāļāļĢāļ§āļĄ gRPC gRPC āļāļ·āļ Remote Procedure Call (RPC) framework āļāļĩāđāļāļąāļāļāļēāđāļāļĒ Google āļāļķāđāļāļāđāļ§āļĒāđāļŦāđāļāļēāļĢāļŠāļ·āđāļāļŠāļēāļĢāļĢāļ°āļŦāļ§āđāļēāļ service āđāļāđāļāđāļāļāļĒāđāļēāļāļāđāļēāļĒāļāļēāļĒāđāļĨāļ°āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ gRPC āđāļāđ Protocol Buffers (Proto Buffer) āđāļāđāļ Interface Definition Language (IDL) āđāļāļāļēāļĢāļāļģāļŦāļāļāđāļāļĢāļāļŠāļĢāđāļēāļāļāđāļāļĄāļđāļĨāđāļĨāļ° service interfaces…
-

Go Programming – Hexagonal Architecture: āļāļđāđāļĄāļ·āļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđ
Go Programming – Hexagonal Architecture Hexagonal Architecture āļŦāļĢāļ·āļāļāļĩāđāļĢāļđāđāļāļąāļāļāļąāļāđāļāļāļ·āđāļ Ports and Adapters Architecture āđāļāđāļāđāļāļ§āļāļēāļāđāļāļāļēāļĢāļāļāļāđāļāļāļāļāļāļāđāđāļ§āļĢāđāļāļĩāđāđāļāđāļāļāļēāļĢāđāļĒāļāļŠāđāļ§āļāļāļĢāļ°āļāļāļ (separation of concerns) āđāļāļ·āđāļāđāļŦāđāđāļāđāļāļĄāļĩāļāļ§āļēāļĄāļĒāļ·āļāļŦāļĒāļļāđāļ āļāļāļŠāļāļāļāđāļēāļĒ āđāļĨāļ°āļāļĢāļąāļāđāļāļĨāļĩāđāļĒāļāđāļāđāļāđāļēāļĒāļāļķāđāļ āđāļāļāļāļāļ§āļēāļĄāļāļĩāđ āđāļĢāļēāļāļ°āļĄāļēāđāļāļēāļ°āļĨāļķāļāļāļķāļāļŦāļĨāļąāļāļāļēāļĢāļāļāļ Hexagonal Architecture āđāļĨāļ°āļ§āļīāļāļĩāļāļēāļĢāļāļģāđāļāļāļĢāļ°āļĒāļļāļāļāđāđāļāđāđāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāļāđāļ§āļĒāļ āļēāļĐāļē Go (Go Programming) āļāļĢāđāļāļĄāļāļąāđāļāļĒāļāļāļąāļ§āļāļĒāđāļēāļāļāļēāļĢāđāļāđāļāļēāļāļāļĢāļīāļ Introduction to Hexagonal Architecture Hexagonal Architecture āļāļ·āļāļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄāļāļāļāļāđāđāļ§āļĢāđāļāļĩāđāļāļāļāđāļāļāļĄāļēāđāļāļ·āđāļāļĨāļāļāļēāļĢāļāļķāđāļāļāļēāļāļąāļāļĢāļ°āļŦāļ§āđāļēāļāļŠāđāļ§āļāļāļĢāļ°āļāļāļāļāđāļēāļāđ āļāļāļāļĢāļ°āļāļ āđāļāļĒāļĄāļĩāđāļāđāļēāļŦāļĄāļēāļĒāļŦāļĨāļąāļāļāļ·āļāļāļēāļĢāļāļģāđāļŦāđāđāļāđāļāļĄāļĩāļāļ§āļēāļĄāļĒāļ·āļāļŦāļĒāļļāđāļāļāđāļāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāđāļāļĨāļāļāļāļāđāļāļāđāļāđāļĨāļĒāļĩāļ āļēāļĒāļāļāļ āđāļāđāļ āļāļēāļāļāđāļāļĄāļđāļĨ āļŦāļĢāļ·āļ API āļāđāļēāļāđ What is Hexagonal Architecture? Hexagonal Architecture āļĄāļāļāļ§āđāļēāļĢāļ°āļāļāļāļāļāļāđāđāļ§āļĢāđāļāļĢāļ°āļāļāļāļāđāļ§āļĒ “core” āļŦāļĢāļ·āļāđāļāļāļŦāļĨāļąāļ āļāļķāđāļāđāļāđāļāļāļĩāđāļāļĒāļđāđāļāļāļ business logic āđāļĨāļ°…
-

Go Programming – Basic Syntax: āđāļĢāļĩāļĒāļāļĢāļđāđāđāļ§āļĒāļēāļāļĢāļāđāļāļ·āđāļāļāļēāļāļāļāļąāļāļŠāļĄāļāļđāļĢāļāđ
Go Programming – Basic Syntax Go āđāļāđāļāļ āļēāļĐāļēāđāļāļĢāđāļāļĢāļĄāļĄāļīāđāļāļāļĩāđāđāļāđāļĢāļąāļāļāļ§āļēāļĄāļāļīāļĒāļĄāļāļĒāđāļēāļāļŠāļđāļāđāļāļāļąāļāļāļļāļāļąāļ āļāđāļ§āļĒāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļāļģāļāļēāļāļāļĩāđāļĢāļ§āļāđāļĢāđāļ§, āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļŠāļđāļ, āđāļĨāļ°āļāđāļēāļĒāļāđāļāļāļēāļĢāđāļĢāļĩāļĒāļāļĢāļđāđ āļāļģāđāļŦāđ Go āđāļāđāļāļāļąāļ§āđāļĨāļ·āļāļāļāļĩāđāļāđāļēāļŠāļāđāļāļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļąāļāļāļēāļŦāļĨāļēāļĒāļāđāļēāļ āļāļāļāļ§āļēāļĄāļāļĩāđāļāļ°āļāļēāļāļļāļāđāļāļāļģāļāļ§āļēāļĄāļĢāļđāđāļāļąāļāļāļąāļ Go Programming – Basic Syntax āļāļąāđāļāđāļāđāļāļ·āđāļāļāļēāļāļāļēāļĢāļāļīāļāļāļąāđāļ āđāļāļāļāļāļķāļāļāļēāļĢāđāļāđāļāļēāļāđāļ§āļĒāļēāļāļĢāļāđāđāļāļ·āđāļāļāļāđāļ āđāļāļ·āđāļāđāļŦāđāļāļļāļāļŠāļēāļĄāļēāļĢāļāđāļĢāļīāđāļĄāļāđāļāļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāļāđāļ§āļĒ Go āđāļāđāļāļĒāđāļēāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ āļāļēāļĢāļāļīāļāļāļąāđāļ Go āļāļēāļĢāļāļīāļāļāļąāđāļ Go āđāļāđāļāļāļąāđāļāļāļāļāđāļĢāļāļāļĩāđāļŠāļģāļāļąāļāđāļāļāļēāļĢāđāļĢāļīāđāļĄāļāđāļāđāļāđāļāļēāļ āļĄāļĩāļŦāļĨāļēāļĒāļ§āļīāļāļĩāđāļŦāđāđāļĨāļ·āļāļ āļāļķāđāļāļāļĒāļđāđāļāļąāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢāđāļĨāļ°āļāļ§āļēāļĄāļāļāļąāļāļāļāļāļāļđāđāđāļāđāļāļēāļ āļ§āļīāļāļĩāļāļīāļāļāļąāđāļ Go āļĄāļĩāļŦāļĨāļēāļĒāļ§āļīāļāļĩāđāļāļāļēāļĢāļāļīāļāļāļąāđāļ Go āđāļĄāđāļ§āđāļēāļāļ°āđāļāđāļāļāļēāļĢāļāļīāļāļāļąāđāļāļāđāļēāļ Build-in Store, āļāļēāļĢāļāļīāļāļāļąāđāļāđāļāļ Tar āļŦāļĢāļ·āļāļāļēāļĢāđāļĨāļ·āļāļāđāļ§āļāļĢāđāļāļąāđāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāļāļąāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢāļāļāļāļāļļāļ āļāļēāļĢāļāļīāļāļāļąāđāļāļāđāļēāļ Build-in Store āļŠāļģāļŦāļĢāļąāļāļāļđāđāđāļĢāļīāđāļĄāļāđāļ āļ§āļīāļāļĩāļāļĩāđāļāđāļēāļĒāļāļĩāđāļŠāļļāļāļāļ·āļāļāļēāļĢāļāļīāļāļāļąāđāļāļāđāļēāļ Build-in Store āļāļāļāļĢāļ°āļāļāļāļāļīāļāļąāļāļīāļāļēāļĢāļāļĩāđāļāļļāļāđāļāđāļāļēāļ āđāļāđāļ Windows, macOS āļŦāļĢāļ·āļ Linux āļāļēāļĢāļāļīāļāļāļąāđāļāđāļāļ…
-

āļāļģāđāļĄ “āļāļīāļ§āđāļāļāļĢāđ” āļāļķāļāļāđāļēāļĒāļāļ§āđāļēāļāļāļāļāļąāđāļ | InvestāđāļĄāļ #03
āļāļģāđāļĄ “āļāļīāļ§āđāļāļāļĢāđ” āļāļķāļāļāđāļēāļĒāļāļ§āđāļēāļāļāļāļāļąāđāļ | InvestāđāļĄāļ #03 āđāļāđāļĨāļāļāļāļāļāļēāļĢāļĨāļāļāļļāļ āļĄāļĩāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļēāļāļāļēāļĢāđāļāļīāļāļĄāļēāļāļĄāļēāļĒāđāļŦāđāđāļĨāļ·āļāļāđāļāđ āļŦāļāļķāđāļāđāļāļāļąāđāļāļāļ·āļ “āļāļīāļ§āđāļāļāļĢāđ” āļŦāļĢāļ·āļāļŠāļąāļāļāļēāļāļ·āđāļāļāļēāļĒāļĨāđāļ§āļāļŦāļāđāļē āļāļķāđāļāļĄāļąāļāļāļđāļāļāļģāđāļāđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļāļąāļ “āļāļāļāļāļąāđāļ” āļŦāļĢāļ·āļāļŠāļīāļāļāļīāđāļāļāļēāļĢāļāļ·āđāļāļāļēāļĒ āļāļĒāđāļēāļāđāļĢāļāđāļāļēāļĄ āļāļīāļ§āđāļāļāļĢāđāļāļĨāļąāļāļĄāļĩāļāđāļāđāļāđāđāļāļĢāļĩāļĒāļāđāļāđāļāđāļāļāļāļāļ§āļēāļĄāđāļāđāļēāđāļāļāđāļēāļĒ āđāļāļĒāđāļāļāļēāļ°āļŠāļģāļŦāļĢāļąāļāļāļąāļāļĨāļāļāļļāļāļĄāļ·āļāđāļŦāļĄāđ āļāļāļāļ§āļēāļĄāļāļĩāđāļāļ°āļāļēāđāļāļŠāļģāļĢāļ§āļāļ§āđāļēāļāļģāđāļĄ “āļāļīāļ§āđāļāļāļĢāđ” āļāļķāļāđāļāđāļāļāļąāļ§āđāļĨāļ·āļāļāļāļĩāđāļāđāļēāļŠāļāđāļāļāļ§āđāļē “āļāļāļāļāļąāđāļ” āđāļĨāļ°āđāļāļēāļ°āļĨāļķāļāļāļĨāđāļāļāļēāļĢāļāļģāļāļēāļāļāļāļāļāļīāļ§āđāļāļāļĢāđāļāļĒāđāļēāļāļĨāļ°āđāļāļĩāļĒāļ āļāļīāļ§āđāļāļāļĢāđāļāļ·āļāļāļ°āđāļĢ? āļāļīāļ§āđāļāļāļĢāđ (Future) āļāļ·āļ āļŠāļąāļāļāļēāļāļ·āđāļāļāļēāļĒāļĨāđāļ§āļāļŦāļāđāļēāļāļĢāļ°āđāļ āļāļŦāļāļķāđāļ āđāļāđāļāļāđāļāļāļāļĨāļāļĢāļ°āļŦāļ§āđāļēāļāļāļđāđāļāļ·āđāļāđāļĨāļ°āļāļđāđāļāļēāļĒāđāļāļāļēāļĢāļāļ·āđāļāļŦāļĢāļ·āļāļāļēāļĒāļŠāļīāļāļāļĢāļąāļāļĒāđāļāđāļēāļāļāļīāļāđāļāļāļāļēāļāļ āļ āļĢāļēāļāļēāđāļĨāļ°āļ§āļąāļāļāļĩāđāļāļĩāđāļāļģāļŦāļāļāđāļ§āđāļĨāđāļ§āļāļŦāļāđāļē āļāļļāļāļāļĢāļ°āļŠāļāļāđāļāļąāđāļāđāļāļīāļĄāļāļāļāļāļīāļ§āđāļāļāļĢāđ āļāļļāļāļāļĢāļ°āļŠāļāļāđāļŦāļĨāļąāļāļāļāļāļāļīāļ§āđāļāļāļĢāđāļāļ·āļāļāļēāļĢāļĨāļāļāļ§āļēāļĄāđāļŠāļĩāđāļĒāļāđāļāļāļāļēāļāļ āđāļāļĒāđāļāļīāļāđāļāļāļēāļŠāđāļŦāđāļāļđāđāļāļĢāļ°āļāļāļāļāļēāļĢāđāļĨāļ°āļāļđāđāļāļĨāļīāļāļŠāļēāļĄāļēāļĢāļāļ§āļēāļāđāļāļāļāļēāļĢāļāļ·āđāļāļāļēāļĒāļŠāļīāļāļāđāļēāđāļāđāļĨāđāļ§āļāļŦāļāđāļē āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļ āļāļđāđāļāļĨāļīāļāļāđāļēāļ§āļŠāļēāļĢāļŠāļēāļĄāļēāļĢāļāļāļģāļŠāļąāļāļāļēāļāļīāļ§āđāļāļāļĢāđāđāļāļ·āđāļāļāļēāļĒāļāđāļēāļ§āļŠāļēāļĢāđāļāļĢāļēāļāļēāļāļĩāđāđāļāđāļāļāļāđāļāļāļāļēāļāļ āļāļķāđāļāļāđāļ§āļĒāļĨāļāļāļ§āļēāļĄāļāļąāļāļ§āļĨāđāļāļĩāđāļĒāļ§āļāļąāļāļāļ§āļēāļĄāļāļąāļāļāļ§āļāļāļāļāļĢāļēāļāļēāļāđāļēāļ§āļŠāļēāļĢāđāļāļāļĨāļēāļ āļāļīāļ§āđāļāļāļĢāđ vs. Option: āļāđāļāđāļāļāļāđāļēāļāļāļĩāđāļŠāļģāļāļąāļ āļāđāļāđāļāļāļāđāļēāļāļāļĩāđāļŠāļģāļāļąāļāļāļĩāđāļŠāļļāļāļĢāļ°āļŦāļ§āđāļēāļāļāļīāļ§āđāļāļāļĢāđāđāļĨāļ°āļāļāļāļāļąāđāļāļāļ·āļ āļāļīāļ§āđāļāļāļĢāđāđāļāđāļāļŠāļąāļāļāļēāļāļĩāđ “āļāļąāļāļāļąāļ” āđāļŦāđāļāļđāđāļāļ·āļāļŠāļąāļāļāļēāļāđāļāļāļāļ·āđāļāļāļēāļĒāļŠāļīāļāļāļĢāļąāļāļĒāđāļāđāļēāļāļāļīāļāļāļēāļĄāđāļāļ·āđāļāļāđāļāļāļĩāđāļāļāļĨāļāļāļąāļāđāļ§āđ āđāļāļāļāļ°āļāļĩāđāļāļāļāļāļąāđāļāđāļāđāļāļŠāļąāļāļāļēāļāļĩāđāđāļŦāđ “āļŠāļīāļāļāļī” āđāļāđāļāļđāđāļāļ·āļāļŠāļąāļāļāļēāđāļāļāļēāļĢāļāļ·āđāļāļŦāļĢāļ·āļāļāļēāļĒāļŠāļīāļāļāļĢāļąāļāļĒāđāļāđāļēāļāļāļīāļ āđāļāđāđāļĄāđāđāļāđāļāļąāļāļāļąāļ āļāļĨāđāļāļāļāļāļāļīāļ§āđāļāļāļĢāđ āđāļāļ·āđāļāđāļŦāđāļāļēāļĢāļāļ·āđāļāļāļēāļĒāļāļīāļ§āđāļāļāļĢāđāđāļāđāļāđāļāļāļĒāđāļēāļāļĒāļļāļāļīāļāļĢāļĢāļĄāđāļĨāļ°āļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ āļĄāļĩāļāļĨāđāļāļŠāļģāļāļąāļāļŠāļāļāļāļĢāļ°āļāļēāļĢāļāļĩāđāļāļ§āļĢāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļ āđāļāđāđāļāđ āļāļēāļĢāļ§āļēāļāđāļāļīāļāļŦāļĨāļąāļāļāļĢāļ°āļāļąāļāđāļĨāļ°āļāļēāļĢāļāļīāļāļāļģāđāļĢāļāļēāļāļāļļāļāđāļāļ Real-time āļāļēāļĢāļ§āļēāļāđāļāļīāļāļŦāļĨāļąāļāļāļĢāļ°āļāļąāļ…