go Archive

ลองใช้งาน Green Tea GC ใน Go 1.25 นิดหน่อย

เห็นว่าใน go 1.25 มี garbage collector ชื่อว่า Green Tea GC มาให้ลองใช้งานจากที่อ่านมาพบว่า ออกแบบมาเพื่อลด overhead การทำงานของ gc ลงไป สำหรับการ struct ขนาดเล็กจำนวนมาก ๆ แต่มีช่วงชีวิตที่สั้น

Read More…

มาดูความสามารถที่น่าสนใจของ Go 1.25

ลองทำการ upgrade ระบบงานที่พัฒนาด้วยภาษา Go มาเป็น version 1.25พบว่ามีความสามารถที่น่าสนใจ สำหรับการพัฒนาระบบงานยกตัวอย่างเช่น มาลองใช้งานกันดู

Read More…

OpenTelemetry :: เรื่อง auto instrumentation สำหรับภาษา Go

เมื่อต้นปีที่ผ่านมานั้น ทาง OpenTelemetry ได้ปล่อย Go Auto-Instrumentation using eBPF ออกมาซึ่งเป็น beta version ให้ลองใช้งานกันดูช่วยให้นักพัฒนาไม่ต้องเป็นเขียน code เพิ่มเติมสำหรับจัดการพวก log, trace และ metric เองซึ่งช่วยอำนวยความสะดวกขึ้นเยอะมาก ๆโดย library สำหรับภาษา Java, Java และ Python ก็ทำได้แล้วดังนั้นมาดูกันว่าเป็นอย่างไร และใช้งานอย่างไรบ้าง

Read More…

มาลองสร้าง MCP Server ด้วยภาษา Go เล่นกัน

ว่าง ๆ มาลองสร้าง MCP Server ด้วยภาษา Go กันหน่อยโดยมีคนสร้าง library มาให้ใช้งานคือ mcp-goดังนั้นจึงลองสร้าง server ทำหน้าที่คำนวณเลขบวก ลบ คูณ หาร ทั่วไปจากนั้นทำการ build image ด้วย Dockerปิดท้ายด้วยการทดสอบใช้งาน MCP Server ด้วย mcphostช่วยให้เราทดสอบ tool หรือ MCP server ต่าง ๆ ได้แบบง่าย ๆที่สำคัญสามารถเลือก LLM provider ได้อีกด้วยแสดงการทำงานดังรูป

Read More…

ความสามารถที่น่าสนใจใน Go 1.24 rc2

ในเดือนกุมภาพันธุ์นี้ Go 1.24 ตัวเต็มน่าจะถูกปล่อยออกมาให้ใช้งานส่วนตอนนี้เป็น version RC2 อยู่ดังนั้นมาดูความสามารถที่น่าสนใจกันหน่อยว่ามีอะไรบ้าง ?ใครสนใจในรายละเอียดอ่าน Release notes ได้

Read More…

Go :: มาทำการทดสอบระบบงานกับ Database ด้วย TestContainer กัน

จากที่แบ่งปันเรื่อง Full Stack Testing ที่ Skooldio ไปนั้นได้อธิบายถึงการสร้างหรือจำลอง dependencies ต่าง ๆ ที่ระบบงานต้องใช้งานเพื่อควบคุมผลการทำงานให้เป็นไปตามที่ต้องการไม่ว่าจะ success หรือ failureเพื่อช่วยให้เราทดสอบระบบงานของเราได้อย่างมั่นใจ และ ทำซ้ำ ๆ ได้บ่อยเท่าที่ต้องการหนึ่งในวิธีการที่แนะนำไป แต่ยังไม่ทำการ demo ให้ดูนั่นก็คือ การใช้งาน TestContainerจึงมาเขียนอธิบายให้เพิ่มเติมดังนี้

Read More…

มาดูการเปลี่ยนแปลงของ MongoDB Go Driver 2.0.0

ทีมพัฒนา MongoDB Go Driver ได้ปล่อย version 2.0.0 ออกมาโดยมีทั้ง feature ใหม่ และ breaking change ต่าง ๆ มาดูกันว่ามีอะไรที่น่าสนใจบ้าง

Read More…

ว่าง ๆ มาลองทำความรู้จักกับ RESP Protocol กันแบบง่าย ๆ

RESP Protocol หรือ REdis Serialization Protocolเป็น protocol ที่ Redis ใช้ในการติดต่อสื่อสารกันโดยมรเป้าหมายดังนี้ โดยข้อมูลที่ serialize ได้มีหลายหลายชนิดทั้ง integer, string และ arrayดังนั้นเพื่อความเข้าใจ มาลองศึกษา และ เขียน code สร้างขึ้นมาเองแบบง่าย ๆ

Read More…

Use case :: การดึงข้อมูลจาก database ที่ช้า จนเกิด Timeout

ปัญหาที่พบเจอกับระบบงานง่าย ๆ ที่พัฒนาด้วยภาษา Go เป็นดังนี้ ปัญหาคือ เมื่อมี load จำนวนมากเกินกว่า max connection ใน connectio poolจึงทำให้เกิด timeout ในการดึงข้อมูลขึ้นมาจะแก้ไขอย่างไรดี

Read More…

ลองใช้งาน Grafana Beyla กันหน่อย

Grafana Beyla เป็นเครื่องมือสำหรับจัดการข้อมูล observability ของ application แบบง่าย ๆเช่น application metric และ distributed tracingด้วยการสร้าง auto-instrumentation เพื่อดึงข้อมูลจาก eBPF (Extended Berkeley Packet Filter) ได้เลยทำให้ในฝั่ง application ไม่ต้องเพิ่ม code ใด ๆ เข้าไปโดยใน Grafana Beyla นั้นสนับสนุน multi-processจึงส่งผลให้ดึงข้อมูลของแต่ละ process ที่อยู่บนเครื่องเดียวกันได้

Read More…