go Archive

มาลองใช้งาน NATS JetStream เล่น ๆ

เห็นว่า NATS นั้นมี JetStream มาให้ใช้งานเพื่อมาจัดการปัญหาเรื่องของ persistence และ นโยบายการ delivery messageรวมทั้งให้ง่ายต่อการ scale และรองรับข้อมูลขนาดใหญ่สามารถดูเป้าหมายการออกแบบของ JetStream เพิ่มได้ที่นี่

Read More…

ลองทดสอบกับ Go gin ด้วย test mode

จากกลุ่ม Golang Thailand มีคำถามเกี่ยวกับการทดสอบระบบงานที่พัฒนาด้วยภาษา Goโดยในคำถาม จากที่เข้าใจเป็นดังนี้ ระบบงานพัฒนาด้วย Gin web framework ทำการ post data ด้วย Form data ต้องการทดสอบผ่าน Test mode ของ Gin + HttpTest

Read More…

มาลองสร้าง Golang package server ใช้เอง

เพิ่งเห็นว่าเราสามารถสร้าง Golang package server ได้เองสำหรับการจัดการ package และการเขียนเอกสารต่าง ๆ ได้แบบง่าย ๆโดย source code อยู่ที่ Pkgsite ใน GitHub

Read More…

สรุปการ generate code จาก sql ด้วย sqlc, DBML และ Taskfile

ใน project ที่ทำอยู่นั้น มีการใช้งาน database ตลอดพบว่าต้องเขียนชุดคำสั่ง sql และ เขียน code ซ้ำ ๆ เยอะจึงเกิดความขี้เกียจ ก็เลยหาแนวทางแก้ไขหน่อยจึงพบแนวทางที่น่าสนใจ และ นำมาใช้งานดังนี้

Read More…

ทำการสร้าง service ง่าย ๆ ด้วย RK-Boot

เพิ่งเห็นว่ามี RK-Boot สำหรับการสร้าง project/service จาก template ในรูปแบบของ YAMLโดย code ที่ได้มานั้นเป็นภาษา Goช่วยทำให้เราสร้าง project ขึ้นมาได้ง่ายและ repeat ได้อีกด้วยดังนั้นจึงลองใช้งานกันหน่อย

Read More…

[Golang] ทำไม JSON message ไม่เรียงตามที่ต้องการ

มีคำถามที่น่าสนใจคือ ในการ return JSON responseจาก REST API ที่พัฒนาด้วยภาษา Goแล้วทำไมไม่เรียง property ตามที่เขียนใน codeโดย code ตัวอย่างเป็นดังนี้

Read More…

ปัญหาใน Go 1.18 :: syscall_darwin.1_13.go:25:3: //go:linkname must refer to declared function or variable

วันนี้ลอง build ระบบงานที่พัฒนาด้วยภาษา Go โดยทำการ upgrade เป็น version 1.18 บน MacOSผลปรากฎว่า เจอ error ดังนี้

Read More…

สรุปเรื่องการใช้ภาษา Go ที่ Bit.ly

จาก Golang weekly นั้น มี link บทความการนำภาษามาใช้งานในระบบของ Bit.lyWhy we write everything in Go ?จึงทำการสรุปไว้นิดหน่อย

Read More…

เจอการเขียน Dockerfile แปลก ๆ สำหรับภาษา Go

วันนี้ทำการ review project ที่พัฒนาด้วยภาษา Goมีสิ่งที่น่าสนใจคือ การเขียน Dockerfileซึ่งมีหลายรูปแบบเลย แถมแปลก ๆ ด้วยจึงนำมาสรุปไว้นิดหน่อย

Read More…

การใช้งาน Go workspace ใน Go 1.18

ใน Go 1.18 นั้นมี feature workspace ที่ช่วยให้เราสามารถ reference module ต่าง ๆ บน local ได้ง่ายโดยจะทำการเพิ่ม $go work เข้ามาให้ใช้งานจากนั้นก็เพิ่ม module ต่าง ๆ เข้ามาได้เลย

Read More…