golang Archive

สรุปแหล่งเรียนรู้และติดตามข่าวสารของภาษา Go

ในกลุ่ม Golang Thailand มีการพูดเรื่องเกี่ยวกับ แหล่งเรียนรู้และติดตามข่าวสารเกี่ยวกับภาษา Go ว่ามีที่ไหนบ้าง ? ซึ่งก็มีแหล่งที่มาเพียบเลย ดังนั้นทำการสรุปไว้นิดหน่อย

Read More…

สิ่งที่น่าสนใจสำหรับ บทความเกี่ยวกับย้ายจาก PHP มายังภาษา Go ของ Kairos

อ่านเจอบทความเกี่ยวกับ การเปลี่ยนภาษาในการพัฒนาระบบจาก PHP ไปยัง Go เป็นส่วนการทำงานเกี่ยวกับ Face Recognition ซึ่งสิ่งที่ได้กลับมา มีทั้งเรื่องของประสิทธิภาพการทำงานที่สูงขึ้น ส่งผลต่อประสบการณ์การใช้งานระบบของผู้ใช้งานโดยตรง มีทั้งเรื่องของการเรียนรู้สิ่งต่าง ๆ จากการลงมือทำ ดังนั้นจึงสรุปสิ่งที่น่าสนใจไว้นิดหน่อย น่าจะมีประโยชน์สำหรับนักพัฒนา

Read More…

มาใช้งาน Benchmark ในภาษา Go กัน

เห็นในกลุ่มภาษา Go Thailand ที่ Facebook นั้นมีการใช้งาน Benchmark สำหรับวัดประสิทธิภาพการทำงานของ code ที่เขียนด้วยภาษา Go จึงทำการสรุปวิธีการใช้งานไว้นิดหน่อย ซึ่งมันง่ายมาก ๆ เพราะว่า เป็น package ที่มีมาในภาษา Go อยู่แล้ว มาเริ่มกัน

Read More…

สวัสดี Go-kit ชุดเครื่องมือสำหรับพัฒนา Microservices ด้วยภาษา Go

ในช่วงที่ผ่านมาได้มีการพูดถึง Go-kit กันพอสมควร ทั้งในเรื่องของรูปแบบการเขียนที่ดี ทั้งในเรื่องของชุดเครื่องมือสำหรับการพัฒนา Microservices บางคนก็บอกว่าเหมือน Netflix เลย บางคนก็บอกว่าเหมือน Finagle ของ Twitter เลย

Read More…

สวัสดีภาษา Golang ใน AWS Lambda

ทาง AWS Lambda ได้ประกาศสนับสนุนภาษา Go แล้ว ดังนั้นเรามาเรียนรู้กันหน่อยว่า จะเริ่มต้นอย่างไร มีอะไรให้ลองใช้งานกันบ้าง

Read More…

สรุปขั้นตอนในการพัฒนาระบบ REST API ด้วยภาษา Go ที่น่าจะดี

จากบทความเรื่อง Write a Kubernetes-ready service from zero step-by-step ทำการสรุป workflow หรือขั้นตอนของการพัฒนาระบบ REST API ด้วยภาษา Go เริ่มตั้งแต่การพัฒนา API แบบง่าย ๆ จากนั้นทำการเพิ่มความสามารถที่จำเป็นต้องมีทั้ง logging, health check และ graceful shutdown รวมไปถึงการ deploy ระบบงาน ซึ่งในตัวอย่างจะทำการสร้าง Docker Image และทำการ deploy ด้วย Kubernetes จึงทำการแปลและสรุปในแบบที่เข้าใจไว้นิดหน่อย มาเริ่มกันเลย

Read More…

สรุปเรื่องของ A theory of modern Go

จากบทความในโค้ดทัวร์ ตอน 1 ทำการอธิบาย code ที่เขียนด้วยภาษา Go มีรูปแบบหรือ pattern ที่น่าสนใจหลายตัว หนึ่งในนั้นคือ NewEntry(url string) ทำให้นึกถึงเรื่องของ A Theory of modern Go ซึ่งอธิบายถึงเกี่ยวกับ Global state/variable จึงนำมาสรุปไว้นิดหน่อย

Read More…

Golang :: มาตรวจสอบความพร้อมของระบบกันหน่อย

จากบทความเรื่อง How to ship production grade Go ? แนะนำสิ่งที่ควรต้องทำก่อนที่จะทำการ deploy code ขึ้นไปยัง production server ซึ่งมีหลายสิ่งอย่างที่ควรทำ มิเช่นนั้นอาจจะเจอปัญหาต่าง ๆ มากมาย ทั้งที่คาดหวังและไม่คาดหวังแน่นอน ดังนั้นเรามาเตรียมความพร้อมกัน จึงนำมาแปลและสรุปไว้นิดหน่อย ในบทความนี้จะยกตัวอย่างระบบที่พัฒนาด้วยภาษา Go มีเป้าหมายเพื่อส่งมอบ code ที่มีความน่าเชื่อถือ ที่สามารถระบุและบอกปัญหาได้ ซึ่งพร้อมสำหรับการ deploy

Read More…

Golang 1.10 :: รู้หรือยังว่า go test มันเปลี่ยนไป

จากเอกสารของภาษา Golang 1.10 (beta 1) นั้น ในส่วนของ go test มีการเปลี่ยนแปลงที่น่าสนใจมาก ๆ จึงนำมาสรุปและลองใช้งานกันหน่อย ประกอบไปด้วย การทำ caching ของ test result ทำการทดสอบเฉพาะส่วนที่มีการเปลี่ยนแปลงเท่านั้น ทำการ run go vet โดย default go test -coverpkg สามารถใส่ชื่อเป็น pattern ได้ go test -failfast หยุดการทดสอบทันทีถ้ามี test case ที่ไม่ผ่าน go test -json ทำการสร้าง test result ในรูปแบบ JSON เริ่มใช้งานกันนิดหน่อย

Read More…

สรุปเรื่องโครงสร้าง project ภาษา Go ที่ DigitalOcean

ทีมพัฒนาของ Digitalocean นั้นได้ออกมาเล่าถึงประสบการณ์การพัฒนาระบบงานด้วยภาษา Go ซึ่งเป็นระบบงานภายในชื่อว่า Cthulhu โดยเป็นระบบงานที่ใช้งาน version control แบบ Monorepo นั่นคือ code ทุกสิ่งอย่างอยู่ใน repository เดียวกัน แม้ว่าจะมีมากกว่า 1 project ก็รวมกันอยู่ในนี้ แน่นอนว่า ต้องเจอปัญหาต่าง ๆ มากมาย ทั้งเรื่องของโครงสร้าง ทั้งเรื่องการ scale ทั้งเรื่องของการจัดการ dependency ต่าง ๆ ทั้งเรื่องของเครื่องมือที่ใช้งาน ทั้งเครื่องของเวลาในการ build ของ CI server ทั้งเรื่อง code ownership มาดูกันว่าทางทีม Digitalocean ทำอย่างไรบ้าง ? น่าสนใจมาก ๆ

Read More…