โหมดติวตอบกรรมการ

แสดงทีละหัวข้อจาก /docs/CODE_STUDY_GUIDE.md

ความคืบหน้า 17 / 62 (27%)
หัวข้อที่ 17 จากทั้งหมด 62

5.5 Utils ที่สำคัญ

สรุปสั้น: Utility ไฟล์ หน้าที่ asyncHandler utils/asyncHandler.js ครอบ async → auto catch errors ApiError utils/ApiError.js Custom Error class (400, 401, 403, 404, 409, 500) jwt utils/jwt.js สร้าง/ตรวจสอบ Access Token + Refresh Token logger...

คำสำคัญ

  • utils
  • logger
  • cache
  • asynchandler
  • apierror
  • jwt

คำถามที่กรรมการมักถาม

  1. หัวข้อ "5.5 Utils ที่สำคัญ" คืออะไร และทำไมถึงสำคัญกับโปรเจกต์ของคุณ?
  2. ตอนออกแบบเรื่อง logger คุณเทียบทางเลือกอะไรบ้าง และเหตุผลที่เลือกวิธีสุดท้ายคืออะไร?
  3. ถ้ากรรมการท้วงเรื่อง cache คุณจะอธิบายและป้องกันแนวทางนี้อย่างไร?
  4. ถ้าต้องปรับปรุง utils ให้ดีขึ้นทันที คุณจะเริ่มแก้อะไรก่อน เพราะอะไร?

ตัวอย่างคำตอบ

สำหรับหัวข้อ "5.5 Utils ที่สำคัญ" เป้าหมายหลักคือ Utility ไฟล์ หน้าที่ asyncHandler utils/asyncHandler.js ครอบ async → auto catch errors ApiError utils/ApiError.js Custom Error class (400, 401, 403, 404, 409, 500) jwt utils/jwt.js สร้าง/ตรวจสอบ Access Token + Refresh Token logger... แนวทางที่ใช้เชื่อมโยงกับความต้องการระบบ ช่วยให้ระบบเชื่อถือได้และดูแลง่ายขึ้น และเมื่อเทียบกับทางเลือกอื่นถือว่าเหมาะสมที่สุดภายใต้ข้อจำกัดของโปรเจกต์นี้

คำนวณยังไง

  • เปอร์เซ็นความคืบหน้า: Math.round((index / total) * 100) = Math.round((17 / 62) * 100) = 27%
  • ลำดับหัวข้อปัจจุบัน: รับจาก query ?section= แล้วบังคับให้อยู่ในช่วง 1..62 ค่าที่รับมา: 17, ค่าสุดท้าย: 17
  • จำนวนหัวข้อทั้งหมด: 62 (นับจากหัวข้อ markdown ระดับ ## และ ###)
  • สรุปสั้น: สร้างจาก summarizeText(stripMarkdown(sectionContent), 230)
  • คำสำคัญ: ดึงจากความถี่คำในชื่อหัวข้อ + เนื้อหา หลังกรองคำฟุ่มเฟือย (stopwords)
  • คำถามกรรมการ: สร้างจาก template โดยอิงชื่อหัวข้อและคำสำคัญหลัก