
DevOps, Logging และ CI/CD
Winston, Pino, structured logging, correlation ID, APM, GitHub Actions, GitLab CI, pipeline, การทดสอบอัตโนมัติ, การทำ deployment อัตโนมัติ
1ความแตกต่างหลักระหว่าง Winston และ Pino คืออะไร?
ความแตกต่างหลักระหว่าง Winston และ Pino คืออะไร?
คำตอบ
Pino ถูกออกแบบมาให้เร็วมากโดยมี overhead ต่ำ (เป็นแบบ asynchronous โดยค่าเริ่มต้น) ในขณะที่ Winston มีฟีเจอร์มากกว่าแต่ช้ากว่าเล็กน้อย Pino ใช้ JSON แบบมีโครงสร้างโดยค่าเริ่มต้นและหลีกเลี่ยงการแปลงแบบ synchronous ทำให้เหมาะกับแอปพลิเคชันที่ต้องการประสิทธิภาพสูง Winston มี transport และตัวเลือกการจัดรูปแบบให้ใช้งานได้ทันทีมากกว่า
2correlation ID ในบริบทของ logging คืออะไร?
correlation ID ในบริบทของ logging คืออะไร?
คำตอบ
correlation ID คือตัวระบุที่ไม่ซ้ำกัน (UUID) ที่เชื่อมโยงกับ request HTTP หรือ event ซึ่งช่วยให้ติดตามการดำเนินการที่เกี่ยวข้องทั้งหมดข้ามบริการและ log ต่าง ๆ ได้ สิ่งนี้ช่วยให้การดีบักระบบแบบกระจายง่ายขึ้นโดยการจัดกลุ่ม log ทั้งหมดของทรานแซกชันเดียวกัน โดยทั่วไปจะถูกส่งต่อผ่าน HTTP header (X-Correlation-ID)
3ข้อได้เปรียบหลักของ structured logging คืออะไร?
ข้อได้เปรียบหลักของ structured logging คืออะไร?
คำตอบ
structured logging (log ในรูปแบบ JSON ที่มีฟิลด์แบบ key-value) ช่วยให้กรอง ค้นหา และวิเคราะห์ log ได้ง่ายด้วยเครื่องมืออย่าง Elasticsearch, Grafana หรือ Datadog ต่างจาก log แบบข้อความธรรมดา log ที่มีโครงสร้างสามารถทำดัชนีและ query ได้อย่างมีประสิทธิภาพ สิ่งนี้ช่วยปรับปรุง observability และการดีบักในโปรดักชันได้อย่างมาก
ระดับ log มาตรฐานใน Winston และ Pino มีอะไรบ้าง?
จะใช้งาน logger แบบ global ใน NestJS ได้อย่างไร?
+22 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Node.js / NestJS อื่นๆ
พื้นฐาน Node.js
Core API ของ Node.js
การเขียนโปรแกรมแบบอะซิงโครนัส
พื้นฐาน Express.js
พื้นฐาน NestJS
การออกแบบ REST API
การตรวจสอบความถูกต้องและ DTO
เอกสาร API และ Contract
การจัดการข้อผิดพลาด
การทดสอบหน่วย (Unit Testing)
การจัดตารางงาน
Module และ DI ของ NestJS
การกำหนดค่าและการจัดการสภาพแวดล้อม
การยืนยันตัวตนด้วย JWT
การให้สิทธิ์และ RBAC
ฐานข้อมูลด้วย TypeORM
Prisma ORM
Middleware และ Interceptor
การอัปโหลดไฟล์
WebSockets
GraphQL กับ NestJS
การทดสอบแบบ End-to-End
การแคชด้วย Redis
คิวด้วย Bull
Docker และ Containerization
ไมโครเซอร์วิส
แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย
ประสิทธิภาพและการ Deploy บน Cloud
เชี่ยวชาญ Node.js / NestJS สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี