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

Messaging อย่างง่าย Go + NATS

ระหว่างที่รอเพื่อนร่วมทางที่ร้านกาแฟ พอมีเวลาว่างเลยนึกขึ้นได้ว่าเราเดินทางกับแบบ asynchronous task เลยนี่หว่า ใครออกมาก่อนทำก่อนถึงก่อน ในระหว่างที่คนอื่นก็เดินทางของตัวเองไป แล้วสุดท้ายมาเจอกันปลายทาง ก็เลยลองเขียน Go + NATS ทำ Pub/Sub ง่อย ๆ บันทึกไว้ว่ามันทำยังไง

ทริกง่าย ๆ กับการเขียนโค้ดไม่ให้บรรพบุรุษเดือดร้อน

ในการเขียนโค้ดกันเป็นทีมมันจะมีเรื่องชวนปวดหัวบ่อย ๆ เลยคือ ใครเขียนโค้ดนี้ว่ะ 🤬 เลยจะต้องมีสิ่งพึงละลึกร่วมกัน หรือตกลงกันในทีมในการเขียนโค้ดให้การกระทบกระทั้งกันน้อยลง โดยจะเอาวิธีง่าย ๆ ที่ช่วยให้ชีวิตชาวเราดีขึ้นมาเสนอลองพิจารณาดูครับ

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 เราเร็วส์ขึ้นแบบไม่ต้องจ่ายตังเพิ่ม