แอปต้องป้องกันการแก้ไขข้อมูลซ้ำเมื่อ client retry หลัง timeout จึงวินิจฉัยว่า นักพัฒนาสังเกตว่าเว็บแอปพลิเคชันมีปัญหา Memory Leak บน Server โดย RAM ค่อยๆ เพิ่มขึ้นเรื่อยๆ จนเซิร์ฟเวอร์ช้าลง สาเหตุที่เป็นไปได้มากที่สุดในฝั่ง Node.js คือข้อใด

ใช้ HTTPS แทน HTTP
มีการสร้าง Event Listener หรือ Closure ที่ไม่ได้ล้างออก ทำให้ Object ถูกอ้างอิงและ Garbage Collector ไม่สามารถคืน Memory ได้
ใช้ฐานข้อมูล MySQL แทน PostgreSQL
ใช้ CSS ที่ซับซ้อนเกินไปในฝั่ง Client

เฉลยอธิบาย

Memory Leak ใน Node.js มักเกิดจาก Event Listener ที่ไม่ได้ Remove, Global Variable ที่สะสม, Closure ที่ถือ Reference ไว้, หรือ Timer/Interval ที่ไม่ได้ Clear ทำให้ Garbage Collector ไม่สามารถเพิ่ม Memory คืนได้ ตัวเลือก A HTTPS ไม่เกี่ยวกับ Memory, ตัวเลือก C ชนิดฐานข้อมูลไม่ใช่สาเหตุ Memory Leak ใน Application Layer, ตัวเลือก D CSS อยู่ฝั่ง Client ไม่กระทบ Server Memory

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับการพัฒนาโปรแกรมระบบงานในลักษณะ Web Application

ดูข้อสอบวิชานี้ทั้งหมด →