Ruby on Rails

Rails에서의 GraphQL

graphql-ruby gem, types, queries, mutations, resolvers, N+1 queries, batching

20 면접 질문·
Senior
1

Rails 애플리케이션에서 GraphQL을 구현하는 데 가장 많이 사용되는 gem은 무엇입니까?

답변

graphql-ruby gem(흔히 단순히 graphql이라고 불립니다)은 Rails에서 GraphQL을 구현하기 위한 표준 솔루션입니다. types, queries, mutations를 정의하기 위한 표현력 있는 Ruby DSL을 제공하며, routes와 controllers를 통해 Rails와 네이티브하게 통합됩니다. Robert Mosolgo가 활발히 유지보수하고 있으며, GitHub와 Shopify 같은 기업에서 프로덕션 환경에 사용됩니다.

2

User 모델을 표현하기 위해 graphql-ruby에서 Object 타입을 어떻게 정의합니까?

답변

graphql-ruby의 Object 타입은 Types::BaseObject를 상속하고 field 메서드를 통해 필드를 노출합니다. 각 필드는 이름, GraphQL 타입(String, Int, ID 등), 그리고 null 허용 여부를 지정합니다. 이 선언적 접근 방식은 모델의 어떤 데이터를 GraphQL API를 통해 노출할지 정확히 제어할 수 있게 하여, ActiveRecord 모델과 그 GraphQL 표현 사이에 명확한 분리를 보장합니다.

3

GraphQL에서 Query와 Mutation의 주요 차이점은 무엇입니까?

답변

Query는 데이터를 읽는 데(GET 작업) 사용되고, Mutation은 데이터를 수정하는 데(생성, 업데이트, 삭제) 사용됩니다. GraphQL 관례상 query는 멱등적이며 병렬로 실행될 수 있는 반면, mutation은 부수 효과의 순서를 보장하기 위해 순차적으로 실행됩니다. 이 구분은 잘 설계된 GraphQL API에 있어 핵심적입니다.

4

graphql-ruby Query 타입에서 인자를 가진 필드를 어떻게 선언합니까?

5

GraphQL과 ActiveRecord 연관 관계에서 자주 발생하는 주요 성능 문제는 무엇입니까?

+17 면접 질문

다음 면접을 위해 Ruby on Rails을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기