golang Archive

สวัสดี Google Cloud Run

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

Read More…

ตกใจว่า package net/http ของภาษา Go มันไม่ดีตรงไหน ?

ครั้งแรกที่อ่านชื่อของบทความ Don’t use Go’s default HTTP client (in production) ก็ตกใจนิดหน่อยและปลกใจว่า package net/http ของภาษา go นั้นมันมีปัญหาอะไร เพราะว่าในงานที่ขึ้น production ก็ใช้อยู่นะ และไม่ได้เกิดปัญหาอะไรด้วย แต่พอได้อ่านบทความแล้วพบว่ามันไม่ใช่นะ  เราต้องมาทำการ custom ค่าหรือการทำงานบางอย่างให้ถูกต้องและเหมาะสม มิเช่นนั้น อาจจะเกิดปัญหาตามมาได้

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…

สรุปความรู้ที่ได้ในการเปลี่ยนจากภาษา Python มายัง Go

นั่งอ่านบทความเรื่องการย้ายระบบงานด้วยภาษา Go จาก Golang :: Success Story  มีหลาย ๆ เรื่องราวที่น่าสนใจ แต่มีเรื่องหนึ่งที่เขาเล่ามาได้ดีมาก ๆ คือการย้ายจากภาษา Python มาใช้ภาษา Go ที่ชอบคือ ลำดับขั้นตอนการศึกษา พร้อมแหล่งที่มา ทำให้เข้าใจได้ง่าย จึงทำการสรุปไว้นิดหน่อย

Read More…

สรุปการย้ายจาก dep มายัง Go module กัน

บันทึกการย้ายตัวจัดการ library/dependency ของระบบงานที่พัฒนาด้วยถาษา Go จาก dep มายัง Go module ไว้นิดหน่อย  การย้ายนั้นไม่ยากเท่าไร มีขั้นตอนดังนี้

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…

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

จาก Part 1 เกี่ยวกับการพัฒนาภาษา Go จำนวน 10 เรื่องแรก เน้นไปที่การใช้งาน short declaration variableมาต่อกับ Part 2 อีก 10 เรื่อง เน้นในเรื่องของการใช้งาน String, Array, Slice และ Mapมาเริ่มกันเลย

Read More…

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

จากบทความเรื่อง 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs ทำการสรุปเรื่องต่าง ๆ ที่น่าสนใจสำหรับการพัฒนาระบบด้วยภาษา Go ซึ่งเป็นสิ่งที่นักพัฒนาทั้งผู้เริ่มต้นไปจนถึงมีประสบการณ์มักจะไม่เข้าใจหรือทำผิด ดังนั้นบทความนี้จึงทำการสรุปมาให้ เพื่อลดข้อผิดพลาด รวมไปถึงย่นเวลาในการศึกษาอีกด้วย เนื่องจากมี 50 เรื่อง เลยแบ่งออกเป็น blog ละ 10 เรื่องน่าจะดีกว่า มาเริ่มกันเลย

Read More…