본문 바로가기

분류 전체보기

(187)
(19) Graphql-ruby - 쿼리에 before/after hook 호출하기 Instrumentation 각 쿼리에 before/after hook을 호출할 수 있다.쿼리 instrumentation 를 스키마 정의에 추가하면 된다.class MySchema
(18) Graphql-ruby - tracing Tracing GraphQL::Tracing 은 GraphQL 런타임 이벤트 관찰을 위한 .trace 후크를 제공한다.이를 위해 tracer 은 반드시 구현되어야 한다.class MyCustomTracer def self.trace(key, data) # key & data 를 이용하여 여기에 구현 yield end end .trace 은 다음과 같은 것들과 함께 호출할 수 있다.key: 런타임 동안 발생하는 이벤트data: 이벤트에 관한 메타데이터의 해쉬&block: 이벤트 자신, 이것은 반드시 yield 되어야 하며, 값은 리턴되어야 한다. 모든 쿼리에 대해 tracer를 실행하려면, 스키마에 tracer:추가# 모든 쿼리에 대해 `MyCustomTracer` 실행 class MySchema
(17) Graphql-ruby - 멀티플렉스 Multiplex 일부 클라이언트는 한번에 여러개의 쿼리를 보낼 수도 있을 것이다.(예를 들어, Apollo Client’s query batching) 이러한 쿼리는 Schema#multiplex 를 이용하여 동시에 실행할 수 있다. 멀티플렉스는 자신만의 context,analyzers 그리고 instrumentation을 가질 수 있다. Concurrent Execution 쿼리를 동시에 실행하기 위해서는 를 사용하여 쿼리 옵션을 만들어야 한다. 예를 들어:# 각 쿼리의 context 를 준비 context = { current_user: current_user, } # 쿼리 옵션 준비 queries = [ { query: "query Query1 { someField }", variables: {}..
(16) Graphql-ruby - 타임아웃 Timeout TimeoutMiddleware 를 사용하여 쿼리에 타임아웃을 적용할 수 있다. 예를 들어:class MySchema
(15) Graphql-ruby - 복잡성 & 깊이 Complexity & Depth Prevent complex queries 필드는 "complexity" 값을 가지고 있는데 이는 정의에 의해 설정이 가능하다. 이 값은 상수 또는 proc 이 될 수 있고, 키워드 형태로 정의되거나 block 형태로 정의될 수 있다. 예를 보자.# 상수 complexity: field :top_score, Integer, null: false, complexity: 10 # 동적인 complexity: field :top_scorers, [PlayerType], null: false do argument :limit, Integer, limit: false, default_value: 5 complexity ->(ctx, args, child_complexity) { ..
인생은 짧다(원제: Life is short) 출처 : http://paulgraham.com/vb.html 의역/오역 이해해주세요. January 2016 다들 알듯이 인생은 짧다. 어렸을 때는 정말 인생이 정말 짧은건지 아니면 인생의 유한함을 불평하는건지가 궁금하곤 했다. 만약 우리가 10배 더 길게 산다면 그래도 인생이 짧다고 느껴질까? 이 질문에 답이 없는 것 같았기에 나는 궁금해하는걸 멈췄다. 그리고 나에게 아이들이 생겼다. 그것이 나에게 이 질문에 답을 할 방법을 주었는데, 정답은 인생은 실제로 짧다는 것이다. 아이를 갖는 것은 시간이라는 연속적인 양을 이산적인 양으로 변환시키는 방법을 알려주었다. 너는 너의 2살짜리 아이와 오직 52주의 시간만을 갖게 된다. 만약 3세에서 10세 사이가 마법같은 크리스마스라면, 자신의 자식이 이를 경험하..
사랑하는 일을 하는 방법(원제: How to do what you love) 출처: http://paulgraham.com/love.html * 처음 이 글을 읽었을 때 참 와 닿는 부분이 많았다. 그런데 영어로 되어있다 보니까 매번 읽을 때마다 시간이 오래 걸리고, 두고두고 시간 날 때마다 보기 위해 내 능력이 닿는 만큼 번역/의역을 해 놓기로 하였다. 번역이 잘 안 되는 부분은 원문을 유지하거나 의역하였으니 혹시 읽으시는 분들이 있으면 참고로만 봤으면 좋겠다. 원글을 읽어보는 것도 추천한다. 2006년 1월 무언가를 잘하기 위해서는 좋아해야 한다는 것은 전혀 새로운 말이 아니다. 간단히 말해서 "사랑하는 일을 해라"이다. 그러나 이렇게 말하는 걸로는 충분하지 않다. 사랑하는 일을 한다는 것은 쉽지 않다. 이 것은 우리가 어렸을 때 배운 것이랑은 좀 거리가 있다. 어렸을 때 나..
사는게 힘드냐고 니체가 물었다 - 피할수 없는 내 운명을 사랑하는 법 요즘 읽고 있는 `사는게 힘드냐고 니체가 물었다` 라는 책에서 나온 구절 한마디가 뼈저리게 공감되었다. 아마 나 뿐만 아니라 많은 사람들이 이 말에 공감할 것이다. “Life swings like a pendulum backward and forward between pain and boredom.”인생은 욕망과 권태 사이를 오가는 시계추와 같다. 회사를 관두고 다시 구직활동을 하는 것을 반복하면서 어느 한 곳에 만족하지 못하는 나를 발견하였다. 직장이 없을 때에는 좋은 직장의 혜택들과 성과금, 그리고 안정적인 월급을 원했고, 막상 회사를 다니는 동안에는 그 무료함을 견디지 못해 하루하루 죽어가는 심정이었다. 남자친구가 없을 때에는 남자친구가 있으므로 해서 좋은 점들, 예를 들면 외롭지 않다, 무언가를 ..