go Archive

เรื่อง Project structure ของระบบที่พัฒนาด้วยภาษา Go

จาก course Practical Go นั้นหนึ่งในเรื่องที่น่าสนใจอีกแล้ว คือ Project structure นั่นเอง เนื่องจากเป็นเรื่องที่มีการพูดคุยใน community เยอะมาก ๆ ที่สำคัญมีหลากหลายแนวทางมาก ๆ อยู่ที่ว่าใครจะมองและวางออกมา มาดูว่า มีคำแนะนำอะไรดี ๆ กันบ้าง

Read More…

เก็บตกเรื่องการออกแบบ package สำหรับภาษา Go

จาก course Pratical Go ที่ไปเรียนมานั้น มีเรื่อง Package design หรือการออกแบบหรือวาง package ในระบบที่พัฒนาด้วยภาษา Go ว่ามีแนวคิดและอย่างไร ออกแบบอย่างไร รวมทั้งหน้าที่ความรับผิดชอบ มาดูกันว่ามีอะไรบ้าง

Read More…

สรุปเรื่องของ Principle 3 ข้อของภาษา Go

จาก course Practical Go นั้นในช่วงเริ่มต้น ทำการอธิบายเรื่องของ Principle guideline ของภาษา Go ซึ่งประกอบไปด้วย 3 เรื่องคือ Clarify Simplicity Productivity เรื่องนี้เคยเรียนและได้ยินจาก course Ultimate Go ที่เรียนเมื่อ 2 ปีก่อน ทั้ง 3 เรื่องนี้มีความสำคัญมาก ๆ เหมือนเป็นเข็มทิศนำทางของการพัฒนา software เลย มาดูในรายละเอียดกัน

Read More…

ว่าด้วยเรื่องการจัดการ Error ถ้ามันเยอะก็ลดสิ

จากการมาเรียน Workshop Practical Go ในงาน GopherCon 2019 ที่ประเทศสิงคโปร์ มีหลายเรื่องที่น่าสนใจ ประกอบไปด้วย Idiomatic code Package และ project structure API design Error handling Testing นิดหน่อย ส่วนเรื่อง concurrency นั้นไม่ได้สอนเพราะว่า เวลาหมดก่อน เรื่องที่ผมให้ความสนใจเรื่องแรกคือ Error handling เนื่องจากใน Go 2 นั้น มีการพูดถึงปัญหาและแนวทางการปรับปรุงเรื่องนี้ให้ดีและง่ายขึ้น

Read More…

สวัสดี Google Cloud Run

ทาง Google Cloud เพิ่งปล่อย Google Cloud Run ใน version beta ให้ใช้งานโดยให้เหล่านักพัฒนาสามารถ run serverless app ที่อยู่ใน Docker container ได้เลย ซึ่ง Google Cloud Run จัดการให้เองแบบอัตโนมัติ คือ เมื่อมี request เข้ามาจะทำการ start ให้เอง และเมื่อไม่มีการใช้งานจะทำการ stop ไปให้อีก ชีวิตน่าจะง่าย สะดวกมากขึ้น

Read More…

สรุปเรื่องที่น่าสนใจจาก VDO เรื่อง Absolute Unit (test)

เจอ VDO จากงาน London Gophers Meetup  ซึ่งมีหัวข้อน่าสนใจดังนี้ Warning data race exit status 66 Go three months in Absolute Unit (Test) Decoding binary network protocol สามารถดู VDO ของหัวข้อต่างได้ที่ Youtube แต่หัวข้อที่จะทำการสรุปคือ Absolute Unit (Test) พูดโดยคุณ Dave Cheney มีหลายเรื่องที่น่าสนใจมาเริ่มกัน

Read More…

ว่าง ๆ มาสร้าง Google Cloud Function ด้วยภาษา Go กัน

วันนี้ว่าง ๆ ช่วงรอ speaker ขึ้นพูดในงาน Beta Conference เลยลองเขียนและ deploy Google Cloud Function ด้วยภาษา Go นิดหน่อย ได้ยินมานานว่าสนับสนุน Go 1.11 แล้ว เวลามีน้อย มาลองกันดีกว่า ก่อนอื่นไปเปิด Account ที่ Google Cloud ก่อน ช่วงนี้ได้ฟรี 300 USD หรือ 1 ปี ชิว ๆ ไปครับ

Read More…

มาเดินตามรอยของ Go Module กัน

จากบทความ Using Go Modules จาก website หลักของภาษา Go ทำการอธิบายการใช้งาน Go Module ซึ่งใน Go version 1.13 เป็นต้นไปจะเป็นค่า default สำหรับการพัฒนา ดังนั้นควรทำการซึกษาและใช้งานกันได้แล้ว ประกอบไปด้วย การสร้าง module ใหม่ การเพิ่ม dependency เข้ามาใหม่ การ upgrade dependency ต่าง ๆ การเพิ่ม dependency เข้ามายัง major version การ upgrade dependency เข้ามายัง major version การลบ dependency ที่ไม่ได้ใช้ออกไป

Read More…

[Part 4] สรุป 50 เรื่องสำหรับผู้เริ่มต้นพัฒนาระบบด้วยภาษา Go

ใน Part  4 นี้จะเป็นเรื่องที่ลึกไปอีกขั้น แต่ยังเป็นสำหรับมือใหม่อยู่ !! ประกอบไปด้วย การใช้งาน channel การใช้งาน struct การใช้งาน net/http package การใช้งาน encoding/json package มาเริ่มกันเลย

Read More…

[Part 3] สรุป 50 เรื่องสำหรับผู้เริ่มต้นพัฒนาระบบด้วยภาษา Go

ใน Part  3 นี้จะเป็นเรื่องที่ลึกไปอีกขั้น แต่ยังเป็นสำหรับมือใหม่อยู่ !! ประกอบไปด้วย การใช้งาน log.Panic() และ log.Fatal() การทำงานของ data structure ต่าง ๆ  การใช้งาน for-range การทำงานของ switch-case เริ่มต้นกับ Goroutine และ channel มาเริ่มกันเลย อ่าน Part 1 และ Part 2 ก่อนได้

Read More…