https://avatars.githubusercontent.com/u/1217739?size=192

GOMAXPROCS, GOMEMLIMIT กับ Kubernetes

Go runtime มีค่า ENV ที่สามารถตั้งค่าได้อยู่ไม่กี่ตัว แต่มันจะมีอยู่ 2 ค่าที่ชาว DevOps จะเอามาใช้เป็นค่าเริ่มต้นเลย คือ GOMAXPROCS และ GOMEMLIMIT โดยแต่ละค่าจะใช้ทำอะไรได้บ้างเรามาลองดูกัน

รู้หรือไม่ ว่าการเรียง column ใน DB ก็สำคัญนะจร๊ะส์

เวลาสร้างตารางในฐานข้อมูลเคยสังเกตไหมครับว่า ทำไมเราต้องมานั่งเลือกขนาดของข้อมูล เลยจะมาลองดูกันว่ามันสำคัญยังไงไอ้การเรียง column เนี้ย โดยตัวอย่างที่ยกมาจะเป็น PGSQL เด้อ

DDD, TDD, BDD มันคืออิหยังนะ

Software development methodologies ถูกคิดค้นขึ้นเพื่อช่วยให้ Dev ส่งมอบโค้ดได้ราบลื่นและมีข้อบกพร่องน้อย ซึ่งช่วงนี้จะมีการพูดถึงบ่อย ๆ 3 ตัว ได้แก่ Domain Driven Design (DDD), Test Driven Development (TDD) และ Behavior Driven Development (BDD) แม้ว่าชื่อจะคล้ายกัน แต่วิธีการเหล่านี้มีความแตกต่างกัน ซึ่งจะเปรียบเทียบ DDD, TDD และ BDD ดูตามความเข้าใจแบบคนขี้เกียจได้ประมาณนี้

ติดไอพ่นให้ JSON ใน Go

สิ่งที่ต้องเจอบ่อย ๆ เวลาทำงานกับ REST API นั่นคือการแปลง JSON ไปมาระหว่าง services โดบปกติแล้วก็จะใช้ encoding/json กันซึ่งเป็นไลบรารีมาตรฐานที่มีให้ใน Go แต่ตอนนี้มีของจะมาแนะนำให้ลองกัน นั่นคือ goccy/go-json ที่จะทำให้ services เราเร็วส์ขึ้นแบบไม่ต้องจ่ายตังเพิ่ม

GO: io.ReadAll vs io.Copy

การเขียน Go บ่อยครั้งเราจะเจอการที่เราต้องเปิดอ่านไฟล์หรืออ่าน Response จากการดึง API ซึ่งส่วนใหญ่ โดยทั่วไปแล้วก็จะใช้ io.ReadAll และ io.Copy กัน ตอนนี้จะพาไปดูว่ามันแตกต่างกันอย่างไร

จะ Go vs Rust ทำไม ในเมื่อ Go + Rust ได้

เราจะเจอคำถามประเภทที่ว่า จะใช้อะไรดีระหว่าง Go กับ Rust หลังจากที่ได้ลองเขียนทั้ง Go กับ Rust มาสักพักแล้ว พบว่าเราสามารถใช้ cgo + Rust FFI ได้ ซึ่งในเมื่อทั้งสองมีข้อดีต่างกัน เราก็ใช้มันทั้งสองไปเล๊ยยย