
Django & GraphQL
GraphQL กับ Django, Strawberry/Graphene, schema, queries, mutations, subscriptions, การยืนยันตัวตน, DataLoader, ปัญหา N+1
1GraphQL คืออะไรและความแตกต่างหลักจาก REST คืออะไร?
GraphQL คืออะไรและความแตกต่างหลักจาก REST คืออะไร?
คำตอบ
GraphQL เป็นภาษาคิวรีสำหรับ API ที่พัฒนาโดย Facebook ต่างจาก REST ที่เปิดเผย endpoint หลายตัวซึ่งคืนค่าโครงสร้างข้อมูลแบบตายตัว GraphQL ใช้ endpoint เดียวที่ให้ไคลเอนต์ระบุข้อมูลที่ต้องการได้อย่างแม่นยำ สิ่งนี้แก้ปัญหา over-fetching (รับข้อมูลมากเกินไป) และ under-fetching (ต้องส่งหลายคำขอ) ที่พบได้ทั่วไปใน REST
2ไลบรารี GraphQL หลักสองตัวที่มีให้ใช้สำหรับ Django คืออะไร?
ไลบรารี GraphQL หลักสองตัวที่มีให้ใช้สำหรับ Django คืออะไร?
คำตอบ
Strawberry และ Graphene-Django เป็นไลบรารี GraphQL หลักสองตัวสำหรับ Django โดย Graphene-Django มีความเสถียรกว่าและถูกนำไปใช้อย่างกว้างขวาง ใช้ไวยากรณ์แบบคลาส ส่วน Strawberry ทันสมัยกว่า ใช้ type hints ของ Python แบบ native และให้การผสานรวมที่ดีกว่ากับเครื่องมือตรวจสอบชนิดข้อมูล Strawberry แนะนำสำหรับโปรเจกต์ใหม่เนื่องจากไวยากรณ์ที่เป็น pythonic มากกว่าและรองรับ async แบบ native
3จะกำหนด GraphQL type อย่างง่ายด้วย Strawberry เพื่อแทน Django User model ได้อย่างไร?
จะกำหนด GraphQL type อย่างง่ายด้วย Strawberry เพื่อแทน Django User model ได้อย่างไร?
คำตอบ
ใน Strawberry จะใช้เดคอเรเตอร์ @strawberry.type บนคลาส dataclass เพื่อกำหนด GraphQL type ฟิลด์ถูกประกาศด้วย type hints มาตรฐานของ Python (str, int ฯลฯ) แนวทางนี้ใช้ประโยชน์จากระบบ typing แบบ native ของ Python ทำให้โค้ดอ่านง่ายขึ้นและผสานรวมได้ดีขึ้นกับ IDE และเครื่องมือตรวจสอบชนิดข้อมูลอย่าง mypy
resolver ใน GraphQL คืออะไรและมีหน้าที่อะไร?
ความแตกต่างระหว่าง Query และ Mutation ใน GraphQL คืออะไร?
+21 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Django อื่นๆ
พื้นฐาน Python
Python เชิงวัตถุ
พื้นฐาน Django
Django Models - พื้นฐาน
Django Views
เทมเพลต Django
ฟอร์ม Django
QuerySets ขั้นสูง
การยืนยันตัวตนใน Django
Django Middleware
Django Admin
Django REST Framework
Django Signals
การอัปโหลดไฟล์
การแคชใน Django
Django Sessions
อีเมลใน Django
การทดสอบ Django
ความปลอดภัยของ Django
การ Deploy Django
Django ORM ขั้นสูง
ประสิทธิภาพของ Django
Django & Celery
Django Channels
Django & Docker
Django ในระบบนิเวศ Microservices
คำสั่ง Django แบบกำหนดเอง
การทำให้รองรับหลายภาษาใน Django
Design Patterns ใน Django
Django Async และ ASGI
Settings และการตั้งค่า Production
Observability และ Monitoring
เชี่ยวชาญ Django สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี