RESP Protocol หรือ REdis Serialization Protocolเป็น protocol ที่ Redis ใช้ในการติดต่อสื่อสารกันโดยมรเป้าหมายดังนี้ โดยข้อมูลที่ serialize ได้มีหลายหลายชนิดทั้ง integer, string และ arrayดังนั้นเพื่อความเข้าใจ มาลองศึกษา และ เขียน code สร้างขึ้นมาเองแบบง่าย ๆ
Read More…
ปัญหาที่พบเจอกับระบบงานง่าย ๆ ที่พัฒนาด้วยภาษา Go เป็นดังนี้ ปัญหาคือ เมื่อมี load จำนวนมากเกินกว่า max connection ใน connectio poolจึงทำให้เกิด timeout ในการดึงข้อมูลขึ้นมาจะแก้ไขอย่างไรดี
Read More…
Grafana Beyla เป็นเครื่องมือสำหรับจัดการข้อมูล observability ของ application แบบง่าย ๆเช่น application metric และ distributed tracingด้วยการสร้าง auto-instrumentation เพื่อดึงข้อมูลจาก eBPF (Extended Berkeley Packet Filter) ได้เลยทำให้ในฝั่ง application ไม่ต้องเพิ่ม code ใด ๆ เข้าไปโดยใน Grafana Beyla นั้นสนับสนุน multi-processจึงส่งผลให้ดึงข้อมูลของแต่ละ process ที่อยู่บนเครื่องเดียวกันได้
Read More…
ก่อนนอนพบว่า Go 1.23 ตัว final เพิ่งปล่อยออกมา เลยลอง update มาใช้กันหน่อยโดยใน version นี้มี package ใหม่ ๆ และ feature ใหม่ ๆ เพิ่มเข้ามาดังนี้ หลัก ๆ เริ่มจาก package iter หรือ iterators ของ พวก type Seq และ Seq2ซึ่งสามารถสร้างมาจากข้อมูลประเภท slice และ map นั่นเอง มาดูตัวอย่าง code กันหน่อย
Read More…
เห็นใน Go community ทำการการแนะนำ GoFr คือ framework สำหรับพัฒนา service หรือ mocroservice ด้วยภาษา Goโดยที่ build-in library ต่าง ๆ ที่จำเป็นต่อการใช้งานเข้ามาให้เพียบ (เยอะไปหรือเปล่านะ)แต่คิดว่าน่าจะช่วยลดงานต่าง ๆ ลงไปได้เยอะทำให้นักพัฒนาไป focus ที่ business logic มากยิ่งขึ้น
Read More…
คำถามที่น่าสนใจเกี่ยวกับการจัดการ error ในภาษา Goว่าถ้าต้องการโยน error หลายตัวกลับมาจาก function แบบง่าย ๆทำแบบไหนได้บ้าง ? ก่อนหน้านี้แนะนำ Multiple errors ไปแล้ว ด้วย errors.Join()มาดูอีกวิธีกันดูเลือกเอาที่ความชอบไปเลย
Read More…
คำถามจากการ share เรื่องการพัฒนาระบบด้วยภาษา Goโดยใน Dockerfile พบว่า ทำการ download package ที่ใช้งานด้วยคำสั่ง go mod downloadแต่ในการพัฒนานั้น เรามักจะใช้งานด้วยคำสั่ง go mod tidy มากกว่าดังนั้นทั้งสองคำสั่งนี้ต่างหรือเหมือนกันอย่างไร
Read More…
แนว 12-factors app นั้นเป็นแนวคิดที่สร้างมาผู้สร้างระบบ Herokuโดยถูกหยิบมาพูด หรือ ใช้งานมากขึ้นในยุคของ Cloud Native Appประกอบไปด้วย 12 ข้อ และดูเหมือนว่าจะมีคนคิดเพิ่มมาอีก 3 เป็น 15 ข้อผมเคยเขียน blog อธิบายไว้เมื่อนานมาแล้วมาครั้งนี้มีคำถามจากการแบ่งปันเรื่อง Docker + Go + Microservicesว่ามีตัวอย่างหรือไม่ จึงทำการสร้างตัวอย่างพร้อมอธิบายสั้น ๆ ไว้ให้เพื่อช่วยให้เข้าใจมากยิ่งขึ้นมาเริ่มกันเลย
Read More…
มาดูความสามารถที่น่าสนใจใน Go 1.22 กัน ว่ามีอะไรบ้าง มาดูกันเลย
Read More…
ช่วงหลัง ๆ มีการพูดถึง HTMX เยอะพอสมควรก็เลยลองมาศึกษานิดหน่อย แต่พอไปอ่านเอกสารแล้วเยอะน่าดูเลยลองเขียน program เล่น ๆ เพื่อศึกษาไปดีกว่าโดยเลือกใช้งาน HTMX กับ Go มาพัฒนา server-side กันมาดูว่าทำอย่างไรบ้าง
Read More…