
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 āđāļĨāļ°āļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđ
āđāļĢāļīāđāļĄāđāļāđāļāļĢāļĩ