
GraphQL กับ Rails
graphql-ruby gem, types, queries, mutations, resolvers, N+1 queries, batching
1gem ใดที่ใช้กันมากที่สุดในการนำ GraphQL มาใช้ในแอปพลิเคชัน Rails?
gem ใดที่ใช้กันมากที่สุดในการนำ GraphQL มาใช้ในแอปพลิเคชัน Rails?
คำตอบ
gem graphql-ruby (มักเรียกสั้น ๆ ว่า graphql) เป็นโซลูชันมาตรฐานสำหรับการนำ GraphQL มาใช้ใน Rails มันมอบ Ruby DSL ที่สื่อความหมายได้ดีสำหรับการกำหนด types, queries และ mutations รวมถึงการผสานรวมกับ Rails แบบ native ผ่าน routes และ controllers ดูแลรักษาอย่างต่อเนื่องโดย Robert Mosolgo และถูกใช้งานโดยบริษัทอย่าง GitHub และ Shopify ในระบบ production
2จะกำหนด Object type ใน graphql-ruby เพื่อแทนโมเดล User ได้อย่างไร?
จะกำหนด Object type ใน graphql-ruby เพื่อแทนโมเดล User ได้อย่างไร?
คำตอบ
Object type ใน graphql-ruby สืบทอดจาก Types::BaseObject และเปิดเผยฟิลด์ผ่านเมธอด field แต่ละฟิลด์ระบุชื่อ ชนิด GraphQL (String, Int, ID เป็นต้น) และความเป็น nullable ของมัน แนวทางแบบ declarative นี้ช่วยให้ควบคุมได้อย่างแม่นยำว่าข้อมูลใดของโมเดลถูกเปิดเผยผ่าน GraphQL API ทำให้มีการแยกที่ชัดเจนระหว่างโมเดล ActiveRecord กับการแสดงผลแบบ GraphQL ของมัน
3ความแตกต่างหลักระหว่าง Query และ Mutation ใน GraphQL คืออะไร?
ความแตกต่างหลักระหว่าง Query และ Mutation ใน GraphQL คืออะไร?
คำตอบ
Queries ใช้สำหรับอ่านข้อมูล (การดำเนินการแบบ GET) ในขณะที่ Mutations ใช้สำหรับแก้ไขข้อมูล (สร้าง อัปเดต ลบ) ตามแบบแผนของ GraphQL queries เป็น idempotent และสามารถทำงานแบบขนานได้ ในขณะที่ mutations จะทำงานตามลำดับเพื่อรับประกันลำดับของผลข้างเคียง การแยกแยะนี้เป็นพื้นฐานสำคัญสำหรับ GraphQL API ที่ออกแบบมาอย่างดี
จะประกาศฟิลด์ที่มี arguments ใน Query type ของ graphql-ruby ได้อย่างไร?
ปัญหาด้านประสิทธิภาพที่สำคัญใดที่มักเกิดขึ้นบ่อยกับ GraphQL และ association ของ ActiveRecord?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Ruby on Rails อื่นๆ
พื้นฐาน Ruby
การเขียนโปรแกรมเชิงวัตถุใน Ruby
พื้นฐาน Rails
Routing & Controllers
พื้นฐาน ActiveRecord
Views และ ERB Templates
การเชื่อมโยงของ ActiveRecord
การสอบถาม ActiveRecord ขั้นสูง
ฟอร์ม Rails
การยืนยันตัวตนและการอนุญาต
Asset Pipeline สมัยใหม่และ frontend
โหมด API ของ Rails
การทดสอบด้วย RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
กลยุทธ์การ Caching
การ Migration ขั้นสูง
Rails Engines และแอปแบบโมดูลาร์
การเพิ่มประสิทธิภาพการทำงาน
Design Patterns ใน Rails
เมตาโปรแกรมมิงใน Ruby
ความปลอดภัยของ Rails
การดีพลอยและโปรดักชัน
Monitoring & Logging
กลยุทธ์การอัปเกรด Rails
เชี่ยวชาญ Ruby on Rails สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี