golang Archive

หนังสือแนะนำการเขียน 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…

[Golang] การจัดเรียง property ใน Struct เพื่อลดจำนวน memory ที่ใช้งาน

วันนี้น้องในทีมมาถามเรื่อง  การใช้งาน memory ของ struct ในภาษา Go ซึ่งมีเรื่องของ Alignment และ Padding ที่อาจจะดูงง ๆ เลยลองไปเปิดเอกสารของภาษา Go ดูกันหน่อย ได้ความว่า

Read More…

เรื่อง 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…