go Archive

Go 1.20​ :: การใช้งาน multiple error

หนึ่งใน feature ของการจัดการ Error ใน Go 1.20 นั้นคือการจัดการ multiple error ด้วย function Join() ใน errors packageและสามารถตรวจสอบด้วย function Is() ด้วยน่าจะช่วยให้การจัดการ error สะดวกขึ้นมาดูตัวอย่างการใช้งานง่าย ๆ

Read More…

Go 1.20 การ convert จาก slice มาเป็น array

ใน Go 1.20 นั้นมีการเปลี่ยนแปลงตัวภาษานิดหน่อยหนึ่งในนั้นคือ การ convert ข้อมูลจาก slice มาเป็น arrayซึ่งเป็นความรู้ใหม่เล็ก ๆ ที่น่าสนใจ

Read More…

Go 1.20 :: ปรับปรุงการแปลงค่าจาก array ไปเป็น string

เช้านี้เห็นในกลุ่ม Go กำลังพูดคุยเกี่ยวกับ Go 1.20 ว่าในการแปลงค่าจาก array ไปเป็น string นั้นเร็วขึ้นอย่างมากและลดการจองพื้นที่ในหน่วยความจำลงไปอย่างมากโดยใช้ function ชื่อว่า String() ใน package unsafeมาดูตัวอย่างการใช้งานกัน

Read More…

ลองใช้งาน Ddosify สำหรับ performance testing ระบบงานกัน

วันนี้ได้ลองใช้งาน Ddosify เป็นเครื่องมือสำหรับการทำ performance testing ระบบงานซึ่งพัฒนาด้วยภาษา Go และยังมี Docker image รวมทั้ง Docker extension ให้ใช้งานกันแบบง่าย ๆโดยจะสนับสนุน HTTP protocol ทั้ง 1 และ 2สามารถเขียน scenario การทดสอบได้ด้วย JSON file

Read More…

ว่าง ๆ ลองให้ ChatGPT เขียน code สำหรับพัฒนาและทดสอบระบบงาน

เห็นมีคนลองใช้งานกันเยอะ สำหรับ OpenGPTจึงลองใช้งานดูบ้าง โดยสิ่งที่ต้องการประกอบไปด้วย สร้าง REST API ด้วยภาษา Go และใช้ Echo framework ทำการทดสอบในส่วนของ API มาลองใช้งานกันดู

Read More…

Golang :: มาแล้วสำหรับ Proposal: Structured Logging

เพิ่งเห็นว่าใน Go มี proposal ที่น่าสนใจคือ Structured loggingทำให้เราสามารถเขียน log ในรูปแบบที่มีโครงสร้างได้ง่ายขึ้นรวมทั้งเลือกได้ด้วยว่าจะให้มีโครงสร้างในรูปแบบใดเช่น text และ JSON เป็นต้น

Read More…

หนังสือใหม่ Go in Action, Second Edition

เพิ่งเห็นว่า Go in Action, Second Edition เพิ่งปล่อยออกมาในรูปแบบ MEAP แล้ว ซึ่งเป็นการปรับปรุงจาก edition แรกโดยเน้นที่การนำไปใช้งาน real use case ต่าง ๆและ ปรับปรุงตามความสามารถใหม่ ๆ ของภาษา Go

Read More…

Golang :: เปลี่ยนมาใช้ zap สำหรับจัดการ logging

ว่าง ๆ นั่งเปลี่ยน logger จากที่ใช้งาน logrus มาเป็น zapโดยสิ่งที่ต้องการให้เหมือนเดิมคือ Log message ในรูปแบบของ JSON Log ออกไปทั้ง file แบบแยกรายวัน และออกที่ console เก็บเฉพาะ log level = error เท่านั้น

Read More…

Go :: เครื่องมือช่วยจัดเรียง field ใน Struct

Field ต่าง ๆ ใน Struct ของภาษา Go นั้นมักจะมีปัญหาเรื่องของลำดับ ซึ่งมีผลต่อการใช้งาน memoryซึ่งเคยเขียนอธิบายไว้ที่ blog เรื่องการจัดเรียง property ใน Struct เพื่อลดจำนวน memory ที่ใช้งานแต่ก็เป็นเรื่องที่ไม่สะดวกเท่าไรต่อการพัฒนาที่จะต้องมาจัดการอะไรแบบนี้ดังนั้นมาดูกันว่า มีเครื่องมืออะไรช่วยเหลือบ้าง

Read More…

หนังสือ Cloud Native Go เปิดให้ download ฟรี 3 บท

จากที่เคย review หนังสือ Cloud Native Go ไว้นิดหน่อยตอนนี้ได้เปิดให้ download มาอ่านแบบฟรี ๆ จำนวน 3 บทประกอบไปด้วย Building Cloud Native service ด้วยภาษา Go เรื่อง Dependability ในการจัดการปัญหาต่าง ๆ ของระบบที่เกิดขึ้น เรื่อง Scalability รองรับการใช้งานที่สูงขึ้น และหาจุดคอขวดของระบบ ลองไป Download มาอ่านกันดูครับน่าจะมีประโยชน์ต่อการพัฒนาระบบ

Read More…