golang Archive

แปลและสรุปเรื่อง Practical Persistence in Go: Organising Database Access

ช่วงว่าง ๆ เห็นบทความเรื่อง Practical Persistence in Go: Organising Database Access ไม่แน่ใจว่าใคร share มา แต่เมื่อได้อ่านและลองทำตามแล้วพบว่า มีสิ่งที่น่าสนใจและน่าเรียนรู้มาก ๆ จึงทำการแปลและสรุปไว้อ่านนิดหน่อย มาเริ่มกันเลย

Read More…

ย้อนกลับไปดูวันแรกของภาษา Go

วันที่ 10 พฤศจิกายนที่ผ่านมา ครบรอบ 10 ปีของภาษา Goทำให้นึกถึงวันแรกที่ภาษา Go ถูกปล่อยออกมาให้ใช้งานซึ่ง blog แรกที่ทางทีมพัฒนาภาษา Go เขียนขึ้นมา คือ Hey! Ho! Let’s Go!ใครยังจำได้บ้าง

Read More…

[Golang] ทำการ export metric ต่าง ๆ ออกมาในรูปแบบของ Prometheus

จากที่ทำการแบ่งปันเรื่องการพัฒนาระบบงานด้วยแนวคิด Microservices ด้วย Java technology มีคำถามว่า ระบบงานที่พัฒนาด้วยภาษา Go นั้น สามารถ export metric หรือค่าตัวเลขต่าง ๆ ของระบบงานที่พัฒนาได้หรือไม่ ทั้ง CPU/IO/Memory/Process  รวมไปถึงการ custom metric ต่าง ๆ ของระบบงานอีก

Read More…

ใน Go 1.13 มีอะไรที่น่าสนใจบ้าง ?

ผ่านมา 6 เดือนทางทีมพัฒนาก็ได้ปล่อย Go 1.13 ออกมาให้ใช้งาน ซึ่งมีหลายเรื่องที่น่าสนใจ แต่หนึ่งในนั้นคือ เรื่อง commpatability กับ Go 1 เสมอ (แต่ถ้า Go 2 ก็ไม่แน่นะ) มาดูว่ามีอะไรบ้าง ? การปรับปรุงเรื่อง number literal เรื่องของ Error wrapping สำหรับจัดการ error ในการ download module ต่าง ๆ จะผ่าน Go module mirror และ Go checksum database แล้ว เปิดใช้งาน TLS 1.3 by default แต่ก็สามารถปิดได้ด้วยการกำหนด tls13=0 

Read More…

Golang :: มาทำ Live-reload เมื่อ code เปลี่ยนแปลง

ว่าง ๆ เขียนโปรแกรมด้วยภาษา Go อยากให้โปรแกรมที่เขียนทำการ reload ทันที หลังจากที่ทำการเปลี่ยนแปลง code  นั่นคือทำการ build และ run ใหม่นั่นเอง มาลองหาวิธีกันดู

Read More…

หนังสือแนะนำการเขียน code ด้วยภาษา Go ให้ปลอดภัยจาก OWASP

เพิ่งเห็นว่าทาง OWASP (Open Web Application Security Project) ได้ปล่อยหนังสือเกี่ยวกับ Web Application Secure Coding Practice ด้วยภาษา Go ออกมา โดยเนื้อหายังรวมไปถึงการพัฒนา web application ด้วย ดังนี้

Read More…

[Golang] ว่าง ๆ มาทำ Integration test ด้วย TestContainer กัน

หลังจากก่อนหน้านี้ เขียนอธิบายการทำ Integration test ด้วย TestContainer กับภาษา Javaตอนนี้ทางผู้พัฒนาได้เพิ่มสำหรับภาษา Go เข้ามาให้แล้ว ชื่อว่า TestContainer Goจะรอช้าทำไม ลองไปใช้งานกันหน่อย

Read More…

เพิ่งรู้ว่า Go Playground ทำได้

วันนี้ลองไปใช้งาน Go Playground เล่นนิดหน่อยตอนนี้พัฒนาบน Go version 1.12.7พบว่ามันสามารถทำงานได้หลายอย่างกว่าที่คิดซึ่งมีประโยชน์มาก ๆ จึงทำการสรุปไว้นิดหน่อย

Read More…

Golang :: ถ้าไม่ close body ของ response จะเกิดอะไรขึ้น ?

จากที่พูดคุยเรื่อง Memory leak สำหรับการใช้งาน package net/http ในภาษา Goซึ่งมี 2 เรื่องคือ ถ้าไม่ปิด body ของ request จะเกิดอะไรขึ้น ? ถ้าไม่ปิด body ของ response จะเกิดอะไรขึ้น

Read More…

สวัสดี Go module proxy

เห็นใน Go 1.13 beta 1 นั้นทำการกำหนดค่า default ของ GOPROXY ให้ จะวิ่งไปที่ https://proxy.golang.org และ direct (ออกไปยัง GitHub, bitbucket ตรง ๆ) ที่สำคัญ สามารถใส่ comma(,) ได้ด้วย นั่นคือกำหนด proxy ได้มากกว่า 1 นั่นเอง ดังนั้นเรามาลองทำความรู้จักและใช้งานกันหน่อย

Read More…