Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สิ่งที่น่าสนใจสำหรับ บทความเกี่ยวกับย้ายจาก PHP มายังภาษา Go ของ Kairos

$
0
0

อ่านเจอบทความเกี่ยวกับ การเปลี่ยนภาษาในการพัฒนาระบบจาก PHP ไปยัง Go เป็นส่วนการทำงานเกี่ยวกับ Face Recognition ซึ่งสิ่งที่ได้กลับมา มีทั้งเรื่องของประสิทธิภาพการทำงานที่สูงขึ้น ส่งผลต่อประสบการณ์การใช้งานระบบของผู้ใช้งานโดยตรง มีทั้งเรื่องของการเรียนรู้สิ่งต่าง ๆ จากการลงมือทำ ดังนั้นจึงสรุปสิ่งที่น่าสนใจไว้นิดหน่อย น่าจะมีประโยชน์สำหรับนักพัฒนา

ก่อนที่จะเลือกภาษา Go นั้น

ทางทีมทำการมีการทำ research ในภาษาต่าง ๆ ก่อน ไม่ใช่เอะอะก็เลือกใช้เลย แน่นอนว่า เลือกตามเป้าหมายที่ได้ตั้งเอาไว้ การพัฒนาใหม่นั้น ก็ไม่ใช่ทำแบบ big bang แต่ค่อย ๆ ทำเป็นทีละส่วน จากนั้นทำการ validate และ ทดสอบ จากการใช้งานจริง ๆ เพื่อให้เห็นปัญหา เพื่อทำการแก้ไขได้ง่ายขึ้น เพื่อลดความเสี่ยงต่าง ๆ อีกด้วย

ประโยชน์ที่ได้จากการเปลี่ยน ประกอบไปด้วย

  • ความเร็วในการทำงานต่อ transaction เร็วขึ้นจาก 1-2 วินาที เหลือ 300 ms
  • การ deploy ง่ายขึ้น รวมถึงขนาดของ Docker Image ที่เล็กลง
  • ลดการใช้ memory ลงไป 50%
  • ลดค่าใช้จ่ายของ server ลง 50%

สิ่งที่น่าสนใจคือ ในส่วนของ Professional Development

ในทีมพัฒนานั้นไม่มีใครมีประสบการณ์ ในการพัฒนาและ deploy ระบบงานด้วยภาษา Go บน production เลย ดังนั้นในการเปลี่ยนแปลงครั้งนี้ มันเป็นโอกาสที่ดีสำหรับการเรียนรู้อย่างมาก เพื่อให้ได้รับบทเรียนต่าง ๆ จากงานจริง ๆ จากลูกค้าจริง ๆ No pain No gain เพื่อปรับปรุงสิ่งต่าง ๆ ให้ดีขึ้น รวมทั้งความสามารถของทีมอีกด้วย

สิ่งที่สำคัญมาก ๆ ของการใช้งานภาษา Go ประกอบไปด้วย

  • ​การจัดการเรื่อง memory leak และ garbage collection ซึ่งมี profiling tool มาให้ใช้งาน ดังนั้นใช้ซะ ให้คล่อง
  • ปัญหาในการจัดการข้อมูล JSON ขนาดใหญ่ ซึ่งพบว่า JSON package ของ Go ไม่สามารถแก้ปัญหาใน use case ของทีมได้ ซึ่งก็แก้ไขด้วยการเลือก data structure และการ process ข้อมูลที่จะส่งมานั่นเอง

Viewing all articles
Browse latest Browse all 1997

Trending Articles